X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=include%2Fdis-asm.h;h=84627950c0232e1d3ee54d6d4492bd4e12840a06;hb=e8d8cce69b34481a27562267d94a1aff19b05518;hp=eebdaf874f2d45a9460efc5b4b8ebacb118ca9a5;hpb=219d1afa89d0d53ca93a684cac341f16470f3ca0;p=external%2Fbinutils.git diff --git a/include/dis-asm.h b/include/dis-asm.h index eebdaf8..8462795 100644 --- a/include/dis-asm.h +++ b/include/dis-asm.h @@ -222,16 +222,53 @@ typedef struct disassemble_info } disassemble_info; -/* This struct is used to pass information about valid disassembler options - and their descriptions from the target to the generic GDB functions that - set and display them. */ +/* This struct is used to pass information about valid disassembler + option arguments from the target to the generic GDB functions + that set and display them. */ typedef struct { + /* Option argument name to use in descriptions. */ + const char *name; + + /* Vector of acceptable option argument values, NULL-terminated. */ + const char **values; +} disasm_option_arg_t; + +/* This struct is used to pass information about valid disassembler + options, their descriptions and arguments from the target to the + generic GDB functions that set and display them. Options are + defined by tuples of vector entries at each index. */ + +typedef struct +{ + /* Vector of option names, NULL-terminated. */ const char **name; + + /* Vector of option descriptions or NULL if none to be shown. */ const char **description; + + /* Vector of option argument information pointers or NULL if no + option accepts an argument. NULL entries denote individual + options that accept no argument. */ + const disasm_option_arg_t **arg; } disasm_options_t; +/* This struct is used to pass information about valid disassembler + options and arguments from the target to the generic GDB functions + that set and display them. */ + +typedef struct +{ + /* Valid disassembler options. Individual options that support + an argument will refer to entries in the ARGS vector. */ + disasm_options_t options; + + /* Vector of acceptable option arguments, NULL-terminated. This + collects all possible option argument choices, some of which + may be shared by different options from the OPTIONS member. */ + disasm_option_arg_t *args; +} disasm_options_and_args_t; /* Standard disassemblers. Disassemble one instruction at the given target address. Return number of octets processed. */ @@ -240,8 +277,8 @@ typedef int (*disassembler_ftype) (bfd_vma, disassemble_info *); /* Disassemblers used out side of opcodes library. */ extern int print_insn_m32c (bfd_vma, disassemble_info *); extern int print_insn_mep (bfd_vma, disassemble_info *); +extern int print_insn_s12z (bfd_vma, disassemble_info *); extern int print_insn_sh (bfd_vma, disassemble_info *); -extern int print_insn_sh64x_media (bfd_vma, disassemble_info *); extern int print_insn_sparc (bfd_vma, disassemble_info *); extern int print_insn_rx (bfd_vma, disassemble_info *); extern int print_insn_rl78 (bfd_vma, disassemble_info *); @@ -255,6 +292,7 @@ extern disassembler_ftype cris_get_disassembler (bfd *); extern void print_aarch64_disassembler_options (FILE *); extern void print_i386_disassembler_options (FILE *); extern void print_mips_disassembler_options (FILE *); +extern void print_nfp_disassembler_options (FILE *); extern void print_ppc_disassembler_options (FILE *); extern void print_riscv_disassembler_options (FILE *); extern void print_arm_disassembler_options (FILE *); @@ -263,12 +301,15 @@ extern void print_s390_disassembler_options (FILE *); extern void print_wasm32_disassembler_options (FILE *); extern bfd_boolean aarch64_symbol_is_valid (asymbol *, struct disassemble_info *); extern bfd_boolean arm_symbol_is_valid (asymbol *, struct disassemble_info *); +extern bfd_boolean csky_symbol_is_valid (asymbol *, struct disassemble_info *); extern void disassemble_init_powerpc (struct disassemble_info *); extern void disassemble_init_s390 (struct disassemble_info *); extern void disassemble_init_wasm32 (struct disassemble_info *); -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); +extern void disassemble_init_nds32 (struct disassemble_info *); +extern const disasm_options_and_args_t *disassembler_options_arm (void); +extern const disasm_options_and_args_t *disassembler_options_mips (void); +extern const disasm_options_and_args_t *disassembler_options_powerpc (void); +extern const disasm_options_and_args_t *disassembler_options_s390 (void); /* Fetch the disassembler for a given architecture ARC, endianess (big endian if BIG is true), bfd_mach value MACH, and ABFD, if that support