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