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 <aure...@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.thiba...@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


-- 
To UNSUBSCRIBE, email to debian-glibc-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to