* 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.
This commit is contained in:
Alan Modra 2012-03-25 06:45:16 +00:00
parent 8f784a0e6a
commit b514e6a51f
5 changed files with 23 additions and 11 deletions

View File

@ -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,

View File

@ -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 ();
}

View File

@ -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;

View File

@ -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

View File

@ -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