From 1e09179fb7a37a1e88353fb93ca12dfb6fdece39 Mon Sep 17 00:00:00 2001 From: "H.J. Lu" Date: Tue, 16 Oct 2001 06:33:52 +0000 Subject: [PATCH] 2001-10-15 H.J. Lu * elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE for relocations against discarded link-once section. --- bfd/ChangeLog | 5 +++++ bfd/elflink.h | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 634843d..99c1727 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2001-10-15 H.J. Lu + + * elflink.h (elf_link_input_bfd): Set type to BFD_RELOC_NONE + for relocations against discarded link-once section. + 2001-10-15 Alan Modra * elf32-i386.c (elf_i386_relocate_section): Report some detail on 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) -- 2.7.4