Author: aurel32
Date: 2010-05-20 09:55:35 +0000 (Thu, 20 May 2010)
New Revision: 4273

Added:
   glibc-package/trunk/debian/patches/mips/submitted-rld_map.diff
Modified:
   glibc-package/trunk/debian/changelog
   glibc-package/trunk/debian/patches/series
Log:
  * debian/patches/mips/submitted-rld_map.diff: don't segfault for MIPS
    binaries with RLD_MAP set to 0. Closes: #579917.




Modified: glibc-package/trunk/debian/changelog
===================================================================
--- glibc-package/trunk/debian/changelog        2010-05-19 21:02:51 UTC (rev 
4272)
+++ glibc-package/trunk/debian/changelog        2010-05-20 09:55:35 UTC (rev 
4273)
@@ -15,8 +15,10 @@
     Closes: #578870.
   * debian/script.in/nsscheck.sh: correctly detect stopped and running 
     services. Closes: #573247, #575868.
+  * debian/patches/mips/submitted-rld_map.diff: don't segfault for MIPS
+    binaries with RLD_MAP set to 0. Closes: #579917.
 
- -- Aurelien Jarno <[email protected]>  Wed, 19 May 2010 19:53:13 +0200
+ -- Aurelien Jarno <[email protected]>  Thu, 20 May 2010 11:53:51 +0200
 
 eglibc (2.10.2-8) unstable; urgency=low
 

Added: glibc-package/trunk/debian/patches/mips/submitted-rld_map.diff
===================================================================
--- glibc-package/trunk/debian/patches/mips/submitted-rld_map.diff              
                (rev 0)
+++ glibc-package/trunk/debian/patches/mips/submitted-rld_map.diff      
2010-05-20 09:55:35 UTC (rev 4273)
@@ -0,0 +1,19 @@
+2010-05-20  Aurelien Jarno  <[email protected]>
+
+       * sysdeps/mips/dl-machine.h (ELF_MACHINE_DEBUG_SETUP): test for
+       RLD_MAP pointer before using it.
+
+diff --git a/ports/sysdeps/mips/dl-machine.h b/ports/sysdeps/mips/dl-machine.h
+index 123b4d6..3bed59c 100644
+--- a/ports/sysdeps/mips/dl-machine.h
++++ b/ports/sysdeps/mips/dl-machine.h
+@@ -70,7 +70,8 @@
+ /* If there is a DT_MIPS_RLD_MAP entry in the dynamic section, fill it in
+    with the run-time address of the r_debug structure  */
+ #define ELF_MACHINE_DEBUG_SETUP(l,r) \
+-do { if ((l)->l_info[DT_MIPS (RLD_MAP)]) \
++do { if ((l)->l_info[DT_MIPS (RLD_MAP)] && \
++       (l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) \
+        *(ElfW(Addr) *)((l)->l_info[DT_MIPS (RLD_MAP)]->d_un.d_ptr) = \
+        (ElfW(Addr)) (r); \
+    } while (0)

Modified: glibc-package/trunk/debian/patches/series
===================================================================
--- glibc-package/trunk/debian/patches/series   2010-05-19 21:02:51 UTC (rev 
4272)
+++ glibc-package/trunk/debian/patches/series   2010-05-20 09:55:35 UTC (rev 
4273)
@@ -140,6 +140,7 @@
 
 mips/local-lazy-eval.diff
 mips/local-r10k.diff
+mips/submitted-rld_map.diff
 
 s390/submitted-nexttowardf.diff
 s390/submitted-siginfo.diff


-- 
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]
Archive: http://lists.debian.org/[email protected]

Reply via email to