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

[commits] r14560 - in /fsf/trunk/libc: ./ elf/ nptl/ sysdeps/i386/i686/multiarch/



Author: eglibc
Date: Fri Jul 15 00:02:09 2011
New Revision: 14560

Log:
Import glibc-mainline for 2011-07-15

Modified:
    fsf/trunk/libc/ChangeLog
    fsf/trunk/libc/Makefile
    fsf/trunk/libc/configure
    fsf/trunk/libc/configure.in
    fsf/trunk/libc/elf/Makefile
    fsf/trunk/libc/nptl/ChangeLog
    fsf/trunk/libc/nptl/allocatestack.c
    fsf/trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c

Modified: fsf/trunk/libc/ChangeLog
==============================================================================
--- fsf/trunk/libc/ChangeLog (original)
+++ fsf/trunk/libc/ChangeLog Fri Jul 15 00:02:09 2011
@@ -1,3 +1,16 @@
+2011-07-14  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* Makefile ($(common-objpfx)linkobj/libc.so): Use $(shlib-lds) instead
+	of $(common-objpfx)shlib.lds.
+	* elf/Makefile ($(objpfx)sotruss-lib.so): Likewise.
+
+	* sysdeps/i386/i686/multiarch/strstr-c.c (libc_hidden_builtin_def):
+	Conditionalize redefinition on [SHARED && DO_VERSIONING && !NO_HIDDEN].
+
+	* configure.in (-z relro check): Adjust test code to add a large
+	writable data section after it.
+	* configure: Regenerated.
+
 2011-07-11  Roland McGrath  <roland@xxxxxxxxxxxxx>
 
 	* configure.in (-z relro check): Fix test code to make the variable

Modified: fsf/trunk/libc/Makefile
==============================================================================
--- fsf/trunk/libc/Makefile (original)
+++ fsf/trunk/libc/Makefile Fri Jul 15 00:02:09 2011
@@ -143,7 +143,7 @@
 				 $(elfobjdir)/sofini.os \
 				 $(elfobjdir)/interp.os \
 				 $(elfobjdir)/ld.so \
-				 $(common-objpfx)shlib.lds
+				 $(shlib-lds)
 	$(build-shlib)
 
 $(common-objpfx)linkobj/libc_pic.a: $(common-objpfx)libc_pic.a \

Modified: fsf/trunk/libc/configure
==============================================================================
--- fsf/trunk/libc/configure (original)
+++ fsf/trunk/libc/configure Fri Jul 15 00:02:09 2011
@@ -6404,7 +6404,14 @@
 
 int _start (void) { return 42; }
 extern void _exit (int);
+/* Since these pointers are const, they should go in rodata.
+   Since they refer to functions that have to be resolved by
+   dynamic linking, they should instead go in RELRO data.  */
 const void *const relro[] = { &_start, &_exit, 0 };
+/* GNU ld fails to produce RELRO data when it's very small and there is no
+   normal writable data following it, or if only uninitialized (.bss) data
+   follows it, or only very small writable data.  */
+int data[0x10000] = { 1, };
 
 _ACEOF
     cat > conftest.awk <<\EOF

Modified: fsf/trunk/libc/configure.in
==============================================================================
--- fsf/trunk/libc/configure.in (original)
+++ fsf/trunk/libc/configure.in Fri Jul 15 00:02:09 2011
@@ -1607,7 +1607,14 @@
     AC_LANG_CONFTEST([AC_LANG_SOURCE([[
 int _start (void) { return 42; }
 extern void _exit (int);
+/* Since these pointers are const, they should go in rodata.
+   Since they refer to functions that have to be resolved by
+   dynamic linking, they should instead go in RELRO data.  */
 const void *const relro[] = { &_start, &_exit, 0 };
+/* GNU ld fails to produce RELRO data when it's very small and there is no
+   normal writable data following it, or if only uninitialized (.bss) data
+   follows it, or only very small writable data.  */
+int data[0x10000] = { 1, };
 ]])])
     cat > conftest.awk <<\EOF
 BEGIN {

Modified: fsf/trunk/libc/elf/Makefile
==============================================================================
--- fsf/trunk/libc/elf/Makefile (original)
+++ fsf/trunk/libc/elf/Makefile Fri Jul 15 00:02:09 2011
@@ -178,7 +178,7 @@
 install-bin-script += sotruss
 generated += sotruss
 CPPFLAGS-sotruss-lib = -DNOT_IN_libc
-$(objpfx)sotruss-lib.so: $(objpfx)sotruss-lib.os $(common-objpfx)shlib.lds
+$(objpfx)sotruss-lib.so: $(objpfx)sotruss-lib.os
 	$(build-module-asneeded)
 $(objpfx)sotruss-lib.so: $(common-objpfx)libc.so $(objpfx)ld.so \
 	$(common-objpfx)libc_nonshared.a
@@ -354,6 +354,8 @@
 
 # Command to link into a larger single relocatable object.
 reloc-link = $(LINK.o) -nostdlib -nostartfiles -r
+
+$(objpfx)sotruss-lib.so: $(shlib-lds)
 
 $(objpfx)dl-allobjs.os: $(all-rtld-routines:%=$(objpfx)%.os)
 	$(reloc-link) -o $@ $^

Modified: fsf/trunk/libc/nptl/ChangeLog
==============================================================================
--- fsf/trunk/libc/nptl/ChangeLog (original)
+++ fsf/trunk/libc/nptl/ChangeLog Fri Jul 15 00:02:09 2011
@@ -1,3 +1,8 @@
+2011-07-14  Roland McGrath  <roland@xxxxxxxxxxxxx>
+
+	* allocatestack.c (__reclaim_stacks): Use uintptr_t cast rather than
+	UINTMAX_C.
+
 2011-06-30  Ulrich Drepper  <drepper@xxxxxxxxx>
 
 	* nptl-init.c (__nptl_set_robust): New function.

Modified: fsf/trunk/libc/nptl/allocatestack.c
==============================================================================
--- fsf/trunk/libc/nptl/allocatestack.c (original)
+++ fsf/trunk/libc/nptl/allocatestack.c Fri Jul 15 00:02:09 2011
@@ -824,7 +824,7 @@
   if (in_flight_stack != 0)
     {
       bool add_p = in_flight_stack & 1;
-      list_t *elem = (list_t *) (in_flight_stack & ~UINTMAX_C (1));
+      list_t *elem = (list_t *) (in_flight_stack & ~(uintptr_t) 1);
 
       if (add_p)
 	{

Modified: fsf/trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c
==============================================================================
--- fsf/trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c (original)
+++ fsf/trunk/libc/sysdeps/i386/i686/multiarch/strstr-c.c Fri Jul 15 00:02:09 2011
@@ -1,9 +1,11 @@
 #include "init-arch.h"
 
 #define STRSTR __strstr_ia32
+#if defined SHARED && defined DO_VERSIONING && !defined NO_HIDDEN
 #undef libc_hidden_builtin_def
 #define libc_hidden_builtin_def(name) \
   __hidden_ver1 (__strstr_ia32, __GI_strstr, __strstr_ia32);
+#endif
 
 #include "string/strstr.c"