GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Enumerations | Functions | Variables
mips-tdep.h File Reference
#include "objfiles.h"
#include "gdbarch.h"

Go to the source code of this file.

Classes

struct  mips_regnum
 
struct  mips_gdbarch_tdep
 

Macros

#define MSYMBOL_TARGET_FLAG_MIPS16(sym)    (sym)->target_flag_1 ()
 
#define SET_MSYMBOL_TARGET_FLAG_MIPS16(sym)    (sym)->set_target_flag_1 (true)
 
#define MSYMBOL_TARGET_FLAG_MICROMIPS(sym)    (sym)->target_flag_2 ()
 
#define SET_MSYMBOL_TARGET_FLAG_MICROMIPS(sym)    (sym)->set_target_flag_2 (true)
 

Enumerations

enum  mips_abi {
  MIPS_ABI_UNKNOWN = 0 , MIPS_ABI_N32 , MIPS_ABI_O32 , MIPS_ABI_N64 ,
  MIPS_ABI_O64 , MIPS_ABI_EABI32 , MIPS_ABI_EABI64 , MIPS_ABI_LAST
}
 
enum  mips_isa { ISA_MIPS = -1 , ISA_MIPS16 , ISA_MICROMIPS }
 
enum  mips_fpu_type { MIPS_FPU_DOUBLE , MIPS_FPU_SINGLE , MIPS_FPU_NONE }
 
enum  {
  MIPS_ZERO_REGNUM = 0 , MIPS_AT_REGNUM = 1 , MIPS_V0_REGNUM = 2 , MIPS_A0_REGNUM = 4 ,
  MIPS_S2_REGNUM = 18 , MIPS_T9_REGNUM = 25 , MIPS_GP_REGNUM = 28 , MIPS_SP_REGNUM = 29 ,
  MIPS_RA_REGNUM = 31 , MIPS_PS_REGNUM = 32 , MIPS_EMBED_LO_REGNUM = 33 , MIPS_EMBED_HI_REGNUM = 34 ,
  MIPS_EMBED_BADVADDR_REGNUM = 35 , MIPS_EMBED_CAUSE_REGNUM = 36 , MIPS_EMBED_PC_REGNUM = 37 , MIPS_EMBED_FP0_REGNUM = 38 ,
  MIPS_UNUSED_REGNUM = 73 , MIPS_FIRST_EMBED_REGNUM = 74 , MIPS_PRID_REGNUM = 89 , MIPS_LAST_EMBED_REGNUM = 89
}
 
enum  { MIPS_INSN16_SIZE = 2 , MIPS_INSN32_SIZE = 4 , MIPS_NUMREGS = 32 }
 

Functions

enum mips_abi mips_abi (struct gdbarch *gdbarch)
 
int mips_isa_regsize (struct gdbarch *gdbarch)
 
const struct mips_regnum * mips_regnum (struct gdbarch *gdbarch)
 
std::vector< CORE_ADDR > mips_software_single_step (struct regcache *regcache)
 
CORE_ADDR mips_unmake_compact_addr (CORE_ADDR addr)
 
int mips_pc_is_mips (CORE_ADDR memaddr)
 
int mips_pc_is_mips16 (struct gdbarch *gdbarch, CORE_ADDR memaddr)
 
int mips_pc_is_micromips (struct gdbarch *gdbarch, CORE_ADDR memaddr)
 
unsigned int mips_abi_regsize (struct gdbarch *gdbarch)
 
void mips_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static int in_mips_stubs_section (CORE_ADDR pc)
 

Variables

struct target_descmips_tdesc_gp32
 
struct target_descmips_tdesc_gp64
 

Macro Definition Documentation

◆ MSYMBOL_TARGET_FLAG_MICROMIPS

#define MSYMBOL_TARGET_FLAG_MICROMIPS ( sym)     (sym)->target_flag_2 ()

Definition at line 59 of file mips-tdep.h.

Referenced by msymbol_is_micromips(), and msymbol_is_mips().

◆ MSYMBOL_TARGET_FLAG_MIPS16

#define MSYMBOL_TARGET_FLAG_MIPS16 ( sym)     (sym)->target_flag_1 ()

Definition at line 53 of file mips-tdep.h.

Referenced by msymbol_is_mips(), and msymbol_is_mips16().

◆ SET_MSYMBOL_TARGET_FLAG_MICROMIPS

#define SET_MSYMBOL_TARGET_FLAG_MICROMIPS ( sym)     (sym)->set_target_flag_2 (true)

Definition at line 62 of file mips-tdep.h.

Referenced by mips_elf_make_msymbol_special().

◆ SET_MSYMBOL_TARGET_FLAG_MIPS16

#define SET_MSYMBOL_TARGET_FLAG_MIPS16 ( sym)     (sym)->set_target_flag_1 (true)

Definition at line 56 of file mips-tdep.h.

Referenced by mips_elf_make_msymbol_special().

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
MIPS_INSN16_SIZE 
MIPS_INSN32_SIZE 
MIPS_NUMREGS 

Definition at line 158 of file mips-tdep.h.

◆ anonymous enum

anonymous enum
Enumerator
MIPS_ZERO_REGNUM 
MIPS_AT_REGNUM 
MIPS_V0_REGNUM 
MIPS_A0_REGNUM 
MIPS_S2_REGNUM 
MIPS_T9_REGNUM 
MIPS_GP_REGNUM 
MIPS_SP_REGNUM 
MIPS_RA_REGNUM 
MIPS_PS_REGNUM 
MIPS_EMBED_LO_REGNUM 
MIPS_EMBED_HI_REGNUM 
MIPS_EMBED_BADVADDR_REGNUM 
MIPS_EMBED_CAUSE_REGNUM 
MIPS_EMBED_PC_REGNUM 
MIPS_EMBED_FP0_REGNUM 
MIPS_UNUSED_REGNUM 
MIPS_FIRST_EMBED_REGNUM 
MIPS_PRID_REGNUM 
MIPS_LAST_EMBED_REGNUM 

Definition at line 133 of file mips-tdep.h.

◆ mips_abi

enum enum mips_abi mips_gdbarch_tdep::mips_abi
Enumerator
MIPS_ABI_UNKNOWN 
MIPS_ABI_N32 
MIPS_ABI_O32 
MIPS_ABI_N64 
MIPS_ABI_O64 
MIPS_ABI_EABI32 
MIPS_ABI_EABI64 
MIPS_ABI_LAST 

Definition at line 29 of file mips-tdep.h.

◆ mips_fpu_type

enum enum mips_fpu_type mips_gdbarch_tdep::mips_fpu_type
Enumerator
MIPS_FPU_DOUBLE 
MIPS_FPU_SINGLE 
MIPS_FPU_NONE 

Definition at line 88 of file mips-tdep.h.

◆ mips_isa

enum enum mips_isa mips_gdbarch_tdep::mips_isa
Enumerator
ISA_MIPS 
ISA_MIPS16 
ISA_MICROMIPS 

Definition at line 45 of file mips-tdep.h.

Function Documentation

◆ in_mips_stubs_section()

static int in_mips_stubs_section ( CORE_ADDR pc)
inlinestatic

Definition at line 199 of file mips-tdep.h.

References pc_in_section().

Referenced by mips_linux_in_dynsym_stub(), and mips_stub_frame_sniffer().

◆ mips_abi()

enum mips_abi mips_abi ( struct gdbarch * gdbarch)

Definition at line 283 of file mips-tdep.c.

◆ mips_abi_regsize()

unsigned int mips_abi_regsize ( struct gdbarch * gdbarch)
extern

◆ mips_isa_regsize()

int mips_isa_regsize ( struct gdbarch * gdbarch)
extern

◆ mips_pc_is_micromips()

int mips_pc_is_micromips ( struct gdbarch * gdbarch,
CORE_ADDR memaddr )
extern

◆ mips_pc_is_mips()

int mips_pc_is_mips ( CORE_ADDR memaddr)
extern

◆ mips_pc_is_mips16()

int mips_pc_is_mips16 ( struct gdbarch * gdbarch,
CORE_ADDR memaddr )
extern

◆ mips_regnum()

const struct mips_regnum * mips_regnum ( struct gdbarch * gdbarch)
extern

◆ mips_software_single_step()

std::vector< CORE_ADDR > mips_software_single_step ( struct regcache * regcache)
extern

◆ mips_unmake_compact_addr()

CORE_ADDR mips_unmake_compact_addr ( CORE_ADDR addr)
extern

Definition at line 403 of file mips-tdep.c.

References unmake_compact_addr().

Referenced by micromips_linux_sigframe_validate().

◆ mips_write_pc()

void mips_write_pc ( struct regcache * regcache,
CORE_ADDR pc )
extern

Variable Documentation

◆ mips_tdesc_gp32

struct target_desc* mips_tdesc_gp32
extern

◆ mips_tdesc_gp64

struct target_desc* mips_tdesc_gp64
extern