X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fmips-tdep.h;h=ff0b9e1f4e9b7a4ecf07c4478485b36ef4a9212d;hb=09b0d8a75fa379eacf0d9d6b27320d025475b14d;hp=2e85895e5c1f5654a744637e2f1592838e131c32;hpb=4cc0665f24bbd86deb1848cd67f90994a1b527b2;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/mips-tdep.h b/gdb/mips-tdep.h index 2e85895e5c..ff0b9e1f4e 100644 --- a/gdb/mips-tdep.h +++ b/gdb/mips-tdep.h @@ -1,6 +1,6 @@ /* Target-dependent header for the MIPS architecture, for GDB, the GNU Debugger. - Copyright (C) 2002-2003, 2007-2012 Free Software Foundation, Inc. + Copyright (C) 2002-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -20,6 +20,8 @@ #ifndef MIPS_TDEP_H #define MIPS_TDEP_H +#include "objfiles.h" + struct gdbarch; /* All the possible MIPS ABIs. */ @@ -46,6 +48,10 @@ enum mips_isa ISA_MICROMIPS }; +/* Corresponding MSYMBOL_TARGET_FLAG aliases. */ +#define MSYMBOL_TARGET_FLAG_MIPS16 MSYMBOL_TARGET_FLAG_1 +#define MSYMBOL_TARGET_FLAG_MICROMIPS MSYMBOL_TARGET_FLAG_2 + /* 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); @@ -107,14 +113,6 @@ struct gdbarch_tdep int register_size_valid_p; int register_size; - /* General-purpose registers. */ - struct regset *gregset; - struct regset *gregset64; - - /* Floating-point registers. */ - struct regset *fpregset; - struct regset *fpregset64; - /* Return the expected next PC if FRAME is stopped at a syscall instruction. */ CORE_ADDR (*syscall_next_pc) (struct frame_info *frame); @@ -146,9 +144,6 @@ enum MIPS_LAST_EMBED_REGNUM = 89 /* Last one. */ }; -/* Defined in mips-tdep.c and used in remote-mips.c. */ -extern void deprecated_mips_set_processor_regs_hack (void); - /* Instruction sizes and other useful constants. */ enum { @@ -159,7 +154,11 @@ enum }; /* Single step based on where the current instruction will take us. */ -extern int mips_software_single_step (struct frame_info *frame); +extern std::vector mips_software_single_step + (struct regcache *regcache); + +/* Strip the ISA (compression) bit off from ADDR. */ +extern CORE_ADDR mips_unmake_compact_addr (CORE_ADDR addr); /* Tell if the program counter value in MEMADDR is in a standard MIPS function. */ @@ -184,4 +183,12 @@ extern void mips_write_pc (struct regcache *regcache, CORE_ADDR pc); extern struct target_desc *mips_tdesc_gp32; extern struct target_desc *mips_tdesc_gp64; +/* Return non-zero if PC is in a MIPS SVR4 lazy binding stub section. */ + +static inline int +in_mips_stubs_section (CORE_ADDR pc) +{ + return pc_in_section (pc, ".MIPS.stubs"); +} + #endif /* MIPS_TDEP_H */