r3408 - in glibc-package/trunk/debian: . patches patches/hurd-i386
Author: sthibaul-guest
Date: 2009-04-17 09:04:16 +0000 (Fri, 17 Apr 2009)
New Revision: 3408
Added:
glibc-package/trunk/debian/patches/hurd-i386/cvs-rtld.diff
Modified:
glibc-package/trunk/debian/changelog
glibc-package/trunk/debian/patches/series
Log:
* hurd-i386/cvs-rtld.diff: new patch, fixes boot of glibc built with
binutils >= 2.19.
Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog 2009-04-16 06:18:16 UTC (rev 3407)
+++ glibc-package/trunk/debian/changelog 2009-04-17 09:04:16 UTC (rev 3408)
@@ -10,6 +10,10 @@
* kfreebsd/local-sysdeps.diff: update to revision 2450 (from glibc-bsd).
Closes: #522686. Thanks to Jan Christoph Nordholz.
+ [ Samuel Thibault ]
+ * hurd-i386/cvs-rtld.diff: new patch, fixes boot of glibc built with
+ binutils >= 2.19.
+
-- Aurelien Jarno <aurel32@debian.org> Wed, 08 Apr 2009 10:42:05 +0200
glibc (2.9-7) unstable; urgency=low
Added: glibc-package/trunk/debian/patches/hurd-i386/cvs-rtld.diff
===================================================================
--- glibc-package/trunk/debian/patches/hurd-i386/cvs-rtld.diff (rev 0)
+++ glibc-package/trunk/debian/patches/hurd-i386/cvs-rtld.diff 2009-04-17 09:04:16 UTC (rev 3408)
@@ -0,0 +1,49 @@
+2009-04-16 Samuel Thibault <samuel.thibault@ens-lyon.org>
+
+ * elf/rtld.c (dl_main): Really call _dl_sysdep_start_cleanup after all
+ calls to _dl_relocate_object.
+
+Index: glibc/elf/rtld.c
+===================================================================
+RCS file: /cvs/glibc/libc/elf/rtld.c,v
+retrieving revision 1.382
+diff -u -p -r1.382 rtld.c
+--- glibc/elf/rtld.c 1 Apr 2009 00:26:18 -0000 1.382
++++ glibc/elf/rtld.c 16 Apr 2009 01:46:07 -0000
+@@ -2181,8 +2181,6 @@ dl_main()
+ if (l->l_tls_blocksize != 0 && tls_init_tp_called)
+ _dl_add_to_slotinfo (l);
+ }
+-
+- _dl_sysdep_start_cleanup ();
+ }
+ else
+ {
+@@ -2237,13 +2235,6 @@ dl_main()
+
+ HP_TIMING_DIFF (relocate_time, start, stop);
+
+- /* Do any necessary cleanups for the startup OS interface code.
+- We do these now so that no calls are made after rtld re-relocation
+- which might be resolved to different functions than we expect.
+- We cannot do this before relocating the other objects because
+- _dl_relocate_object might need to call `mprotect' for DT_TEXTREL. */
+- _dl_sysdep_start_cleanup ();
+-
+ /* Now enable profiling if needed. Like the previous call,
+ this has to go here because the calls it makes should use the
+ rtld versions of the functions (particularly calloc()), but it
+@@ -2299,6 +2290,13 @@ dl_main()
+ HP_TIMING_ACCUM_NT (relocate_time, add);
+ }
+
++ /* Do any necessary cleanups for the startup OS interface code.
++ We do these now so that no calls are made after rtld re-relocation
++ which might be resolved to different functions than we expect.
++ We cannot do this before relocating the other objects because
++ _dl_relocate_object might need to call `mprotect' for DT_TEXTREL. */
++ _dl_sysdep_start_cleanup ();
++
+ #ifdef SHARED
+ /* Auditing checkpoint: we have added all objects. */
+ if (__builtin_expect (GLRO(dl_naudit) > 0, 0))
Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series 2009-04-16 06:18:16 UTC (rev 3407)
+++ glibc-package/trunk/debian/patches/series 2009-04-17 09:04:16 UTC (rev 3408)
@@ -101,6 +101,7 @@
hurd-i386/submitted-itimer-lock.diff
hurd-i386/local-pthread_types.diff
hurd-i386/cvs-strerror_l.diff
+hurd-i386/cvs-rtld.diff
i386/local-biarch.diff
i386/local-clone.diff
Reply to: