From b32d3aa2a05c297fcc8fa04c6b4c1345c6c291ad Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Tue, 16 Nov 2004 10:08:00 +0000 Subject: [PATCH] * elf32-arm.c (elf32_arm_relocate_section): Use arm_real_reloc_type. --- bfd/ChangeLog | 5 +++++ bfd/elf32-arm.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index c94289f0ea..cfebb8cfbb 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,8 @@ +2004-11-15 Mark Mitchell + + * elf32-arm.c (elf32_arm_relocate_section): Use + arm_real_reloc_type. + 2004-11-16 Richard Sandiford * elfxx-mips.c (mips_elf_create_dynamic_relocation): Return early diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c index 00be3b31d6..53b4ac11cd 100644 --- a/bfd/elf32-arm.c +++ b/bfd/elf32-arm.c @@ -3064,12 +3064,14 @@ elf32_arm_relocate_section (bfd * output_bfd, Elf_Internal_Rela *rel; Elf_Internal_Rela *relend; const char *name; + struct elf32_arm_link_hash_table * globals; #if !USE_REL if (info->relocatable) return TRUE; #endif + globals = elf32_arm_hash_table (info); symtab_hdr = & elf_tdata (input_bfd)->symtab_hdr; sym_hashes = elf_sym_hashes (input_bfd); @@ -3089,12 +3091,13 @@ elf32_arm_relocate_section (bfd * output_bfd, r_symndx = ELF32_R_SYM (rel->r_info); r_type = ELF32_R_TYPE (rel->r_info); + r_type = arm_real_reloc_type (globals, r_type); if ( r_type == R_ARM_GNU_VTENTRY || r_type == R_ARM_GNU_VTINHERIT) continue; - elf32_arm_info_to_howto (input_bfd, & bfd_reloc, rel); + bfd_reloc.howto = elf32_arm_howto_from_type (r_type); howto = bfd_reloc.howto; #if USE_REL