svn commit: branches/uClibc-nptl: ldso/ldso/mips libc/sysdeps/linux/mips l etc...

kraj at uclibc.org kraj at uclibc.org
Wed Jul 9 23:36:43 UTC 2008


Author: kraj
Date: 2008-07-09 16:36:41 -0700 (Wed, 09 Jul 2008)
New Revision: 22725

Log:
Revert the mips related fixed that got in due to the trunk merge and also add pt-__syscall_rt_sigaction.c for mips

Added:
   branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-__syscall_rt_sigaction.c

Modified:
   branches/uClibc-nptl/ldso/ldso/mips/elfinterp.c
   branches/uClibc-nptl/libc/sysdeps/linux/mips/Makefile.arch
   branches/uClibc-nptl/libc/sysdeps/linux/mips/clone.S
   branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/asm.h
   branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch


Changeset:
Modified: branches/uClibc-nptl/ldso/ldso/mips/elfinterp.c
===================================================================
--- branches/uClibc-nptl/ldso/ldso/mips/elfinterp.c	2008-07-09 22:04:37 UTC (rev 22724)
+++ branches/uClibc-nptl/ldso/ldso/mips/elfinterp.c	2008-07-09 23:36:41 UTC (rev 22725)
@@ -55,7 +55,7 @@
 	symname = strtab + sym->st_name;
 
 	new_addr = (unsigned long) _dl_find_hash(symname,
-			tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT);
+			tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL);
 	if (unlikely(!new_addr)) {
 		_dl_dprintf (2, "%s: can't resolve symbol '%s'\n",
 				_dl_progname, symname);
@@ -144,8 +144,8 @@
 				struct elf_resolve *tpnt_tls = tpnt;
 
 				if (ELF32_ST_BIND(symtab[symtab_index].st_info) != STB_LOCAL) {
-					_dl_find_hash2((strtab + symtab[symtab_index].st_name),
-							_dl_symbol_tables, NULL, 1, &sym_tls, &tpnt_tls);
+					_dl_find_hash((strtab + symtab[symtab_index].st_name),
+							_dl_symbol_tables, tpnt_tls, 1, &sym_tls);
 				}
 
 				switch (reloc_type)
@@ -259,12 +259,12 @@
 				}
 				else {
 					*got_entry = (unsigned long) _dl_find_hash(strtab +
-						sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT);
+						sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL);
 				}
 			}
 			else if (sym->st_shndx == SHN_COMMON) {
 				*got_entry = (unsigned long) _dl_find_hash(strtab +
-					sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT);
+					sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL);
 			}
 			else if (ELF_ST_TYPE(sym->st_info) == STT_FUNC &&
 				*got_entry != sym->st_value && tmp_lazy) {
@@ -276,7 +276,7 @@
 			}
 			else {
 				*got_entry = (unsigned long) _dl_find_hash(strtab +
-					sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT);
+					sym->st_name, tpnt->symbol_scope, tpnt, ELF_RTYPE_CLASS_PLT, NULL);
 			}
 
 			got_entry++;

Modified: branches/uClibc-nptl/libc/sysdeps/linux/mips/Makefile.arch
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/mips/Makefile.arch	2008-07-09 22:04:37 UTC (rev 22724)
+++ branches/uClibc-nptl/libc/sysdeps/linux/mips/Makefile.arch	2008-07-09 23:36:41 UTC (rev 22725)
@@ -7,9 +7,13 @@
 
 CSRC := \
 	__longjmp.c  brk.c setjmp_aux.c mmap.c __syscall_error.c \
-	cacheflush.c pread_write.c sysmips.c _test_and_set.c sigaction.c \
+	cacheflush.c pread_write.c sysmips.c _test_and_set.c \
 	readahead.c posix_fadvise.c posix_fadvise64.c
 
+ifneq ($(UCLIBC_HAS_THREADS_NATIVE),y)
+CSRC += sigaction.c
+endif
+
 SSRC := bsd-_setjmp.S bsd-setjmp.S setjmp.S clone.S syscall.S pipe.S
 
 ARCH_HEADERS := sgidefs.h

Modified: branches/uClibc-nptl/libc/sysdeps/linux/mips/clone.S
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/mips/clone.S	2008-07-09 22:04:37 UTC (rev 22724)
+++ branches/uClibc-nptl/libc/sysdeps/linux/mips/clone.S	2008-07-09 23:36:41 UTC (rev 22725)
@@ -125,3 +125,5 @@
 	move		a0,v0
 	jal		HIDDEN_JUMPTARGET(_exit)
 	.end  __thread_start
+weak_alias(clone, __clone)
+

Modified: branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/asm.h
===================================================================
--- branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/asm.h	2008-07-09 22:04:37 UTC (rev 22724)
+++ branches/uClibc-nptl/libc/sysdeps/linux/mips/sys/asm.h	2008-07-09 23:36:41 UTC (rev 22725)
@@ -470,4 +470,20 @@
 # define MTC0	dmtc0
 #endif
 
+/* The MIPS archtectures do not have a uniform memory model.  Particular
+   platforms may provide additional guarantees - for instance, the R4000
+   LL and SC instructions implicitly perform a SYNC, and the 4K promises
+   strong ordering.
+
+   However, in the absence of those guarantees, we must assume weak ordering
+   and SYNC explicitly where necessary.
+
+   Some obsolete MIPS processors may not support the SYNC instruction.  This
+   applies to "true" MIPS I processors; most of the processors which compile
+   using MIPS I implement parts of MIPS II.  */
+
+#ifndef MIPS_SYNC
+# define MIPS_SYNC      sync
+#endif
+
 #endif /* sys/asm.h */

Modified: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch	2008-07-09 22:04:37 UTC (rev 22724)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/Makefile.arch	2008-07-09 23:36:41 UTC (rev 22725)
@@ -6,7 +6,7 @@
 #
 
 libpthread_SSRC = pt-vfork.S
-libpthread_CSRC = pthread_once.c
+libpthread_CSRC = pthread_once.c pt-__syscall_rt_sigaction.c
 
 libc_a_CSRC = fork.c
 

Added: branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-__syscall_rt_sigaction.c
===================================================================
--- branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-__syscall_rt_sigaction.c	                        (rev 0)
+++ branches/uClibc-nptl/libpthread/nptl/sysdeps/unix/sysv/linux/mips/pt-__syscall_rt_sigaction.c	2008-07-09 23:36:41 UTC (rev 22725)
@@ -0,0 +1 @@
+#include <../../../../../../../libc/sysdeps/linux/common/__syscall_rt_sigaction.c>




More information about the uClibc-cvs mailing list