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

r4273 - in glibc-package/trunk/debian: . patches patches/mips



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 <aurel32@debian.org>  Wed, 19 May 2010 19:53:13 +0200
+ -- Aurelien Jarno <aurel32@debian.org>  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  <aurelien@aurel32.net>
+
+	* 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


Reply to: