diff options
author | Dave Korn <dave.korn@artimi.com> | 2011-10-13 02:34:35 +0000 |
---|---|---|
committer | Dave Korn <dave.korn@artimi.com> | 2011-10-13 02:34:35 +0000 |
commit | 4180948a3187d7741af0e59138fe6a5a60d2ba37 (patch) | |
tree | e2afcb835acce699f6a46ef797cf1f9a29e87ed0 /ld/pe-dll.c | |
parent | f47fef08ad55b7bcb59021445d28dc6e1f17e9ad (diff) | |
download | binutils-redhat-4180948a3187d7741af0e59138fe6a5a60d2ba37.tar.gz |
* pe-dll.c (generate_reloc): Don't emit a base reloc for an
underlying BFD reloc that will be discarded in eh_frame data.
Diffstat (limited to 'ld/pe-dll.c')
-rw-r--r-- | ld/pe-dll.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/ld/pe-dll.c b/ld/pe-dll.c index 7848063f21..ce0ab5d2ea 100644 --- a/ld/pe-dll.c +++ b/ld/pe-dll.c @@ -1395,6 +1395,15 @@ generate_reloc (bfd *abfd, struct bfd_link_info *info) else if (!blhe || blhe->type != bfd_link_hash_defined) continue; } + /* Nor for Dwarf FDE references to discarded sections. */ + else if (bfd_is_abs_section (sym->section->output_section)) + { + /* We only ignore relocs from .eh_frame sections, as + they are discarded by the final link rather than + resolved against the kept section. */ + if (!strcmp (s->name, ".eh_frame")) + continue; + } reloc_data[total_relocs].vma = sec_vma + relocs[i]->address; |