This fixes a problem for 64-bit Cygwin, where building some packages can

produce spurious errors about truncated relocations.  The relocations are
only truncated because they are being made against sections which are going
to be discarded so that base address is zero instead of the expected 64-bit
base value.

	* cofflink.c (_bfd_coff_generic_relocate_section): Skip
	relocations in discarded sections.
This commit is contained in:
Nick Clifton 2014-03-26 16:16:20 +00:00
parent 318d3177f7
commit 55bfc9ac02
2 changed files with 10 additions and 0 deletions

View file

@ -1,3 +1,8 @@
2014-03-26 Nick Clifton <nickc@redhat.com>
* cofflink.c (_bfd_coff_generic_relocate_section): Skip
relocations in discarded sections.
2014-03-26 Tristan Gingold <gingold@adacore.com>
* mach-o.c (bfd_mach_o_convert_architecture): Add

View file

@ -3059,6 +3059,11 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
else
{
sec = sections[symndx];
/* If the output section has been discarded then ignore this reloc. */
if (sec->output_section->vma == 0)
continue;
val = (sec->output_section->vma
+ sec->output_offset
+ sym->n_value);