From 955af222322a28b6fb3f751a8181127cc715ad89 Mon Sep 17 00:00:00 2001 From: Phil Blundell Date: Fri, 23 Apr 2004 19:12:55 +0000 Subject: 2004-04-21 Philip Blundell * elf32-arm.h (elf32_arm_check_relocs): Don't output REL32 relocs for locally defined symbols during -shared final link. (elf32_arm_final_link_relocate): Likewise. --- bfd/elf32-arm.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'bfd/elf32-arm.h') diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h index 39864d4..d6857d4 100644 --- a/bfd/elf32-arm.h +++ b/bfd/elf32-arm.h @@ -1361,6 +1361,8 @@ elf32_arm_final_link_relocate (howto, input_bfd, output_bfd, into the output file to be resolved at run time. */ if (info->shared && (input_section->flags & SEC_ALLOC) + && (r_type != R_ARM_REL32 + || !SYMBOL_CALLS_LOCAL (info, h)) && (h == NULL || ELF_ST_VISIBILITY (h->other) == STV_DEFAULT || h->root.type != bfd_link_hash_undefweak) @@ -3041,7 +3043,8 @@ elf32_arm_check_relocs (abfd, info, sec, relocs) if (info->shared && (sec->flags & SEC_ALLOC) != 0 && ((ELF32_R_TYPE (rel->r_info) != R_ARM_PC24 - && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32) + && ELF32_R_TYPE (rel->r_info) != R_ARM_PLT32 + && ELF32_R_TYPE (rel->r_info) != R_ARM_REL32) || (h != NULL && (! info->symbolic || (h->elf_link_hash_flags -- cgit v1.1