forked from Imagelibrary/binutils-gdb
Introduce gdb_disassembly_flags
For some reason I ended up staring at some of the "int flags" in btrace-related code, and I got confused because I had no clue what the flags where supposed to indicate. Fix that by using enum_flags, so that: #1 - it's clear from the type what the flags are about, and #2 - the compiler can catch mismatching mistakes gdb/ChangeLog: 2017-09-04 Pedro Alves <palves@redhat.com> * cli/cli-cmds.c (print_disassembly, disassemble_current_function) (disassemble_command): Use gdb_disassembly_flags instead of bare int. * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn) (dump_insns, do_mixed_source_and_assembly_deprecated) (do_mixed_source_and_assembly, do_assembly_only, gdb_disassembly): Use gdb_disassembly_flags instead of bare int. * disasm.h (DISASSEMBLY_SOURCE_DEPRECATED, DISASSEMBLY_RAW_INSN) (DISASSEMBLY_OMIT_FNAME, DISASSEMBLY_FILENAME) (DISASSEMBLY_OMIT_PC, DISASSEMBLY_SOURCE) (DISASSEMBLY_SPECULATIVE): No longer macros. Instead they're... (enum gdb_disassembly_flag): ... values of this new enumeration. (gdb_disassembly_flags): Define. (gdb_disassembly) (gdb_pretty_print_disassembler::pretty_print_insn): Use it. * mi/mi-cmd-disas.c (mi_cmd_disassemble): Use gdb_disassembly_flags instead of bare int. * record-btrace.c (btrace_insn_history) (record_btrace_insn_history, record_btrace_insn_history_range) (record_btrace_insn_history_from): Use gdb_disassembly_flags instead of bare int. * record.c (get_insn_history_modifiers, cmd_record_insn_history): Use gdb_disassembly_flags instead of bare int. * target-debug.h (target_debug_print_gdb_disassembly_flags): Define. * target-delegates.c: Regenerate. * target.c (target_insn_history, target_insn_history_from) (target_insn_history_range): Use gdb_disassembly_flags instead of bare int. * target.h: Include "disasm.h". (struct target_ops) <to_insn_history, to_insn_history_from, to_insn_history_range>: Use gdb_disassembly_flags instead of bare int. (target_insn_history, target_insn_history_from) (target_insn_history_range): Use gdb_disassembly_flags instead of bare int.
This commit is contained in:
18
gdb/target.h
18
gdb/target.h
@@ -74,6 +74,7 @@ struct inferior;
|
||||
#include "btrace.h"
|
||||
#include "record.h"
|
||||
#include "command.h"
|
||||
#include "disasm.h"
|
||||
|
||||
#include "break-common.h" /* For enum target_hw_bp_type. */
|
||||
|
||||
@@ -1200,7 +1201,8 @@ struct target_ops
|
||||
the current position.
|
||||
If SIZE < 0, disassemble abs (SIZE) preceding instructions; otherwise,
|
||||
disassemble SIZE succeeding instructions. */
|
||||
void (*to_insn_history) (struct target_ops *, int size, int flags)
|
||||
void (*to_insn_history) (struct target_ops *, int size,
|
||||
gdb_disassembly_flags flags)
|
||||
TARGET_DEFAULT_NORETURN (tcomplain ());
|
||||
|
||||
/* Disassemble SIZE instructions in the recorded execution trace around
|
||||
@@ -1208,13 +1210,15 @@ struct target_ops
|
||||
If SIZE < 0, disassemble abs (SIZE) instructions before FROM; otherwise,
|
||||
disassemble SIZE instructions after FROM. */
|
||||
void (*to_insn_history_from) (struct target_ops *,
|
||||
ULONGEST from, int size, int flags)
|
||||
ULONGEST from, int size,
|
||||
gdb_disassembly_flags flags)
|
||||
TARGET_DEFAULT_NORETURN (tcomplain ());
|
||||
|
||||
/* Disassemble a section of the recorded execution trace from instruction
|
||||
BEGIN (inclusive) to instruction END (inclusive). */
|
||||
void (*to_insn_history_range) (struct target_ops *,
|
||||
ULONGEST begin, ULONGEST end, int flags)
|
||||
ULONGEST begin, ULONGEST end,
|
||||
gdb_disassembly_flags flags)
|
||||
TARGET_DEFAULT_NORETURN (tcomplain ());
|
||||
|
||||
/* Print a function trace of the recorded execution trace.
|
||||
@@ -2509,13 +2513,15 @@ extern void target_goto_record_end (void);
|
||||
extern void target_goto_record (ULONGEST insn);
|
||||
|
||||
/* See to_insn_history. */
|
||||
extern void target_insn_history (int size, int flags);
|
||||
extern void target_insn_history (int size, gdb_disassembly_flags flags);
|
||||
|
||||
/* See to_insn_history_from. */
|
||||
extern void target_insn_history_from (ULONGEST from, int size, int flags);
|
||||
extern void target_insn_history_from (ULONGEST from, int size,
|
||||
gdb_disassembly_flags flags);
|
||||
|
||||
/* See to_insn_history_range. */
|
||||
extern void target_insn_history_range (ULONGEST begin, ULONGEST end, int flags);
|
||||
extern void target_insn_history_range (ULONGEST begin, ULONGEST end,
|
||||
gdb_disassembly_flags flags);
|
||||
|
||||
/* See to_call_history. */
|
||||
extern void target_call_history (int size, int flags);
|
||||
|
||||
Reference in New Issue
Block a user