about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--elf/dynamic-link.h9
2 files changed, 6 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 91e836149c..0544a89ab4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-04-07  Carlos O'Donell  <carlos_odonell@mentor.com>
+
+	* elf/dynamic-link.h (_ELF_DYNAMIC_DO_RELOC): Simplify
+	conditions and remove no longer applicable assertion.
+
 2012-04-06  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* bits/byteswap.h (__bswap_16): Removed.
diff --git a/elf/dynamic-link.h b/elf/dynamic-link.h
index 310ad5e66e..ef01c61f3e 100644
--- a/elf/dynamic-link.h
+++ b/elf/dynamic-link.h
@@ -278,13 +278,7 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
 									      \
 	if (__builtin_expect (ranges[0].size, 1))			      \
 	  ranges[0].size = (start - ranges[0].start);			      \
-	if (! ELF_DURING_STARTUP					      \
-	    && ((do_lazy)						      \
-		/* This test does not only detect whether the relocation      \
-		   sections are in the right order, it also checks whether    \
-		   there is a DT_REL/DT_RELA section.  */		      \
-		|| __builtin_expect (ranges[0].start + ranges[0].size	      \
-				     != start, 0)))			      \
+	if (! ELF_DURING_STARTUP && ((do_lazy) || ranges[0].size == 0))	      \
 	  {								      \
 	    ranges[1].start = start;					      \
 	    ranges[1].size = (map)->l_info[DT_PLTRELSZ]->d_un.d_val;	      \
@@ -293,7 +287,6 @@ elf_get_dynamic_info (struct link_map *l, ElfW(Dyn) *temp)
 	else								      \
 	  {								      \
 	    /* Combine processing the sections.  */			      \
-	    assert (ranges[0].start + ranges[0].size == start);		      \
 	    ranges[0].size += (map)->l_info[DT_PLTRELSZ]->d_un.d_val;	      \
 	  }								      \
       }									      \