diff options
Diffstat (limited to 'gdb')
-rw-r--r-- | gdb/ChangeLog | 6 | ||||
-rw-r--r-- | gdb/arm-tdep.c | 8 |
2 files changed, 14 insertions, 0 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 2581935..5929091 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2017-08-18 Yao Qi <yao.qi@linaro.org> + PR tdep/21818 + * arm-tdep.c (gdb_print_insn_arm): Mark + USER_SPECIFIED_MACHINE_TYPE if exec_bfd isn't NULL. + +2017-08-18 Yao Qi <yao.qi@linaro.org> + * NEWS: Mention GDBserver's new option "--selftest". * Makefile.in (SFILES): Remove selftest.c, add common/selftest.c. * selftest.c: Move it to common/selftest.c. diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c index a107584..0c1a0b3 100644 --- a/gdb/arm-tdep.c +++ b/gdb/arm-tdep.c @@ -7773,6 +7773,14 @@ gdb_print_insn_arm (bfd_vma memaddr, disassemble_info *info) else info->symbols = NULL; + /* GDB is able to get bfd_mach from the exe_bfd, info->mach is + accurate, so mark USER_SPECIFIED_MACHINE_TYPE bit. Otherwise, + opcodes/arm-dis.c:print_insn reset info->mach, and it will trigger + the assert on the mismatch of info->mach and bfd_get_mach (exec_bfd) + in default_print_insn. */ + if (exec_bfd != NULL) + info->flags |= USER_SPECIFIED_MACHINE_TYPE; + return default_print_insn (memaddr, info); } |