aboutsummaryrefslogtreecommitdiff
path: root/opcodes/arm-dis.c
diff options
context:
space:
mode:
Diffstat (limited to 'opcodes/arm-dis.c')
-rw-r--r--opcodes/arm-dis.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 430da08..cff4b3f 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -34,6 +34,7 @@
#include "elf-bfd.h"
#include "elf/internal.h"
#include "elf/arm.h"
+#include "mach-o.h"
/* FIXME: Belongs in global header. */
#ifndef strneq
@@ -6374,6 +6375,13 @@ print_insn (bfd_vma pc, struct disassemble_info *info, bfd_boolean little)
== ST_BRANCH_TO_THUMB)
|| type == STT_ARM_16BIT);
}
+ else if (bfd_asymbol_flavour (*info->symbols)
+ == bfd_target_mach_o_flavour)
+ {
+ bfd_mach_o_asymbol *asym = (bfd_mach_o_asymbol *)*info->symbols;
+
+ is_thumb = (asym->n_desc & BFD_MACH_O_N_ARM_THUMB_DEF);
+ }
}
if (force_thumb)