diff options
author | Nick Clifton <nickc@redhat.com> | 2014-03-26 16:16:20 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 2014-03-26 16:16:20 +0000 |
commit | 55bfc9ac025c1c9cd1ad5422829b3dc70f357a79 (patch) | |
tree | 3eaf78d55a1d539773b2e0cebe719fdd6a59c2db | |
parent | 318d3177f7d67dac94baa07aab04192fc7bcba49 (diff) | |
download | gdb-55bfc9ac025c1c9cd1ad5422829b3dc70f357a79.zip gdb-55bfc9ac025c1c9cd1ad5422829b3dc70f357a79.tar.gz gdb-55bfc9ac025c1c9cd1ad5422829b3dc70f357a79.tar.bz2 |
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.
-rw-r--r-- | bfd/ChangeLog | 5 | ||||
-rw-r--r-- | bfd/cofflink.c | 5 |
2 files changed, 10 insertions, 0 deletions
diff --git a/bfd/ChangeLog b/bfd/ChangeLog index aaba406..f2b5f9c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -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 diff --git a/bfd/cofflink.c b/bfd/cofflink.c index 75ef7af..bfb1ebb 100644 --- a/bfd/cofflink.c +++ b/bfd/cofflink.c @@ -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); |