diff options
author | Nick Clifton <nickc@redhat.com> | 1998-09-05 02:47:40 +0000 |
---|---|---|
committer | Nick Clifton <nickc@redhat.com> | 1998-09-05 02:47:40 +0000 |
commit | 49fe88644c9c2932da038909e138a56cc0bb27ea (patch) | |
tree | 3c445b5119185c9e072649c68c626337eb33f6eb | |
parent | da5328aeaf25c4942171a527e9c650dc477e98fc (diff) | |
download | gdb-49fe88644c9c2932da038909e138a56cc0bb27ea.zip gdb-49fe88644c9c2932da038909e138a56cc0bb27ea.tar.gz gdb-49fe88644c9c2932da038909e138a56cc0bb27ea.tar.bz2 |
Fix detection of thumb-elf function symbols
-rw-r--r-- | opcodes/ChangeLog | 7 | ||||
-rw-r--r-- | opcodes/arm-dis.c | 15 |
2 files changed, 11 insertions, 11 deletions
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index f9420c9..3fa0a01 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +Fri Sep 4 19:42:59 1998 Nick Clifton <nickc@cygnus.com> + + * 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 <rth@cygnus.com> * alpha-dis.c (print_insn_alpha): Use the machine type to diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c index 23da589..3e4e002 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; |