aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf32-arm.h
diff options
context:
space:
mode:
Diffstat (limited to 'bfd/elf32-arm.h')
-rw-r--r--bfd/elf32-arm.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/bfd/elf32-arm.h b/bfd/elf32-arm.h
index be6391c..a0695c1 100644
--- a/bfd/elf32-arm.h
+++ b/bfd/elf32-arm.h
@@ -25,7 +25,7 @@
typedef unsigned long int insn32;
typedef unsigned short int insn16;
-/* In leiu of proper flags, assume all EABIv3 objects are interworkable. */
+/* In lieu of proper flags, assume all EABIv3 objects are interworkable. */
#define INTERWORK_FLAG(abfd) \
(EF_ARM_EABI_VERSION (elf_elfheader (abfd)->e_flags) == EF_ARM_EABI_VER3 \
|| (elf_elfheader (abfd)->e_flags & EF_ARM_INTERWORK))
@@ -2328,6 +2328,7 @@ elf32_arm_object_p (bfd *abfd)
}
/* Function to keep ARM specific flags in the ELF header. */
+
static bfd_boolean
elf32_arm_set_private_flags (bfd *abfd, flagword flags)
{
@@ -3163,6 +3164,14 @@ is_arm_mapping_symbol_name (const char * name)
&& (name[2] == 0);
}
+/* Treat mapping symbols as special target symbols. */
+
+static bfd_boolean
+elf32_arm_is_target_special_symbol (bfd * abfd ATTRIBUTE_UNUSED, asymbol * sym)
+{
+ return is_arm_mapping_symbol_name (sym->name);
+}
+
/* This is a copy of elf_find_function() from elf.c except that
ARM mapping symbols are ignored when looking for function names
and STT_ARM_TFUNC is considered to a function type. */
@@ -4462,6 +4471,7 @@ elf32_arm_write_section (bfd *output_bfd ATTRIBUTE_UNUSED, asection *sec,
#define bfd_elf32_bfd_reloc_type_lookup elf32_arm_reloc_type_lookup
#define bfd_elf32_find_nearest_line elf32_arm_find_nearest_line
#define bfd_elf32_new_section_hook elf32_arm_new_section_hook
+#define bfd_elf32_bfd_is_target_special_symbol elf32_arm_is_target_special_symbol
#define elf_backend_get_symbol_type elf32_arm_get_symbol_type
#define elf_backend_gc_mark_hook elf32_arm_gc_mark_hook