diff options
author | Yao Qi <yao.qi@linaro.org> | 2017-05-24 17:23:52 +0100 |
---|---|---|
committer | Yao Qi <yao.qi@linaro.org> | 2017-05-24 17:23:52 +0100 |
commit | 003ca0fd22863aaf1a9811c8a35a0133a2d27fb1 (patch) | |
tree | e988f36b10ca84252d27167db6d8d32e81f1c831 /include/dis-asm.h | |
parent | 60fd657792228e3eb59e87c26fcdeccbfe94d224 (diff) | |
download | gdb-003ca0fd22863aaf1a9811c8a35a0133a2d27fb1.zip gdb-003ca0fd22863aaf1a9811c8a35a0133a2d27fb1.tar.gz gdb-003ca0fd22863aaf1a9811c8a35a0133a2d27fb1.tar.bz2 |
Refactor disassembler selection
Nowadays, opcodes/disassemble.c:disassembler selects the proper
disassembler according to ABFD only. However, it actually
selects disassemblers according to arch, mach, endianess, and
abfd. This patch adds them to the parameters of disassembler,
so that its caller can still select disassemblers in case that
abfd is NULL (a typical case in GDB).
There isn't any functionality change.
binutils:
2017-05-24 Yao Qi <yao.qi@linaro.org>
* objdump.c (disassemble_data): Caller update.
include:
2017-05-24 Yao Qi <yao.qi@linaro.org>
* dis-asm.h (disassembler): Update declaration.
opcodes:
2017-05-24 Yao Qi <yao.qi@linaro.org>
* disassemble.c (disassembler): Add arguments a, big and mach.
Use them.
sim/common:
2017-05-24 Yao Qi <yao.qi@linaro.org>
* sim-trace.c (trace_disasm): Caller update.
Diffstat (limited to 'include/dis-asm.h')
-rw-r--r-- | include/dis-asm.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/include/dis-asm.h b/include/dis-asm.h index 6f1801d..dd93504 100644 --- a/include/dis-asm.h +++ b/include/dis-asm.h @@ -354,8 +354,12 @@ extern const disasm_options_t *disassembler_options_powerpc (void); extern const disasm_options_t *disassembler_options_arm (void); extern const disasm_options_t *disassembler_options_s390 (void); -/* Fetch the disassembler for a given BFD, if that support is available. */ -extern disassembler_ftype disassembler (bfd *); +/* Fetch the disassembler for a given architecture ARC, endianess (big + endian if BIG is true), bfd_mach value MACH, and ABFD, if that support + is available. ABFD may be NULL. */ +extern disassembler_ftype disassembler (enum bfd_architecture arc, + bfd_boolean big, unsigned long mach, + bfd *abfd); /* Amend the disassemble_info structure as necessary for the target architecture. Should only be called after initialising the info->arch field. */ |