diff options
Diffstat (limited to 'gdb/mips-tdep.h')
-rw-r--r-- | gdb/mips-tdep.h | 19 |
1 files changed, 18 insertions, 1 deletions
diff --git a/gdb/mips-tdep.h b/gdb/mips-tdep.h index 9dd4541..2e85895 100644 --- a/gdb/mips-tdep.h +++ b/gdb/mips-tdep.h @@ -38,6 +38,14 @@ enum mips_abi /* Return the MIPS ABI associated with GDBARCH. */ enum mips_abi mips_abi (struct gdbarch *gdbarch); +/* Base and compressed MIPS ISA variations. */ +enum mips_isa + { + ISA_MIPS = -1, /* mips_compression_string depends on it. */ + ISA_MIPS16, + ISA_MICROMIPS + }; + /* Return the MIPS ISA's register size. Just a short cut to the BFD architecture's word size. */ extern int mips_isa_regsize (struct gdbarch *gdbarch); @@ -77,6 +85,7 @@ struct gdbarch_tdep /* mips options */ enum mips_abi mips_abi; enum mips_abi found_abi; + enum mips_isa mips_isa; enum mips_fpu_type mips_fpu_type; int mips_last_arg_regnum; int mips_last_fp_arg_regnum; @@ -152,9 +161,17 @@ enum /* Single step based on where the current instruction will take us. */ extern int mips_software_single_step (struct frame_info *frame); +/* Tell if the program counter value in MEMADDR is in a standard + MIPS function. */ +extern int mips_pc_is_mips (bfd_vma memaddr); + /* Tell if the program counter value in MEMADDR is in a MIPS16 function. */ -extern int mips_pc_is_mips16 (bfd_vma memaddr); +extern int mips_pc_is_mips16 (struct gdbarch *gdbarch, bfd_vma memaddr); + +/* Tell if the program counter value in MEMADDR is in a microMIPS + function. */ +extern int mips_pc_is_micromips (struct gdbarch *gdbarch, bfd_vma memaddr); /* Return the currently configured (or set) saved register size. */ extern unsigned int mips_abi_regsize (struct gdbarch *gdbarch); |