From: Nick Clifton Date: Sat, 5 Sep 1998 02:47:40 +0000 (+0000) Subject: Fix detection of thumb-elf function symbols X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=49fe88644c9c2932da038909e138a56cc0bb27ea;p=binutils-gdb.git Fix detection of thumb-elf function symbols --- diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f9420c921c8..3fa0a019a37 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +Fri Sep 4 19:42:59 1998 Nick Clifton + + * arm-dis.c (print_insn_big_arm): Detect Thumb symbols in elf + object files. + (print_insn_little_arm): Detect Thumb symbols in elf object + files. + Sat Aug 29 22:24:09 1998 Richard Henderson * alpha-dis.c (print_insn_alpha): Use the machine type to diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 23da5892d9e..3e4e002f1c2 100644 --- a/opcodes/arm-dis.c +++ b/opcodes/arm-dis.c @@ -741,11 +741,8 @@ print_insn_big_arm (pc, info) else if (bfd_asymbol_flavour (*info->symbols) == bfd_target_elf_flavour) { es = *(elf_symbol_type **)(info->symbols); - is_thumb = (es->internal_elf_sym.st_other == C_THUMBEXT - || es->internal_elf_sym.st_other == C_THUMBSTAT - || es->internal_elf_sym.st_other == C_THUMBLABEL - || es->internal_elf_sym.st_other == C_THUMBEXTFUNC - || es->internal_elf_sym.st_other == C_THUMBSTATFUNC); + is_thumb = ELF_ST_TYPE (es->internal_elf_sym.st_info) == + STT_ARM_TFUNC; } } @@ -826,14 +823,10 @@ print_insn_little_arm (pc, info) else if (bfd_asymbol_flavour (*info->symbols) == bfd_target_elf_flavour) { es = *(elf_symbol_type **)(info->symbols); - is_thumb = (es->internal_elf_sym.st_other == C_THUMBEXT - || es->internal_elf_sym.st_other == C_THUMBSTAT - || es->internal_elf_sym.st_other == C_THUMBLABEL - || es->internal_elf_sym.st_other == C_THUMBEXTFUNC - || es->internal_elf_sym.st_other == C_THUMBSTATFUNC); + is_thumb = ELF_ST_TYPE (es->internal_elf_sym.st_info) == + STT_ARM_TFUNC; } } - info->bytes_per_chunk = 4; info->display_endian = BFD_ENDIAN_LITTLE;