diff options
author | Alan Modra <amodra@gmail.com> | 2012-03-25 06:45:16 +0000 |
---|---|---|
committer | Alan Modra <amodra@gmail.com> | 2012-03-25 06:45:16 +0000 |
commit | b514e6a51fefb7dde379f595b76dd9113e132487 (patch) | |
tree | 8e00f7fd72dca626b544b5b1c5b3c832afc8b2a8 | |
parent | 8f784a0e6ad19b9cd7afc9a67d7ee39a5f5f94cf (diff) | |
download | fsf-binutils-gdb-b514e6a51fefb7dde379f595b76dd9113e132487.zip fsf-binutils-gdb-b514e6a51fefb7dde379f595b76dd9113e132487.tar.gz fsf-binutils-gdb-b514e6a51fefb7dde379f595b76dd9113e132487.tar.bz2 |
ld/
* ldemul.c (before_allocation_default): Revert last change.
ldlang.c (lang_add_section): Likewise.
(strip_excluded_output_sections): Don't strip output sections with
user input sections when emitrelocations, unless all are SEC_EXCLUDE.
ld/testsuite/
* ld-powerpc/vxworks-relax.rd: Remove check on reloc section
file offset and reloc symbol indices.
-rw-r--r-- | ld/ChangeLog | 7 | ||||
-rw-r--r-- | ld/ldemul.c | 2 | ||||
-rw-r--r-- | ld/ldlang.c | 6 | ||||
-rw-r--r-- | ld/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | ld/testsuite/ld-powerpc/vxworks-relax.rd | 14 |
5 files changed, 23 insertions, 11 deletions
diff --git a/ld/ChangeLog b/ld/ChangeLog index 4b9d324..f3b8095 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,3 +1,10 @@ +2012-03-25 Alan Modra <amodra@gmail.com> + + * ldemul.c (before_allocation_default): Revert last change. + ldlang.c (lang_add_section): Likewise. + (strip_excluded_output_sections): Don't strip output sections with + user input sections when emitrelocations, unless all are SEC_EXCLUDE. + 2012-03-23 Alan Modra <amodra@gmail.com> * ldemul.c (before_allocation_default): When emitrelocations, diff --git a/ld/ldemul.c b/ld/ldemul.c index 5e2fd82..85baeab 100644 --- a/ld/ldemul.c +++ b/ld/ldemul.c @@ -237,7 +237,7 @@ after_allocation_default (void) void before_allocation_default (void) { - if (!link_info.relocatable && !link_info.emitrelocations) + if (!link_info.relocatable) strip_excluded_output_sections (); } diff --git a/ld/ldlang.c b/ld/ldlang.c index 73e0179..b0c23cb 100644 --- a/ld/ldlang.c +++ b/ld/ldlang.c @@ -2380,7 +2380,6 @@ lang_add_section (lang_statement_list_type *ptr, section->output_section = output->bfd_section; if (!link_info.relocatable - && !link_info.emitrelocations && !stripped_excluded_sections) { asection *s = output->bfd_section->map_tail.s; @@ -3887,8 +3886,9 @@ strip_excluded_output_sections (void) asection *s; for (s = output_section->map_head.s; s != NULL; s = s->map_head.s) - if ((s->flags & SEC_LINKER_CREATED) != 0 - && (s->flags & SEC_EXCLUDE) == 0) + if ((s->flags & SEC_EXCLUDE) == 0 + && ((s->flags & SEC_LINKER_CREATED) != 0 + || link_info.emitrelocations)) { exclude = FALSE; break; diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog index 42c04ff..dc8643b 100644 --- a/ld/testsuite/ChangeLog +++ b/ld/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2012-03-25 Alan Modra <amodra@gmail.com> + + * ld-powerpc/vxworks-relax.rd: Remove check on reloc section + file offset and reloc symbol indices. + 2012-03-21 Hans-Peter Nilsson <hp@axis.com> PR ld/13813 diff --git a/ld/testsuite/ld-powerpc/vxworks-relax.rd b/ld/testsuite/ld-powerpc/vxworks-relax.rd index e28094c..572c74d 100644 --- a/ld/testsuite/ld-powerpc/vxworks-relax.rd +++ b/ld/testsuite/ld-powerpc/vxworks-relax.rd @@ -1,9 +1,9 @@ -Relocation section '.rela.text' at offset 0x4010150 contains 6 entries: +Relocation section '.rela.text' at offset .* contains 6 entries: Offset Info Type Sym.Value Sym. Name \+ Addend -00080012 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 -00080016 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 -00080006 00000106 R_PPC_ADDR16_HA 00080000 .text \+ 4000020 -0008000a 00000104 R_PPC_ADDR16_LO 00080000 .text \+ 4000020 -0408002a 00000306 R_PPC_ADDR16_HA 00080000 _start \+ 0 -0408002e 00000304 R_PPC_ADDR16_LO 00080000 _start \+ 0 +00080012 .* R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +00080016 .* R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +00080006 .* R_PPC_ADDR16_HA 00080000 .text \+ 4000020 +0008000a .* R_PPC_ADDR16_LO 00080000 .text \+ 4000020 +0408002a .* R_PPC_ADDR16_HA 00080000 _start \+ 0 +0408002e .* R_PPC_ADDR16_LO 00080000 _start \+ 0 |