diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2001-10-16 06:33:52 +0000 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2001-10-16 06:33:52 +0000 |
commit | 1e09179fb7a37a1e88353fb93ca12dfb6fdece39 (patch) | |
tree | 59d6b11e163442205d14a95523bdff199f0345dc /bfd/elflink.h | |
parent | 7470a420fc1cd86af92a6f60501eb748ca317a4f (diff) | |
download | gdb-1e09179fb7a37a1e88353fb93ca12dfb6fdece39.zip gdb-1e09179fb7a37a1e88353fb93ca12dfb6fdece39.tar.gz gdb-1e09179fb7a37a1e88353fb93ca12dfb6fdece39.tar.bz2 |
2001-10-15 H.J. Lu <hjl@gnu.org>
* elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE
for relocations against discarded link-once section.
Diffstat (limited to 'bfd/elflink.h')
-rw-r--r-- | bfd/elflink.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/bfd/elflink.h b/bfd/elflink.h index 8a3a4ff..b714d46 100644 --- a/bfd/elflink.h +++ b/bfd/elflink.h @@ -5897,6 +5897,8 @@ elf_link_input_bfd (finfo, input_bfd) asection *o; struct elf_backend_data *bed; boolean emit_relocs; + reloc_howto_type *none_howto; + bfd_vma none_r_info; output_bfd = finfo->output_bfd; bed = get_elf_backend_data (output_bfd); @@ -6068,6 +6070,9 @@ elf_link_input_bfd (finfo, input_bfd) return false; } + none_howto = bfd_reloc_type_lookup (output_bfd, BFD_RELOC_NONE); + none_r_info = ELF_R_INFO (0, none_howto->type); + /* Relocate the contents of each section. */ for (o = input_bfd->sections; o != NULL; o = o->next) { @@ -6146,8 +6151,7 @@ elf_link_input_bfd (finfo, input_bfd) && (sec->flags & SEC_LINK_ONCE) != 0 && bfd_is_abs_section (sec->output_section)) { - long r_type = ELF_R_TYPE (rel->r_info); - rel->r_info = ELF_R_INFO (0, r_type); + rel->r_info = none_r_info; #if BFD_VERSION_DATE > 20021005 (*finfo->info->callbacks->warning) |