This is the mail archive of the
glibc-bugs@sourceware.org
mailing list for the glibc project.
[Bug dynamic-link/14341] Dynamic linker crash when DT_JMPREL and DT_REL{,A} are not contiguous
- From: "mh-sourceware at glandium dot org" <sourceware-bugzilla at sourceware dot org>
- To: glibc-bugs at sources dot redhat dot com
- Date: Mon, 09 Jul 2012 16:13:46 +0000
- Subject: [Bug dynamic-link/14341] Dynamic linker crash when DT_JMPREL and DT_REL{,A} are not contiguous
- Auto-submitted: auto-generated
- References: <bug-14341-131@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14341
--- Comment #3 from Mike Hommey <mh-sourceware at glandium dot org> 2012-07-09 16:13:46 UTC ---
(In reply to comment #2)
> Can you please use the recently released 2.16?
>
> Can you please update Version in this issue to reflect the true version you
> areusing.
>
> We already knew about this failure and fixed it on April 10th as part of:
> http://sourceware.org/bugzilla/show_bug.cgi?id=13967
>
> I may have missed something, but I expected this to be fixed.
I'm using the version that's including that fix, but it still crashes.
The following fixes it (which, in practice, mostly reverts
96154cd892c614f13f32996ce75df1442641fb5b) :
--- glibc-2.16.0/elf/dynamic-link.h 2012-06-30 21:12:34.000000000 +0200
+++ glibc-2.16.0.fixed/elf/dynamic-link.h 2012-07-09 10:35:50.579168312
+0200
@@ -280,7 +280,8 @@
\
if (ranges[0].start + ranges[0].size == (start + size)) \
ranges[0].size -= size; \
- if (! ELF_DURING_STARTUP && ((do_lazy) || ranges[0].size == 0)) \
+ if ((! ELF_DURING_STARTUP && ((do_lazy) || ranges[0].size == 0)) || \
+ (ranges[0].start + ranges[0].size != start)) \
{ \
ranges[1].start = start; \
ranges[1].size = size; \
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.