diff options
author | Yao Qi <yao.qi@linaro.org> | 2016-12-12 09:03:34 +0000 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2016-12-12 09:03:34 +0000 |
commit | 3a0b8f7ddb874283879baaf8af6d11094f4c4999 (patch) | |
tree | 165b5b9f3d69fafdc2c533e95af4c05503e7da6e /opcodes/xc16x-ibld.c | |
parent | cc90de49738ad220bd1d3d001b492679fc488fe1 (diff) | |
download | gdb-3a0b8f7ddb874283879baaf8af6d11094f4c4999.zip gdb-3a0b8f7ddb874283879baaf8af6d11094f4c4999.tar.gz gdb-3a0b8f7ddb874283879baaf8af6d11094f4c4999.tar.bz2 |
Handle memory error in print_insn_rl78_common
Nowadays, memory error in rl78 disassembly is not handled, so if I
start a fresh GDB, and disassemble,
(gdb) set architecture rl78
The target architecture is assumed to be rl78
(gdb) disassemble 0x0,+4
Dump of assembler code from 0x0 to 0x4:
0x00000000: nop
0x00000001: nop
0x00000002: nop
0x00000003: nop
the output is wrong. This patch adds code to call dis->memory_error_func
on memory error, and longjmp to print_insn_rl78_common. With this
patch applied,
(gdb) set architecture rl78
The target architecture is assumed to be rl78
(gdb) disassemble 0,+4
Dump of assembler code from 0x0 to 0x4:
0x00000000: Cannot access memory at address 0x0
opcodes:
2016-12-12 Yao Qi <yao.qi@linaro.org>
* rl78-dis.c: Include <setjmp.h>.
(struct private): New.
(rl78_get_byte): Check return value of read_memory_func, and
call memory_error_func and OPCODES_SIGLONGJMP on error.
(print_insn_rl78_common): Call OPCODES_SIGJMP.
Diffstat (limited to 'opcodes/xc16x-ibld.c')
0 files changed, 0 insertions, 0 deletions