disas: introduce show_opcodes
For plugins we don't expect the raw opcodes in the disassembly. We already deal with this by hand crafting our capstone call but for other diassemblers we need a flag. Introduce show_opcodes which defaults to off. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: Alex Bennée <alex.bennee@linaro.org> Message-Id: <20240305121005.3528075-27-alex.bennee@linaro.org>
This commit is contained in:
parent
3077be2545
commit
83b4613ba8
@ -299,6 +299,7 @@ void disas(FILE *out, const void *code, size_t size)
|
|||||||
s.info.buffer = code;
|
s.info.buffer = code;
|
||||||
s.info.buffer_vma = (uintptr_t)code;
|
s.info.buffer_vma = (uintptr_t)code;
|
||||||
s.info.buffer_length = size;
|
s.info.buffer_length = size;
|
||||||
|
s.info.show_opcodes = true;
|
||||||
|
|
||||||
if (s.info.cap_arch >= 0 && cap_disas_host(&s.info, code, size)) {
|
if (s.info.cap_arch >= 0 && cap_disas_host(&s.info, code, size)) {
|
||||||
return;
|
return;
|
||||||
|
@ -396,6 +396,14 @@ typedef struct disassemble_info {
|
|||||||
/* Command line options specific to the target disassembler. */
|
/* Command line options specific to the target disassembler. */
|
||||||
char * disassembler_options;
|
char * disassembler_options;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When true instruct the disassembler it may preface the
|
||||||
|
* disassembly with the opcodes values if it wants to. This is
|
||||||
|
* mainly for the benefit of the plugin interface which doesn't want
|
||||||
|
* that.
|
||||||
|
*/
|
||||||
|
bool show_opcodes;
|
||||||
|
|
||||||
/* Field intended to be used by targets in any way they deem suitable. */
|
/* Field intended to be used by targets in any way they deem suitable. */
|
||||||
void *target_info;
|
void *target_info;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user