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:
parent
318d3177f7
commit
55bfc9ac02
2 changed files with 10 additions and 0 deletions
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue