aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>1998-09-05 02:47:40 +0000
committerNick Clifton <nickc@redhat.com>1998-09-05 02:47:40 +0000
commit49fe88644c9c2932da038909e138a56cc0bb27ea (patch)
tree3c445b5119185c9e072649c68c626337eb33f6eb
parentda5328aeaf25c4942171a527e9c650dc477e98fc (diff)
downloadgdb-49fe88644c9c2932da038909e138a56cc0bb27ea.zip
gdb-49fe88644c9c2932da038909e138a56cc0bb27ea.tar.gz
gdb-49fe88644c9c2932da038909e138a56cc0bb27ea.tar.bz2
Fix detection of thumb-elf function symbols
-rw-r--r--opcodes/ChangeLog7
-rw-r--r--opcodes/arm-dis.c15
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;