GDB (xrefs)

Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-8.1/gdb/mips-tdep.h File Reference
`#include "objfiles.h"`

Go to the source code of this file.

## Classes
struct | mips_regnum
struct | gdbarch_tdep

## Macros
#define | MSYMBOL_TARGET_FLAG_MIPS16 MSYMBOL_TARGET_FLAG_1
#define | MSYMBOL_TARGET_FLAG_MICROMIPS MSYMBOL_TARGET_FLAG_2

## 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 (bfd_vma memaddr)
int | mips_pc_is_mips16 (struct gdbarch *gdbarch, bfd_vma memaddr)
int | mips_pc_is_micromips (struct gdbarch *gdbarch, bfd_vma 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_desc * | mips_tdesc_gp32
struct target_desc * | mips_tdesc_gp64

## Macro Definition Documentation

## ◆ MSYMBOL_TARGET_FLAG_MICROMIPS

#define MSYMBOL_TARGET_FLAG_MICROMIPS MSYMBOL_TARGET_FLAG_2

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

Referenced by mips_elf_make_msymbol_special(), msymbol_is_micromips(), and msymbol_is_mips().

## ◆ MSYMBOL_TARGET_FLAG_MIPS16

#define MSYMBOL_TARGET_FLAG_MIPS16 MSYMBOL_TARGET_FLAG_1

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

Referenced by mips_elf_make_msymbol_special(), msymbol_is_mips(), and msymbol_is_mips16().

## Enumeration Type Documentation

## ◆ 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 123 of file mips-tdep.h.

## ◆ anonymous enum

anonymous enum

Enumerator
MIPS_INSN16_SIZE |
MIPS_INSN32_SIZE |
MIPS_NUMREGS |

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

## ◆ mips_abi

enum 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 28 of file mips-tdep.h.

## ◆ mips_fpu_type

enum mips_fpu_type

Enumerator
MIPS_FPU_DOUBLE |
MIPS_FPU_SINGLE |
MIPS_FPU_NONE |

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

## ◆ mips_isa

enum mips_isa

Enumerator
ISA_MIPS |
ISA_MIPS16 |
ISA_MICROMIPS |

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

## Function Documentation

## ◆ in_mips_stubs_section()

static int in_mips_stubs_section | ( | CORE_ADDR | pc | ) |
| inline static

Definition at line 189 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 255 of file mips-tdep.c.

References gdbarch_tdep(), and gdbarch_tdep::mips_abi.

Referenced by mips_gdbarch_init(), mips_register_name(), and show_mips_abi().

## ◆ mips_abi_regsize()

unsigned int mips_abi_regsize | ( | struct gdbarch * | gdbarch | ) |

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

References _, internal_error(), MIPS_ABI_EABI32, MIPS_ABI_EABI64, MIPS_ABI_LAST, MIPS_ABI_N32, MIPS_ABI_N64, MIPS_ABI_O32, MIPS_ABI_O64, and MIPS_ABI_UNKNOWN.

Referenced by mips16_scan_prologue(), mips32_scan_prologue(), mips_eabi_push_dummy_call(), mips_eabi_return_value(), mips_fbsd_collect_fpregset(), mips_fbsd_collect_gregset(), mips_fbsd_iterate_over_regset_sections(), mips_fbsd_supply_fpregset(), mips_fbsd_supply_gregset(), mips_linux_register_u_offset(), mips_pseudo_register_type(), mips_register_type(), mips_sde_frame_cache(), and print_gp_register_row().

## ◆ mips_isa_regsize()

int mips_isa_regsize | ( | struct gdbarch * | gdbarch | ) |

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

References bits_per_byte, gdbarch_bfd_arch_info(), gdbarch_tdep(), gdbarch_tdep::register_size, and gdbarch_tdep::register_size_valid_p.

Referenced by fill_fpregset(), fill_gregset(), mips_register_type(), mipsnbsd_fill_fpreg(), mipsnbsd_fill_reg(), mipsnbsd_iterate_over_regset_sections(), mipsnbsd_supply_fpreg(), mipsnbsd_supply_fpregset(), mipsnbsd_supply_gregset(), mipsnbsd_supply_reg(), supply_fpregset(), and supply_gregset().

## ◆ mips_pc_is_micromips()

int mips_pc_is_micromips | ( | struct gdbarch * | gdbarch,
|  | bfd_vma | memaddr
| ) |  |

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

References is_micromips_addr(), lookup_minimal_symbol_by_pc(), make_compact_addr(), and msymbol_is_micromips().

Referenced by deal_with_atomic_sequence(), gdb_print_insn_mips(), heuristic_proc_start(), micromips_linux_sigframe_validate(), mips_adjust_breakpoint_address(), mips_breakpoint_kind_from_pc(), mips_micro_frame_base_sniffer(), mips_micro_frame_sniffer(), mips_next_pc(), mips_push_dummy_code(), mips_single_step_through_delay(), mips_skip_prologue(), and mips_stack_frame_destroyed_p().

## ◆ mips_pc_is_mips()

int mips_pc_is_mips | ( | bfd_vma | memaddr | ) |

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

References is_mips_addr(), lookup_minimal_symbol_by_pc(), make_compact_addr(), and msymbol_is_mips().

Referenced by deal_with_atomic_sequence(), heuristic_proc_start(), mips_about_to_return(), mips_adjust_breakpoint_address(), mips_adjust_dwarf2_addr(), mips_insn32_frame_base_sniffer(), mips_insn32_frame_sniffer(), mips_linux_sigframe_validate(), and mips_single_step_through_delay().

## ◆ mips_pc_is_mips16()

int mips_pc_is_mips16 | ( | struct gdbarch * | gdbarch,
|  | bfd_vma | memaddr
| ) |  |

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

References is_mips16_addr(), lookup_minimal_symbol_by_pc(), make_compact_addr(), and msymbol_is_mips16().

Referenced by gdb_print_insn_mips(), heuristic_proc_start(), mips_breakpoint_kind_from_pc(), mips_insn16_frame_base_sniffer(), mips_insn16_frame_sniffer(), mips_next_pc(), mips_o32_return_value(), mips_o64_return_value(), mips_single_step_through_delay(), mips_skip_prologue(), and mips_stack_frame_destroyed_p().

## ◆ mips_regnum()

const struct mips_regnum* mips_regnum | ( | struct gdbarch * | gdbarch | ) |

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

References gdbarch_tdep(), and gdbarch_tdep::regnum.

Referenced by micromips_bc1_pc(), micromips_next_pc(), micromips_scan_prologue(), mips16_scan_prologue(), mips32_bc1_pc(), mips32_next_pc(), mips32_scan_prologue(), mips64_fbsd_sigframe_init(), mips64_linux_register_addr(), mips64_linux_regsets_fetch_registers(), mips64_linux_regsets_store_registers(), mips64obsd_sigframe_init(), mips_dwarf_dwarf2_ecoff_reg_to_regnum(), mips_eabi_return_value(), mips_fbsd_collect_fpregs(), mips_fbsd_collect_gregs(), mips_fbsd_sigframe_init(), mips_fbsd_supply_fpregs(), mips_fbsd_supply_gregs(), mips_fpa0_regnum(), mips_gdbarch_init(), mips_linux_n32n64_sigframe_init(), mips_linux_o32_sigframe_init(), mips_linux_register_addr(), mips_print_float_info(), mips_sde_frame_cache(), mips_stab_reg_to_regnum(), mipsnbsd_fill_fpreg(), and mipsnbsd_supply_fpreg().

## ◆ mips_software_single_step()

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

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

References regcache::arch(), deal_with_atomic_sequence(), mips_next_pc(), and regcache_read_pc().

Referenced by mips_fbsd_init_abi(), mips_linux_init_abi(), and mipsnbsd_init_abi().

## ◆ mips_unmake_compact_addr()

CORE_ADDR mips_unmake_compact_addr | ( | CORE_ADDR | addr | ) |

Definition at line 372 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
| ) |  |

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

References regcache::arch(), gdbarch_pc_regnum(), regcache_cooked_write_unsigned(), and regnum.

Referenced by mips_gdbarch_init(), and mips_linux_write_pc().

## Variable Documentation

## ◆ mips_tdesc_gp32

struct target_desc* mips_tdesc_gp32

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

Referenced by _initialize_mips_tdep(), mips_linux_core_read_description(), and mips_register_g_packet_guesses().

## ◆ mips_tdesc_gp64

struct target_desc* mips_tdesc_gp64

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

Referenced by _initialize_mips_tdep(), mips_linux_core_read_description(), and mips_register_g_packet_guesses().