This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] Fix dynamic linker issue with bind-now


Fix the bind-now case when DT_REL and DT_JMPREL sections are separate
and there is a gap between them.
---
 elf/dynamic-link.h |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 7b3e295..d5dea8e 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -133,7 +133,9 @@ elf_machine_lazy_rel (struct link_map *map,
 									      \
 	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;					      \
-- 
1.7.9.5


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]