[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Commits] r15574 - in /fsf/trunk/ports: ./ sysdeps/arm/ sysdeps/m68k/m680x0/fpu/ sysdeps/unix/arm/



Author: eglibc
Date: Wed Oct 26 16:24:41 2011
New Revision: 15574

Log:
Import glibc-ports-mainline for 2011-10-26

Added:
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/math_private.h
    fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/sincostab.c
Modified:
    fsf/trunk/ports/ChangeLog.arm
    fsf/trunk/ports/ChangeLog.m68k
    fsf/trunk/ports/sysdeps/arm/dl-machine.h
    fsf/trunk/ports/sysdeps/unix/arm/sysdep.S

Modified: fsf/trunk/ports/ChangeLog.arm
==============================================================================
--- fsf/trunk/ports/ChangeLog.arm (original)
+++ fsf/trunk/ports/ChangeLog.arm Wed Oct 26 16:24:41 2011
@@ -1,3 +1,8 @@
+2011-10-26  Joseph Myers  <joseph@xxxxxxxxxxxxxxxx>
+
+	* sysdeps/arm/dl-machine.h, sysdeps/unix/arm/sysdep.S: Restore
+	cases for use in rtld.
+
 2011-10-05  Andreas Schwab  <schwab@xxxxxxxxxx>
 
 	* sysdeps/arm/dl-machine.h (elf_machine_rel, elf_machine_rela)

Modified: fsf/trunk/ports/ChangeLog.m68k
==============================================================================
--- fsf/trunk/ports/ChangeLog.m68k (original)
+++ fsf/trunk/ports/ChangeLog.m68k Wed Oct 26 16:24:41 2011
@@ -1,3 +1,9 @@
+2011-10-26  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
+
+	* sysdeps/m68k/m680x0/fpu/math_private.h: New file.
+
+	* sysdeps/m68k/m680x0/fpu/sincostab.c: New file.
+
 2011-10-23  Andreas Schwab  <schwab@xxxxxxxxxxxxxx>
 
 	* sysdeps/m68k/coldfire/fpu/e_sqrt.c: Add __sqrt_finite alias.

Modified: fsf/trunk/ports/sysdeps/arm/dl-machine.h
==============================================================================
--- fsf/trunk/ports/sysdeps/arm/dl-machine.h (original)
+++ fsf/trunk/ports/sysdeps/arm/dl-machine.h Wed Oct 26 16:24:41 2011
@@ -242,12 +242,18 @@
    define the value.
    ELF_RTYPE_CLASS_NOCOPY iff TYPE should not be allowed to resolve to one
    of the main executable's symbols, as for a COPY reloc.  */
-#define elf_machine_type_class(type) \
+#ifndef RTLD_BOOTSTRAP
+# define elf_machine_type_class(type) \
   ((((type) == R_ARM_JUMP_SLOT || (type) == R_ARM_TLS_DTPMOD32		\
      || (type) == R_ARM_TLS_DTPOFF32 || (type) == R_ARM_TLS_TPOFF32	\
      || (type) == R_ARM_TLS_DESC)					\
     * ELF_RTYPE_CLASS_PLT)						\
    | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY))
+#else
+#define elf_machine_type_class(type) \
+  ((((type) == R_ARM_JUMP_SLOT) * ELF_RTYPE_CLASS_PLT)	\
+   | (((type) == R_ARM_COPY) * ELF_RTYPE_CLASS_COPY))
+#endif
 
 /* A reloc type used for ld.so cmdline arg lookups to reject PLT entries.  */
 #define ELF_MACHINE_JMP_SLOT	R_ARM_JUMP_SLOT

Added: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/math_private.h
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/math_private.h (added)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/math_private.h Wed Oct 26 16:24:41 2011
@@ -1,0 +1,19 @@
+#ifndef _MATH_PRIVATE_H
+
+#define math_opt_barrier(x) \
+({ __typeof (x) __x;					\
+   __asm ("" : "=f" (__x) : "0" (x));			\
+   __x; })
+#define math_force_eval(x) \
+do							\
+  {							\
+    __typeof (x) __x = (x);				\
+    if (sizeof (x) <= sizeof (double))			\
+      __asm __volatile ("" : : "m" (__x));		\
+    else						\
+      __asm __volatile ("" : : "f" (__x));		\
+  }							\
+while (0)
+
+#include <math/math_private.h>
+#endif

Added: fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/sincostab.c
==============================================================================
--- fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/sincostab.c (added)
+++ fsf/trunk/ports/sysdeps/m68k/m680x0/fpu/sincostab.c Wed Oct 26 16:24:41 2011
@@ -1,0 +1,1 @@
+/* Not needed.  */

Modified: fsf/trunk/ports/sysdeps/unix/arm/sysdep.S
==============================================================================
--- fsf/trunk/ports/sysdeps/unix/arm/sysdep.S (original)
+++ fsf/trunk/ports/sysdeps/unix/arm/sysdep.S Wed Oct 26 16:24:41 2011
@@ -42,6 +42,7 @@
 	moveq r0, $EAGAIN	/* Yes; translate it to EAGAIN.  */
 #endif
 
+#ifndef IS_IN_rtld
 	mov ip, lr
 	cfi_register (lr, ip)
 	mov r1, r0
@@ -57,6 +58,16 @@
 	RETINSTR (, ip)
 
 1:	.word errno(gottpoff) + (. - 2b - 8)
+#elif RTLD_PRIVATE_ERRNO
+	ldr r1, 1f
+0:	str r0, [pc, r1]
+	mvn r0, $0
+	DO_RET(r14)
+
+1:	.word C_SYMBOL_NAME(rtld_errno) - 0b - 8
+#else
+#error "Unsupported non-TLS case"
+#endif
 
 #undef	__syscall_error
 END (__syscall_error)

_______________________________________________
Commits mailing list
Commits@xxxxxxxxxx
http://eglibc.org/cgi-bin/mailman/listinfo/commits