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

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: