aboutsummaryrefslogtreecommitdiff
path: root/bfd/elf.c
diff options
context:
space:
mode:
authorCatherine Moore <clm@redhat.com>1998-08-31 15:50:04 +0000
committerCatherine Moore <clm@redhat.com>1998-08-31 15:50:04 +0000
commitbb3b4377a4cd0eee77ccfce64218ef8e3a34492e (patch)
tree3d3777b9caad0bfdb95e0ba1e3cbf695365f97f5 /bfd/elf.c
parent4ff5d55a081fbb280b68d912bf3a4b5f26541b5c (diff)
downloadgdb-bb3b4377a4cd0eee77ccfce64218ef8e3a34492e.zip
gdb-bb3b4377a4cd0eee77ccfce64218ef8e3a34492e.tar.gz
gdb-bb3b4377a4cd0eee77ccfce64218ef8e3a34492e.tar.bz2
* Makefile.am: Add elf32-arm.c.
* Makefile.in: Rebuild. * elf-bfd.h: Add elf_backend_get_symbol_type. * elf.c (swap_out_syms): If defined, call elf_backend_get_symbol_type. * elf32-arm.c: Define elf_backend_get_symbol_type. (elf32_arm_get_symbol-type): New routine. (record_thumb_to_arm_glue): Change to use STT_ARM_TFUNC. (bfd_elf32_arm_process_before_allocation): Change to check for STT_ARM_TFUNC. (elf32_arm_final_link_relocate): Likewise. * elfxx-target.h: Add elf_backend_get_symbol_type.
Diffstat (limited to 'bfd/elf.c')
-rw-r--r--bfd/elf.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/bfd/elf.c b/bfd/elf.c
index c4417e2..f3df29e 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -4001,6 +4001,10 @@ swap_out_syms (abfd, sttp, relocatable_p)
else
type = STT_NOTYPE;
+ /* Processor-specific types */
+ if (bed->elf_backend_get_symbol_type)
+ type = (*bed->elf_backend_get_symbol_type) (&type_ptr->internal_elf_sym);
+
if (bfd_is_com_section (syms[idx]->section))
sym.st_info = ELF_ST_INFO (STB_GLOBAL, type);
else if (bfd_is_und_section (syms[idx]->section))