GDB (xrefs)
Classes | Macros | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/mips-tdep.c File Reference
#include "defs.h"
#include "frame.h"
#include "inferior.h"
#include "symtab.h"
#include "value.h"
#include "gdbcmd.h"
#include "language.h"
#include "gdbcore.h"
#include "symfile.h"
#include "objfiles.h"
#include "gdbtypes.h"
#include "target.h"
#include "arch-utils.h"
#include "regcache.h"
#include "osabi.h"
#include "mips-tdep.h"
#include "block.h"
#include "reggroups.h"
#include "opcode/mips.h"
#include "elf/mips.h"
#include "elf-bfd.h"
#include "symcat.h"
#include "sim-regno.h"
#include "dis-asm.h"
#include "frame-unwind.h"
#include "frame-base.h"
#include "trad-frame.h"
#include "infcall.h"
#include "floatformat.h"
#include "remote.h"
#include "target-descriptions.h"
#include "dwarf2-frame.h"
#include "user-regs.h"
#include "valprint.h"
#include "ax.h"

Go to the source code of this file.

Classes

struct  register_alias
 
struct  upk_mips16
 
struct  mips_frame_cache
 
struct  mips_objfile_private
 

Macros

#define ST0_FR   (1 << 26)
 
#define R(n)   { "r" #n, n }
 
#define R(n)   { #n, n }
 
#define MIPS_DEFAULT_FPU_TYPE   MIPS_FPU_DOUBLE
 
#define PROPERTY_GP32   "internal: transfers-32bit-registers"
 
#define PROPERTY_GP64   "internal: transfers-64bit-registers"
 
#define MIPS_EABI(gdbarch)
 
#define MIPS_LAST_FP_ARG_REGNUM(gdbarch)   (gdbarch_tdep (gdbarch)->mips_last_fp_arg_regnum)
 
#define MIPS_LAST_ARG_REGNUM(gdbarch)   (gdbarch_tdep (gdbarch)->mips_last_arg_regnum)
 
#define MIPS_FPU_TYPE(gdbarch)   (gdbarch_tdep (gdbarch)->mips_fpu_type)
 
#define VM_MIN_ADDRESS   (CORE_ADDR)0x400000
 
#define mips32_op(x)   (x >> 26)
 
#define itype_op(x)   (x >> 26)
 
#define itype_rs(x)   ((x >> 21) & 0x1f)
 
#define itype_rt(x)   ((x >> 16) & 0x1f)
 
#define itype_immediate(x)   (x & 0xffff)
 
#define jtype_op(x)   (x >> 26)
 
#define jtype_target(x)   (x & 0x03ffffff)
 
#define rtype_op(x)   (x >> 26)
 
#define rtype_rs(x)   ((x >> 21) & 0x1f)
 
#define rtype_rt(x)   ((x >> 16) & 0x1f)
 
#define rtype_rd(x)   ((x >> 11) & 0x1f)
 
#define rtype_shamt(x)   ((x >> 6) & 0x1f)
 
#define rtype_funct(x)   (x & 0x3f)
 
#define micromips_op(x)   ((x) >> 10)
 
#define b0s4_imm(x)   ((x) & 0xf)
 
#define b0s5_imm(x)   ((x) & 0x1f)
 
#define b0s5_reg(x)   ((x) & 0x1f)
 
#define b0s7_imm(x)   ((x) & 0x7f)
 
#define b0s10_imm(x)   ((x) & 0x3ff)
 
#define b1s4_imm(x)   (((x) >> 1) & 0xf)
 
#define b1s9_imm(x)   (((x) >> 1) & 0x1ff)
 
#define b2s3_cc(x)   (((x) >> 2) & 0x7)
 
#define b4s2_regl(x)   (((x) >> 4) & 0x3)
 
#define b5s5_op(x)   (((x) >> 5) & 0x1f)
 
#define b5s5_reg(x)   (((x) >> 5) & 0x1f)
 
#define b6s4_op(x)   (((x) >> 6) & 0xf)
 
#define b7s3_reg(x)   (((x) >> 7) & 0x7)
 
#define b0s6_op(x)   ((x) & 0x3f)
 
#define b0s11_op(x)   ((x) & 0x7ff)
 
#define b0s12_imm(x)   ((x) & 0xfff)
 
#define b0s16_imm(x)   ((x) & 0xffff)
 
#define b0s26_imm(x)   ((x) & 0x3ffffff)
 
#define b6s10_ext(x)   (((x) >> 6) & 0x3ff)
 
#define b11s5_reg(x)   (((x) >> 11) & 0x1f)
 
#define b12s4_op(x)   (((x) >> 12) & 0xf)
 
#define LL_OPCODE   0x30
 
#define LLD_OPCODE   0x34
 
#define SC_OPCODE   0x38
 
#define SCD_OPCODE   0x3c
 

Enumerations

enum  { MIPS_FPU_SINGLE_REGSIZE = 4, MIPS_FPU_DOUBLE_REGSIZE = 8 }
 
enum  { MIPS32_REGSIZE = 4, MIPS64_REGSIZE = 8 }
 
enum  { NUM_MIPS_PROCESSOR_REGS = (90 - 32) }
 
enum  mips16_inst_fmts {
  itype, ritype, rrtype, rritype,
  rrrtype, rriatype, shifttype, i8type,
  i8movtype, i8mov32rtype, i64type, ri64type,
  jalxtype, exiItype, extRitype, extRRItype,
  extRRIAtype, EXTshifttype, extI8type, extI64type,
  extRi64type, extshift64type
}
 
enum  mips_fval_reg { mips_fval_fpr, mips_fval_gpr, mips_fval_both }
 

Functions

static struct typemips_register_type (struct gdbarch *gdbarch, int regnum)
 
static int mips32_instruction_has_delay_slot (struct gdbarch *gdbarch, ULONGEST inst)
 
static int micromips_instruction_has_delay_slot (ULONGEST insn, int mustbe32)
 
static int mips16_instruction_has_delay_slot (unsigned short inst, int mustbe32)
 
static int mips32_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static int micromips_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr, int mustbe32)
 
static int mips16_insn_at_pc_has_delay_slot (struct gdbarch *gdbarch, CORE_ADDR addr, int mustbe32)
 
static void mips_print_float_info (struct gdbarch *, struct ui_file *, struct frame_info *, const char *)
 
const struct mips_regnummips_regnum (struct gdbarch *gdbarch)
 
static int mips_fpa0_regnum (struct gdbarch *gdbarch)
 
static int mips_float_register_p (struct gdbarch *gdbarch, int regnum)
 
enum mips_abi mips_abi (struct gdbarch *gdbarch)
 
int mips_isa_regsize (struct gdbarch *gdbarch)
 
unsigned int mips_abi_regsize (struct gdbarch *gdbarch)
 
static int is_mips16_isa (struct gdbarch *gdbarch)
 
static int is_micromips_isa (struct gdbarch *gdbarch)
 
static int is_compact_addr (CORE_ADDR addr)
 
static int is_mips_addr (CORE_ADDR addr)
 
static int is_mips16_addr (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static int is_micromips_addr (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static CORE_ADDR unmake_compact_addr (CORE_ADDR addr)
 
static CORE_ADDR make_compact_addr (CORE_ADDR addr)
 
CORE_ADDR mips_unmake_compact_addr (CORE_ADDR addr)
 
static void mips_elf_make_msymbol_special (asymbol *sym, struct minimal_symbol *msym)
 
static int msymbol_is_mips (struct minimal_symbol *msym)
 
static int msymbol_is_mips16 (struct minimal_symbol *msym)
 
static int msymbol_is_micromips (struct minimal_symbol *msym)
 
static void mips_make_symbol_special (struct symbol *sym, struct objfile *objfile)
 
static void mips_xfer_register (struct gdbarch *gdbarch, struct regcache *regcache, int reg_num, int length, enum bfd_endian endian, gdb_byte *in, const gdb_byte *out, int buf_offset)
 
static int mips2_fp_compat (struct frame_info *frame)
 
static CORE_ADDR heuristic_proc_start (struct gdbarch *, CORE_ADDR)
 
static void reinit_frame_cache_sfunc (char *, int, struct cmd_list_element *)
 
static const char * mips_register_name (struct gdbarch *gdbarch, int regno)
 
static int mips_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
 
static int mips_tdesc_register_reggroup_p (struct gdbarch *gdbarch, int regnum, struct reggroup *reggroup)
 
static enum register_status mips_pseudo_register_read (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, gdb_byte *buf)
 
static void mips_pseudo_register_write (struct gdbarch *gdbarch, struct regcache *regcache, int cookednum, const gdb_byte *buf)
 
static int mips_ax_pseudo_register_collect (struct gdbarch *gdbarch, struct agent_expr *ax, int reg)
 
static int mips_ax_pseudo_register_push_stack (struct gdbarch *gdbarch, struct agent_expr *ax, int reg)
 
static void set_mips64_transfers_32bit_regs (char *args, int from_tty, struct cmd_list_element *c)
 
static int mips_convert_register_float_case_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 
static int mips_convert_register_gpreg_case_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 
static int mips_convert_register_p (struct gdbarch *gdbarch, int regnum, struct type *type)
 
static int mips_register_to_value (struct frame_info *frame, int regnum, struct type *type, gdb_byte *to, int *optimizedp, int *unavailablep)
 
static void mips_value_to_register (struct frame_info *frame, int regnum, struct type *type, const gdb_byte *from)
 
static struct typemips_pseudo_register_type (struct gdbarch *gdbarch, int regnum)
 
static int mips_mask_address_p (struct gdbarch_tdep *tdep)
 
static void show_mask_address (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
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)
 
static enum mips_isa mips_pc_isa (struct gdbarch *gdbarch, CORE_ADDR memaddr)
 
static CORE_ADDR mips_adjust_dwarf2_addr (CORE_ADDR pc)
 
static CORE_ADDR mips_adjust_dwarf2_line (CORE_ADDR addr, int rel)
 
static int mips_in_frame_stub (CORE_ADDR pc)
 
static CORE_ADDR mips_read_pc (struct regcache *regcache)
 
static CORE_ADDR mips_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame)
 
static CORE_ADDR mips_unwind_sp (struct gdbarch *gdbarch, struct frame_info *next_frame)
 
static struct frame_id mips_dummy_id (struct gdbarch *gdbarch, struct frame_info *this_frame)
 
void mips_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
static ULONGEST mips_fetch_instruction (struct gdbarch *gdbarch, enum mips_isa isa, CORE_ADDR addr, int *statusp)
 
static int mips_insn_size (enum mips_isa isa, ULONGEST insn)
 
static LONGEST mips32_relative_offset (ULONGEST inst)
 
static CORE_ADDR mips32_bc1_pc (struct gdbarch *gdbarch, struct frame_info *frame, ULONGEST inst, CORE_ADDR pc, int count)
 
static int is_octeon (struct gdbarch *gdbarch)
 
static int is_octeon_bbit_op (int op, struct gdbarch *gdbarch)
 
static CORE_ADDR mips32_next_pc (struct frame_info *frame, CORE_ADDR pc)
 
static LONGEST micromips_relative_offset7 (ULONGEST insn)
 
static LONGEST micromips_relative_offset10 (ULONGEST insn)
 
static LONGEST micromips_relative_offset16 (ULONGEST insn)
 
static int micromips_pc_insn_size (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static CORE_ADDR micromips_bc1_pc (struct gdbarch *gdbarch, struct frame_info *frame, ULONGEST insn, CORE_ADDR pc, int count)
 
static CORE_ADDR micromips_next_pc (struct frame_info *frame, CORE_ADDR pc)
 
static CORE_ADDR extended_offset (unsigned int extension)
 
static unsigned int fetch_mips_16 (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static void unpack_mips16 (struct gdbarch *gdbarch, CORE_ADDR pc, unsigned int extension, unsigned int inst, enum mips16_inst_fmts insn_format, struct upk_mips16 *upk)
 
static CORE_ADDR add_offset_16 (CORE_ADDR pc, int offset)
 
static CORE_ADDR extended_mips16_next_pc (struct frame_info *frame, CORE_ADDR pc, unsigned int extension, unsigned int insn)
 
static CORE_ADDR mips16_next_pc (struct frame_info *frame, CORE_ADDR pc)
 
static CORE_ADDR mips_next_pc (struct frame_info *frame, CORE_ADDR pc)
 
static int mips16_instruction_is_compact_branch (unsigned short insn)
 
static int micromips_instruction_is_compact_branch (unsigned short insn)
 
static void set_reg_offset (struct gdbarch *gdbarch, struct mips_frame_cache *this_cache, int regnum, CORE_ADDR offset)
 
static int mips16_get_imm (unsigned short prev_inst, unsigned short inst, int nbits, int scale, int is_signed)
 
static CORE_ADDR mips16_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, struct frame_info *this_frame, struct mips_frame_cache *this_cache)
 
static struct mips_frame_cachemips_insn16_frame_cache (struct frame_info *this_frame, void **this_cache)
 
static void mips_insn16_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuemips_insn16_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int mips_insn16_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static CORE_ADDR mips_insn16_frame_base_address (struct frame_info *this_frame, void **this_cache)
 
static const struct frame_basemips_insn16_frame_base_sniffer (struct frame_info *this_frame)
 
static int micromips_decode_imm9 (int imm)
 
static CORE_ADDR micromips_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, struct frame_info *this_frame, struct mips_frame_cache *this_cache)
 
static struct mips_frame_cachemips_micro_frame_cache (struct frame_info *this_frame, void **this_cache)
 
static void mips_micro_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuemips_micro_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int mips_micro_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static CORE_ADDR mips_micro_frame_base_address (struct frame_info *this_frame, void **this_cache)
 
static const struct frame_basemips_micro_frame_base_sniffer (struct frame_info *this_frame)
 
static void reset_saved_regs (struct gdbarch *gdbarch, struct mips_frame_cache *this_cache)
 
static CORE_ADDR mips32_scan_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc, CORE_ADDR limit_pc, struct frame_info *this_frame, struct mips_frame_cache *this_cache)
 
static struct mips_frame_cachemips_insn32_frame_cache (struct frame_info *this_frame, void **this_cache)
 
static void mips_insn32_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuemips_insn32_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int mips_insn32_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static CORE_ADDR mips_insn32_frame_base_address (struct frame_info *this_frame, void **this_cache)
 
static const struct frame_basemips_insn32_frame_base_sniffer (struct frame_info *this_frame)
 
static struct trad_frame_cachemips_stub_frame_cache (struct frame_info *this_frame, void **this_cache)
 
static void mips_stub_frame_this_id (struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
 
static struct valuemips_stub_frame_prev_register (struct frame_info *this_frame, void **this_cache, int regnum)
 
static int mips_stub_frame_sniffer (const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
 
static CORE_ADDR mips_stub_frame_base_address (struct frame_info *this_frame, void **this_cache)
 
static const struct frame_basemips_stub_frame_base_sniffer (struct frame_info *this_frame)
 
static CORE_ADDR mips_addr_bits_remove (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static int mips_deal_with_atomic_sequence (struct gdbarch *gdbarch, struct address_space *aspace, CORE_ADDR pc)
 
static int micromips_deal_with_atomic_sequence (struct gdbarch *gdbarch, struct address_space *aspace, CORE_ADDR pc)
 
static int deal_with_atomic_sequence (struct gdbarch *gdbarch, struct address_space *aspace, CORE_ADDR pc)
 
int mips_software_single_step (struct frame_info *frame)
 
static int mips_about_to_return (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int fp_register_arg_p (struct gdbarch *gdbarch, enum type_code typecode, struct type *arg_type)
 
static int mips_type_needs_double_align (struct type *type)
 
static CORE_ADDR mips_frame_align (struct gdbarch *gdbarch, CORE_ADDR addr)
 
static CORE_ADDR mips_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp, CORE_ADDR funaddr, struct value **args, int nargs, struct type *value_type, CORE_ADDR *real_pc, CORE_ADDR *bp_addr, struct regcache *regcache)
 
static CORE_ADDR mips_eabi_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
 
static enum return_value_convention mips_eabi_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static int mips_n32n64_fp_arg_chunk_p (struct gdbarch *gdbarch, struct type *arg_type, int offset)
 
static CORE_ADDR mips_n32n64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
 
static enum return_value_convention mips_n32n64_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static CORE_ADDR mips_o32_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
 
static enum return_value_convention mips_o32_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static CORE_ADDR mips_o64_push_dummy_call (struct gdbarch *gdbarch, struct value *function, struct regcache *regcache, CORE_ADDR bp_addr, int nargs, struct value **args, CORE_ADDR sp, int struct_return, CORE_ADDR struct_addr)
 
static enum return_value_convention mips_o64_return_value (struct gdbarch *gdbarch, struct value *function, struct type *type, struct regcache *regcache, gdb_byte *readbuf, const gdb_byte *writebuf)
 
static void mips_read_fp_register_single (struct frame_info *frame, int regno, gdb_byte *rare_buffer)
 
static void mips_read_fp_register_double (struct frame_info *frame, int regno, gdb_byte *rare_buffer)
 
static void mips_print_fp_register (struct ui_file *file, struct frame_info *frame, int regnum)
 
static void mips_print_register (struct ui_file *file, struct frame_info *frame, int regnum)
 
static void print_fpu_flags (struct ui_file *file, int flags)
 
static int print_fp_register_row (struct ui_file *file, struct frame_info *frame, int regnum)
 
static int print_gp_register_row (struct ui_file *file, struct frame_info *frame, int start_regnum)
 
static void mips_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file, struct frame_info *frame, int regnum, int all)
 
static int mips_single_step_through_delay (struct gdbarch *gdbarch, struct frame_info *frame)
 
static CORE_ADDR mips_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int mips32_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int micromips_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int mips16_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static int mips_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static void show_mips_command (char *args, int from_tty)
 
static void set_mips_command (char *args, int from_tty)
 
static void show_mipsfpu_command (char *args, int from_tty)
 
static void set_mipsfpu_command (char *args, int from_tty)
 
static void set_mipsfpu_single_command (char *args, int from_tty)
 
static void set_mipsfpu_double_command (char *args, int from_tty)
 
static void set_mipsfpu_none_command (char *args, int from_tty)
 
static void set_mipsfpu_auto_command (char *args, int from_tty)
 
void deprecated_mips_set_processor_regs_hack (void)
 
static int gdb_print_insn_mips (bfd_vma memaddr, struct disassemble_info *info)
 
static int gdb_print_insn_mips_n32 (bfd_vma memaddr, struct disassemble_info *info)
 
static int gdb_print_insn_mips_n64 (bfd_vma memaddr, struct disassemble_info *info)
 
static const gdb_bytemips_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
 
static void mips_remote_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *kindptr)
 
static CORE_ADDR mips_segment_boundary (CORE_ADDR bpaddr)
 
static CORE_ADDR mips_adjust_breakpoint_address (struct gdbarch *gdbarch, CORE_ADDR bpaddr)
 
static int mips_is_stub_suffix (const char *suffix, int zero)
 
static int mips_is_stub_mode (const char *mode)
 
static CORE_ADDR mips_get_mips16_fn_stub_pc (struct frame_info *frame, CORE_ADDR pc)
 
static CORE_ADDR mips_skip_mips16_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
 
static int mips_in_return_stub (struct gdbarch *gdbarch, CORE_ADDR pc, const char *name)
 
static CORE_ADDR mips_skip_pic_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
 
static CORE_ADDR mips_skip_trampoline_code (struct frame_info *frame, CORE_ADDR pc)
 
static int mips_stab_reg_to_regnum (struct gdbarch *gdbarch, int num)
 
static int mips_dwarf_dwarf2_ecoff_reg_to_regnum (struct gdbarch *gdbarch, int num)
 
static int mips_register_sim_regno (struct gdbarch *gdbarch, int regnum)
 
static CORE_ADDR mips_integer_to_address (struct gdbarch *gdbarch, struct type *type, const gdb_byte *buf)
 
static void mips_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc, int *reg, LONGEST *offset)
 
static void mips_find_abi_section (bfd *abfd, asection *sect, void *obj)
 
static void mips_find_long_section (bfd *abfd, asection *sect, void *obj)
 
static enum mips_abi global_mips_abi (void)
 
static enum mips_isa global_mips_compression (void)
 
static void mips_register_g_packet_guesses (struct gdbarch *gdbarch)
 
static struct valuevalue_of_mips_user_reg (struct frame_info *frame, const void *baton)
 
static struct gdbarchmips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
 
static void mips_abi_update (char *ignore_args, int from_tty, struct cmd_list_element *c)
 
static void show_mips_abi (struct ui_file *file, int from_tty, struct cmd_list_element *ignored_cmd, const char *ignored_value)
 
static void show_mips_compression (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value)
 
static void mips_dump_tdep (struct gdbarch *gdbarch, struct ui_file *file)
 
void _initialize_mips_tdep (void)
 

Variables

static const struct objfile_data * mips_pdr_data
 
static const char * mips_abi_string
 
static const char *const mips_abi_strings []
 
static const char mips_compression_mips16 [] = "mips16"
 
static const char mips_compression_micromips [] = "micromips"
 
static const char *const mips_compression_strings []
 
static const char * mips_compression_string = mips_compression_mips16
 
const struct register_alias mips_o32_aliases []
 
const struct register_alias mips_n32_n64_aliases []
 
const struct register_alias mips_register_aliases []
 
const struct register_alias mips_numeric_register_aliases []
 
static int mips_fpu_type_auto = 1
 
static enum mips_fpu_type mips_fpu_type = MIPS_DEFAULT_FPU_TYPE
 
static unsigned int mips_debug = 0
 
struct target_descmips_tdesc_gp32
 
struct target_descmips_tdesc_gp64
 
static struct cmd_list_elementsetmipscmdlist = NULL
 
static struct cmd_list_elementshowmipscmdlist = NULL
 
static const char * mips_generic_reg_names [NUM_MIPS_PROCESSOR_REGS]
 
static const char * mips_r3041_reg_names []
 
static const char * mips_tx39_reg_names [NUM_MIPS_PROCESSOR_REGS]
 
static const char * mips_irix_reg_names [NUM_MIPS_PROCESSOR_REGS]
 
static const char * mips_linux_reg_names [NUM_MIPS_PROCESSOR_REGS]
 
static const signed char mips_reg3_to_reg [8] = { 16, 17, 2, 3, 4, 5, 6, 7 }
 
static int heuristic_fence_post = 0
 
static int mips64_transfers_32bit_regs_p = 0
 
enum auto_boolean mask_address_var = AUTO_BOOLEAN_AUTO
 
static const char mips_str_mips16_call_stub [] = "__mips16_call_stub_"
 
static const char mips_str_mips16_ret_stub [] = "__mips16_ret_"
 
static const char mips_str_call_fp_stub [] = "__call_stub_fp_"
 
static const char mips_str_call_stub [] = "__call_stub_"
 
static const char mips_str_fn_stub [] = "__fn_stub_"
 
static const char mips_str_pic [] = ".pic."
 
static const struct frame_unwind mips_insn16_frame_unwind
 
static const struct frame_base mips_insn16_frame_base
 
static const struct frame_unwind mips_micro_frame_unwind
 
static const struct frame_base mips_micro_frame_base
 
static const struct frame_unwind mips_insn32_frame_unwind
 
static const struct frame_base mips_insn32_frame_base
 
static const struct frame_unwind mips_stub_frame_unwind
 
static const struct frame_base mips_stub_frame_base
 
initialize_file_ftype _initialize_mips_tdep
 

Macro Definition Documentation

#define b0s10_imm (   x)    ((x) & 0x3ff)

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

Referenced by micromips_relative_offset10().

#define b0s11_op (   x)    ((x) & 0x7ff)

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

Referenced by micromips_scan_prologue().

#define b0s12_imm (   x)    ((x) & 0xfff)

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

Referenced by micromips_scan_prologue().

#define b0s16_imm (   x)    ((x) & 0xffff)
#define b0s26_imm (   x)    ((x) & 0x3ffffff)

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

Referenced by micromips_next_pc().

#define b0s4_imm (   x)    ((x) & 0xf)

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

Referenced by micromips_scan_prologue().

#define b0s5_imm (   x)    ((x) & 0x1f)

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

Referenced by micromips_scan_prologue().

#define b0s5_reg (   x)    ((x) & 0x1f)
#define b0s6_op (   x)    ((x) & 0x3f)
#define b0s7_imm (   x)    ((x) & 0x7f)

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

Referenced by micromips_relative_offset7().

#define b11s5_reg (   x)    (((x) >> 11) & 0x1f)

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

Referenced by micromips_scan_prologue().

#define b12s4_op (   x)    (((x) >> 12) & 0xf)

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

Referenced by micromips_deal_with_atomic_sequence(), and micromips_scan_prologue().

#define b1s4_imm (   x)    (((x) >> 1) & 0xf)

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

Referenced by heuristic_proc_start(), and micromips_scan_prologue().

#define b1s9_imm (   x)    (((x) >> 1) & 0x1ff)
#define b2s3_cc (   x)    (((x) >> 2) & 0x7)

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

Referenced by micromips_bc1_pc().

#define b4s2_regl (   x)    (((x) >> 4) & 0x3)

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

Referenced by micromips_scan_prologue().

#define b5s5_op (   x)    (((x) >> 5) & 0x1f)
#define b5s5_reg (   x)    (((x) >> 5) & 0x1f)
#define b6s10_ext (   x)    (((x) >> 6) & 0x3ff)
#define b6s4_op (   x)    (((x) >> 6) & 0xf)

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

Referenced by micromips_scan_prologue().

#define b7s3_reg (   x)    (((x) >> 7) & 0x7)

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

Referenced by micromips_next_pc().

#define itype_immediate (   x)    (x & 0xffff)

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

Referenced by mips32_relative_offset(), and mips_get_mips16_fn_stub_pc().

#define itype_op (   x)    (x >> 26)
#define itype_rs (   x)    ((x >> 21) & 0x1f)
#define itype_rt (   x)    ((x >> 16) & 0x1f)
#define jtype_op (   x)    (x >> 26)

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

#define jtype_target (   x)    (x & 0x03ffffff)

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

Referenced by mips32_next_pc(), and mips_get_mips16_fn_stub_pc().

#define LL_OPCODE   0x30

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

Referenced by mips_deal_with_atomic_sequence().

#define LLD_OPCODE   0x34

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

Referenced by mips_deal_with_atomic_sequence().

#define micromips_op (   x)    ((x) >> 10)
#define mips32_op (   x)    (x >> 26)

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

#define MIPS_DEFAULT_FPU_TYPE   MIPS_FPU_DOUBLE

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

Referenced by mips_dump_tdep().

#define MIPS_EABI (   gdbarch)
Value:
struct gdbarch_tdep * gdbarch_tdep(struct gdbarch *gdbarch)
Definition: gdbarch.c:1402
enum mips_abi mips_abi
Definition: mips-tdep.h:92

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

Referenced by fp_register_arg_p(), and mips_dump_tdep().

#define MIPS_FPU_TYPE (   gdbarch)    (gdbarch_tdep (gdbarch)->mips_fpu_type)
#define MIPS_LAST_ARG_REGNUM (   gdbarch)    (gdbarch_tdep (gdbarch)->mips_last_arg_regnum)
#define MIPS_LAST_FP_ARG_REGNUM (   gdbarch)    (gdbarch_tdep (gdbarch)->mips_last_fp_arg_regnum)
#define PROPERTY_GP32   "internal: transfers-32bit-registers"

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

Referenced by _initialize_mips_tdep(), and mips_gdbarch_init().

#define PROPERTY_GP64   "internal: transfers-64bit-registers"

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

Referenced by _initialize_mips_tdep(), and mips_gdbarch_init().

#define R (   n)    { "r" #n, n }
#define R (   n)    { #n, n }
#define rtype_funct (   x)    (x & 0x3f)
#define rtype_op (   x)    (x >> 26)

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

#define rtype_rd (   x)    ((x >> 11) & 0x1f)

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

Referenced by mips_get_mips16_fn_stub_pc().

#define rtype_rs (   x)    ((x >> 21) & 0x1f)

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

Referenced by mips32_next_pc(), and mips_get_mips16_fn_stub_pc().

#define rtype_rt (   x)    ((x >> 16) & 0x1f)

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

Referenced by mips_get_mips16_fn_stub_pc().

#define rtype_shamt (   x)    ((x >> 6) & 0x1f)

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

#define SC_OPCODE   0x38

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

Referenced by mips_deal_with_atomic_sequence().

#define SCD_OPCODE   0x3c

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

Referenced by mips_deal_with_atomic_sequence().

#define ST0_FR   (1 << 26)

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

Referenced by mips2_fp_compat().

#define VM_MIN_ADDRESS   (CORE_ADDR)0x400000

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

Referenced by gnu_find_memory_regions(), and heuristic_proc_start().

Enumeration Type Documentation

anonymous enum
Enumerator
MIPS_FPU_SINGLE_REGSIZE 
MIPS_FPU_DOUBLE_REGSIZE 

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

anonymous enum
Enumerator
MIPS32_REGSIZE 
MIPS64_REGSIZE 

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

anonymous enum
Enumerator
NUM_MIPS_PROCESSOR_REGS 

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

Enumerator
itype 
ritype 
rrtype 
rritype 
rrrtype 
rriatype 
shifttype 
i8type 
i8movtype 
i8mov32rtype 
i64type 
ri64type 
jalxtype 
exiItype 
extRitype 
extRRItype 
extRRIAtype 
EXTshifttype 
extI8type 
extI64type 
extRi64type 
extshift64type 

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

Enumerator
mips_fval_fpr 
mips_fval_gpr 
mips_fval_both 

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

Function Documentation

void _initialize_mips_tdep ( void  )
static CORE_ADDR add_offset_16 ( CORE_ADDR  pc,
int  offset 
)
static

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

Referenced by extended_mips16_next_pc().

static int deal_with_atomic_sequence ( struct gdbarch gdbarch,
struct address_space aspace,
CORE_ADDR  pc 
)
static
void deprecated_mips_set_processor_regs_hack ( void  )
static CORE_ADDR extended_mips16_next_pc ( struct frame_info frame,
CORE_ADDR  pc,
unsigned int  extension,
unsigned int  insn 
)
static
static CORE_ADDR extended_offset ( unsigned int  extension)
static

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

Referenced by unpack_mips16().

static unsigned int fetch_mips_16 ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static int fp_register_arg_p ( struct gdbarch gdbarch,
enum type_code  typecode,
struct type arg_type 
)
static
static int gdb_print_insn_mips ( bfd_vma  memaddr,
struct disassemble_info *  info 
)
static
static int gdb_print_insn_mips_n32 ( bfd_vma  memaddr,
struct disassemble_info *  info 
)
static

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

References gdb_print_insn_mips().

Referenced by mips_gdbarch_init().

static int gdb_print_insn_mips_n64 ( bfd_vma  memaddr,
struct disassemble_info *  info 
)
static

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

References gdb_print_insn_mips().

Referenced by mips_gdbarch_init().

static enum mips_abi global_mips_abi ( void  )
static

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

References _, internal_error(), mips_abi_string, and mips_abi_strings.

Referenced by mips_gdbarch_init(), and show_mips_abi().

static enum mips_isa global_mips_compression ( void  )
static

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

References _, internal_error(), mips_compression_string, and mips_compression_strings.

Referenced by mips_gdbarch_init().

static CORE_ADDR heuristic_proc_start ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static int is_compact_addr ( CORE_ADDR  addr)
static

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

Referenced by is_micromips_addr(), is_mips16_addr(), and is_mips_addr().

static int is_micromips_addr ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)
static

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

References is_compact_addr(), and is_micromips_isa().

Referenced by mips_pc_is_micromips(), and mips_pc_isa().

static int is_micromips_isa ( struct gdbarch gdbarch)
static

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

References gdbarch_tdep(), ISA_MICROMIPS, and gdbarch_tdep::mips_isa.

Referenced by is_micromips_addr().

static int is_mips16_addr ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)
static

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

References is_compact_addr(), and is_mips16_isa().

Referenced by mips_pc_is_mips16().

static int is_mips16_isa ( struct gdbarch gdbarch)
static

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

References gdbarch_tdep(), ISA_MIPS16, and gdbarch_tdep::mips_isa.

Referenced by is_mips16_addr().

static int is_mips_addr ( CORE_ADDR  addr)
static

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

References is_compact_addr().

Referenced by mips_pc_is_mips(), and mips_pc_isa().

static int is_octeon ( struct gdbarch gdbarch)
static

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

References gdbarch_bfd_arch_info().

Referenced by is_octeon_bbit_op().

static int is_octeon_bbit_op ( int  op,
struct gdbarch gdbarch 
)
static

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

References is_octeon().

Referenced by mips32_instruction_has_delay_slot(), and mips32_next_pc().

static CORE_ADDR make_compact_addr ( CORE_ADDR  addr)
static
static CORE_ADDR micromips_bc1_pc ( struct gdbarch gdbarch,
struct frame_info frame,
ULONGEST  insn,
CORE_ADDR  pc,
int  count 
)
static
static int micromips_deal_with_atomic_sequence ( struct gdbarch gdbarch,
struct address_space aspace,
CORE_ADDR  pc 
)
static
static int micromips_decode_imm9 ( int  imm)
static
static int micromips_insn_at_pc_has_delay_slot ( struct gdbarch gdbarch,
CORE_ADDR  addr,
int  mustbe32 
)
static
static int micromips_instruction_has_delay_slot ( ULONGEST  insn,
int  mustbe32 
)
static

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

References b0s6_op, b5s5_op, b6s10_ext, and micromips_op.

Referenced by micromips_insn_at_pc_has_delay_slot(), and micromips_scan_prologue().

static int micromips_instruction_is_compact_branch ( unsigned short  insn)
static

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

References b5s5_op, and micromips_op.

Referenced by micromips_scan_prologue().

static CORE_ADDR micromips_next_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static int micromips_pc_insn_size ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static

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

References ISA_MICROMIPS, mips_fetch_instruction(), and mips_insn_size().

Referenced by micromips_bc1_pc(), and micromips_next_pc().

static LONGEST micromips_relative_offset10 ( ULONGEST  insn)
static

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

References b0s10_imm.

Referenced by micromips_next_pc().

static LONGEST micromips_relative_offset16 ( ULONGEST  insn)
static

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

References b0s16_imm.

Referenced by micromips_bc1_pc(), micromips_deal_with_atomic_sequence(), and micromips_next_pc().

static LONGEST micromips_relative_offset7 ( ULONGEST  insn)
static

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

References b0s7_imm.

Referenced by micromips_deal_with_atomic_sequence(), and micromips_next_pc().

static CORE_ADDR micromips_scan_prologue ( struct gdbarch gdbarch,
CORE_ADDR  start_pc,
CORE_ADDR  limit_pc,
struct frame_info this_frame,
struct mips_frame_cache this_cache 
)
static
static int micromips_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static int mips16_get_imm ( unsigned short  prev_inst,
unsigned short  inst,
int  nbits,
int  scale,
int  is_signed 
)
static

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

References offset.

Referenced by mips16_scan_prologue().

static int mips16_insn_at_pc_has_delay_slot ( struct gdbarch gdbarch,
CORE_ADDR  addr,
int  mustbe32 
)
static
static int mips16_instruction_has_delay_slot ( unsigned short  inst,
int  mustbe32 
)
static

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

Referenced by mips16_insn_at_pc_has_delay_slot(), and mips16_scan_prologue().

static int mips16_instruction_is_compact_branch ( unsigned short  insn)
static

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

Referenced by mips16_scan_prologue().

static CORE_ADDR mips16_next_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static

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

References extended_mips16_next_pc(), fetch_mips_16(), and get_frame_arch().

Referenced by mips_next_pc().

static CORE_ADDR mips16_scan_prologue ( struct gdbarch gdbarch,
CORE_ADDR  start_pc,
CORE_ADDR  limit_pc,
struct frame_info this_frame,
struct mips_frame_cache this_cache 
)
static
static int mips16_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static int mips2_fp_compat ( struct frame_info frame)
static
static CORE_ADDR mips32_bc1_pc ( struct gdbarch gdbarch,
struct frame_info frame,
ULONGEST  inst,
CORE_ADDR  pc,
int  count 
)
static
static int mips32_insn_at_pc_has_delay_slot ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)
static
static int mips32_instruction_has_delay_slot ( struct gdbarch gdbarch,
ULONGEST  inst 
)
static
static CORE_ADDR mips32_next_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static LONGEST mips32_relative_offset ( ULONGEST  inst)
static

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

References itype_immediate.

Referenced by mips32_bc1_pc(), mips32_next_pc(), and mips_deal_with_atomic_sequence().

static CORE_ADDR mips32_scan_prologue ( struct gdbarch gdbarch,
CORE_ADDR  start_pc,
CORE_ADDR  limit_pc,
struct frame_info this_frame,
struct mips_frame_cache this_cache 
)
static
static int mips32_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
enum mips_abi mips_abi ( struct gdbarch gdbarch)

Definition at line 236 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().

unsigned int mips_abi_regsize ( struct gdbarch gdbarch)
static void mips_abi_update ( char *  ignore_args,
int  from_tty,
struct cmd_list_element c 
)
static

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

References gdbarch_info_init(), and gdbarch_update_p().

Referenced by _initialize_mips_tdep().

static int mips_about_to_return ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static

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

References gdb_assert, ISA_MIPS, mips_fetch_instruction(), and mips_pc_is_mips().

Referenced by heuristic_proc_start().

static CORE_ADDR mips_addr_bits_remove ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)
static

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

References gdbarch_tdep(), and mips_mask_address_p().

Referenced by mips_gdbarch_init().

static CORE_ADDR mips_adjust_breakpoint_address ( struct gdbarch gdbarch,
CORE_ADDR  bpaddr 
)
static
static CORE_ADDR mips_adjust_dwarf2_addr ( CORE_ADDR  pc)
static
static CORE_ADDR mips_adjust_dwarf2_line ( CORE_ADDR  addr,
int  rel 
)
static

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

References mips_adjust_dwarf2_addr().

Referenced by mips_gdbarch_init().

static int mips_ax_pseudo_register_collect ( struct gdbarch gdbarch,
struct agent_expr ax,
int  reg 
)
static

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

References ax_reg_mask(), gdb_assert, and gdbarch_num_regs().

Referenced by mips_gdbarch_init().

static int mips_ax_pseudo_register_push_stack ( struct gdbarch gdbarch,
struct agent_expr ax,
int  reg 
)
static
static const gdb_byte* mips_breakpoint_from_pc ( struct gdbarch gdbarch,
CORE_ADDR pcptr,
int lenptr 
)
static
static int mips_convert_register_float_case_p ( struct gdbarch gdbarch,
int  regnum,
struct type type 
)
static
static int mips_convert_register_gpreg_case_p ( struct gdbarch gdbarch,
int  regnum,
struct type type 
)
static
static int mips_convert_register_p ( struct gdbarch gdbarch,
int  regnum,
struct type type 
)
static
static int mips_deal_with_atomic_sequence ( struct gdbarch gdbarch,
struct address_space aspace,
CORE_ADDR  pc 
)
static
static struct frame_id mips_dummy_id ( struct gdbarch gdbarch,
struct frame_info this_frame 
)
static
static void mips_dump_tdep ( struct gdbarch gdbarch,
struct ui_file file 
)
static
static int mips_dwarf_dwarf2_ecoff_reg_to_regnum ( struct gdbarch gdbarch,
int  num 
)
static
static CORE_ADDR mips_eabi_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
static
static enum return_value_convention mips_eabi_return_value ( struct gdbarch gdbarch,
struct value function,
struct type type,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
static
static void mips_elf_make_msymbol_special ( asymbol *  sym,
struct minimal_symbol msym 
)
static
static ULONGEST mips_fetch_instruction ( struct gdbarch gdbarch,
enum mips_isa  isa,
CORE_ADDR  addr,
int statusp 
)
static
static void mips_find_abi_section ( bfd *  abfd,
asection *  sect,
void *  obj 
)
static
static void mips_find_long_section ( bfd *  abfd,
asection *  sect,
void *  obj 
)
static

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

References _, name, startswith(), and warning().

Referenced by mips_gdbarch_init().

static int mips_float_register_p ( struct gdbarch gdbarch,
int  regnum 
)
static
static int mips_fpa0_regnum ( struct gdbarch gdbarch)
static
static CORE_ADDR mips_frame_align ( struct gdbarch gdbarch,
CORE_ADDR  addr 
)
static

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

References align_down().

Referenced by mips_gdbarch_init(), and mips_push_dummy_code().

static struct gdbarch* mips_gdbarch_init ( struct gdbarch_info  info,
struct gdbarch_list arches 
)
static

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

References _, gdbarch_info::abfd, address_to_signed_pointer(), mips_regnum::badvaddr, gdbarch_info::bfd_arch_info, mips_regnum::cause, core_addr_lessthan(), gdbarch_tdep::default_mask_address_p, mips_regnum::dspacc, mips_regnum::dspctl, dwarf2_append_unwinders(), dwarf2_frame_base_sniffer(), gdbarch_tdep::elf_flags, floatformats_ibm_long_double, gdbarch_tdep::found_abi, mips_regnum::fp0, mips_regnum::fp_control_status, mips_regnum::fp_implementation_revision, fprintf_unfiltered(), frame_base_append_sniffer(), frame_unwind_append_unwinder(), GDB_OSABI_IRIX, GDB_OSABI_LINUX, gdb_print_insn_mips(), gdb_print_insn_mips_n32(), gdb_print_insn_mips_n64(), gdb_stdlog, gdbarch_list::gdbarch, gdbarch_alloc(), gdbarch_debug, gdbarch_init_osabi(), gdbarch_list_lookup_by_info(), gdbarch_num_regs(), GDBARCH_OBSTACK_ZALLOC, gdbarch_tdep(), global_mips_abi(), global_mips_compression(), mips_regnum::hi, internal_error(), ISA_MICROMIPS, ISA_MIPS16, mips_regnum::lo, gdbarch_tdep::mips64_transfers_32bit_regs_p, mips64_transfers_32bit_regs_p, MIPS_A0_REGNUM, gdbarch_tdep::mips_abi, mips_abi(), MIPS_ABI_EABI32, MIPS_ABI_EABI64, MIPS_ABI_N32, MIPS_ABI_N64, MIPS_ABI_O32, MIPS_ABI_O64, MIPS_ABI_UNKNOWN, mips_addr_bits_remove(), mips_adjust_breakpoint_address(), mips_adjust_dwarf2_addr(), mips_adjust_dwarf2_line(), mips_ax_pseudo_register_collect(), mips_ax_pseudo_register_push_stack(), mips_breakpoint_from_pc(), mips_compression_string, mips_compression_strings, mips_convert_register_p(), mips_dummy_id(), mips_dwarf_dwarf2_ecoff_reg_to_regnum(), mips_eabi_push_dummy_call(), mips_eabi_return_value(), mips_elf_make_msymbol_special(), MIPS_EMBED_BADVADDR_REGNUM, MIPS_EMBED_CAUSE_REGNUM, MIPS_EMBED_FP0_REGNUM, MIPS_EMBED_HI_REGNUM, MIPS_EMBED_LO_REGNUM, MIPS_EMBED_PC_REGNUM, mips_find_abi_section(), mips_find_long_section(), MIPS_FPU_DOUBLE, MIPS_FPU_NONE, MIPS_FPU_SINGLE, gdbarch_tdep::mips_fpu_type, mips_fpu_type, mips_fpu_type_auto, mips_frame_align(), mips_generic_reg_names, mips_in_return_stub(), mips_insn16_frame_base_sniffer(), mips_insn32_frame_base_sniffer(), mips_integer_to_address(), mips_irix_reg_names, gdbarch_tdep::mips_isa, gdbarch_tdep::mips_last_arg_regnum, MIPS_LAST_EMBED_REGNUM, gdbarch_tdep::mips_last_fp_arg_regnum, mips_linux_reg_names, mips_make_symbol_special(), mips_micro_frame_base_sniffer(), mips_n32n64_push_dummy_call(), mips_n32n64_return_value(), mips_o32_push_dummy_call(), mips_o32_return_value(), mips_o64_push_dummy_call(), mips_o64_return_value(), mips_print_float_info(), mips_print_registers_info(), gdbarch_tdep::mips_processor_reg_names, MIPS_PS_REGNUM, mips_pseudo_register_read(), mips_pseudo_register_type(), mips_pseudo_register_write(), mips_push_dummy_code(), MIPS_RA_REGNUM, mips_read_pc(), mips_register_g_packet_guesses(), mips_register_name(), mips_register_reggroup_p(), mips_register_sim_regno(), mips_register_to_value(), mips_register_type(), mips_regnum(), mips_remote_breakpoint_from_pc(), mips_single_step_through_delay(), mips_skip_prologue(), mips_skip_trampoline_code(), MIPS_SP_REGNUM, mips_stab_reg_to_regnum(), mips_stack_frame_destroyed_p(), mips_stub_frame_base_sniffer(), mips_tdesc_register_reggroup_p(), mips_tx39_reg_names, mips_unwind_pc(), mips_unwind_sp(), mips_value_to_register(), mips_virtual_frame_pointer(), mips_write_pc(), MIPS_ZERO_REGNUM, name, gdbarch_list::next, gdbarch_tdep::num_regs, ON_STACK, gdbarch_info::osabi, mips_regnum::pc, PROPERTY_GP32, PROPERTY_GP64, gdbarch_tdep::register_size, gdbarch_tdep::register_size_valid_p, regnum, gdbarch_tdep::regnum, set_gdbarch_addr_bits_remove(), set_gdbarch_address_to_pointer(), set_gdbarch_adjust_breakpoint_address(), set_gdbarch_adjust_dwarf2_addr(), set_gdbarch_adjust_dwarf2_line(), set_gdbarch_ax_pseudo_register_collect(), set_gdbarch_ax_pseudo_register_push_stack(), set_gdbarch_breakpoint_from_pc(), set_gdbarch_call_dummy_location(), set_gdbarch_convert_register_p(), set_gdbarch_double_bit(), set_gdbarch_dummy_id(), set_gdbarch_dwarf2_reg_to_regnum(), set_gdbarch_ecoff_reg_to_regnum(), set_gdbarch_elf_make_msymbol_special(), set_gdbarch_float_bit(), set_gdbarch_fp0_regnum(), set_gdbarch_frame_align(), set_gdbarch_have_nonsteppable_watchpoint(), set_gdbarch_in_solib_return_trampoline(), set_gdbarch_inner_than(), set_gdbarch_int_bit(), set_gdbarch_integer_to_address(), set_gdbarch_long_bit(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_long_long_bit(), set_gdbarch_make_symbol_special(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_pc_regnum(), set_gdbarch_pointer_to_address(), set_gdbarch_print_float_info(), set_gdbarch_print_insn(), set_gdbarch_print_registers_info(), set_gdbarch_pseudo_register_read(), set_gdbarch_pseudo_register_write(), set_gdbarch_ptr_bit(), set_gdbarch_push_dummy_call(), set_gdbarch_push_dummy_code(), set_gdbarch_read_pc(), set_gdbarch_register_name(), set_gdbarch_register_reggroup_p(), set_gdbarch_register_sim_regno(), set_gdbarch_register_to_value(), set_gdbarch_register_type(), set_gdbarch_remote_breakpoint_from_pc(), set_gdbarch_return_value(), set_gdbarch_short_bit(), set_gdbarch_single_step_through_delay(), set_gdbarch_skip_prologue(), set_gdbarch_skip_trampoline_code(), set_gdbarch_sp_regnum(), set_gdbarch_stab_reg_to_regnum(), set_gdbarch_stack_frame_destroyed_p(), set_gdbarch_unwind_pc(), set_gdbarch_unwind_sp(), set_gdbarch_value_to_register(), set_gdbarch_vbit_in_delta(), set_gdbarch_virtual_frame_pointer(), set_gdbarch_write_pc(), set_tdesc_pseudo_register_type(), signed_pointer_to_address(), gdbarch_info::target_desc, gdbarch_info::tdep_info, tdesc_data, tdesc_data_alloc(), tdesc_data_cleanup(), tdesc_find_feature(), tdesc_has_registers(), tdesc_numbered_register(), tdesc_property(), tdesc_use_registers(), user_reg_add(), value_of_mips_user_reg(), and xmalloc().

Referenced by _initialize_mips_tdep().

static CORE_ADDR mips_get_mips16_fn_stub_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static int mips_in_frame_stub ( CORE_ADDR  pc)
static

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

References find_pc_partial_function(), name, and startswith().

Referenced by mips_unwind_pc().

static int mips_in_return_stub ( struct gdbarch gdbarch,
CORE_ADDR  pc,
const char *  name 
)
static

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

References find_pc_partial_function(), mips_is_stub_mode(), and mips_is_stub_suffix().

Referenced by mips_gdbarch_init().

static CORE_ADDR mips_insn16_frame_base_address ( struct frame_info this_frame,
void **  this_cache 
)
static

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

References mips_frame_cache::base, and mips_insn16_frame_cache().

static const struct frame_base* mips_insn16_frame_base_sniffer ( struct frame_info this_frame)
static

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

References get_frame_arch(), get_frame_pc(), mips_insn16_frame_base, and mips_pc_is_mips16().

Referenced by mips_gdbarch_init().

static struct mips_frame_cache* mips_insn16_frame_cache ( struct frame_info this_frame,
void **  this_cache 
)
static
static struct value* mips_insn16_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static
static int mips_insn16_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static

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

References get_frame_arch(), get_frame_pc(), and mips_pc_is_mips16().

static void mips_insn16_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
static CORE_ADDR mips_insn32_frame_base_address ( struct frame_info this_frame,
void **  this_cache 
)
static

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

References mips_frame_cache::base, and mips_insn32_frame_cache().

static const struct frame_base* mips_insn32_frame_base_sniffer ( struct frame_info this_frame)
static

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

References get_frame_pc(), mips_insn32_frame_base, and mips_pc_is_mips().

Referenced by mips_gdbarch_init().

static struct mips_frame_cache* mips_insn32_frame_cache ( struct frame_info this_frame,
void **  this_cache 
)
static
static struct value* mips_insn32_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static
static int mips_insn32_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static

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

References get_frame_pc(), and mips_pc_is_mips().

static void mips_insn32_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
static int mips_insn_size ( enum mips_isa  isa,
ULONGEST  insn 
)
static
static CORE_ADDR mips_integer_to_address ( struct gdbarch gdbarch,
struct type type,
const gdb_byte buf 
)
static

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

References extract_signed_integer(), gdbarch_byte_order(), and TYPE_LENGTH.

Referenced by mips_gdbarch_init().

static int mips_is_stub_mode ( const char *  mode)
static

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

Referenced by mips_in_return_stub(), and mips_skip_mips16_trampoline_code().

static int mips_is_stub_suffix ( const char *  suffix,
int  zero 
)
static

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

Referenced by mips_in_return_stub(), and mips_skip_mips16_trampoline_code().

int mips_isa_regsize ( struct gdbarch gdbarch)
static void mips_make_symbol_special ( struct symbol sym,
struct objfile objfile 
)
static
static int mips_mask_address_p ( struct gdbarch_tdep tdep)
static
static CORE_ADDR mips_micro_frame_base_address ( struct frame_info this_frame,
void **  this_cache 
)
static

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

References mips_frame_cache::base, and mips_micro_frame_cache().

static const struct frame_base* mips_micro_frame_base_sniffer ( struct frame_info this_frame)
static
static struct mips_frame_cache* mips_micro_frame_cache ( struct frame_info this_frame,
void **  this_cache 
)
static
static struct value* mips_micro_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static
static int mips_micro_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static

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

References get_frame_arch(), get_frame_pc(), and mips_pc_is_micromips().

static void mips_micro_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static
static int mips_n32n64_fp_arg_chunk_p ( struct gdbarch gdbarch,
struct type arg_type,
int  offset 
)
static
static CORE_ADDR mips_n32n64_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
static
static enum return_value_convention mips_n32n64_return_value ( struct gdbarch gdbarch,
struct value function,
struct type type,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
static
static CORE_ADDR mips_next_pc ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_o32_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
static
static enum return_value_convention mips_o32_return_value ( struct gdbarch gdbarch,
struct value function,
struct type type,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
static
static CORE_ADDR mips_o64_push_dummy_call ( struct gdbarch gdbarch,
struct value function,
struct regcache regcache,
CORE_ADDR  bp_addr,
int  nargs,
struct value **  args,
CORE_ADDR  sp,
int  struct_return,
CORE_ADDR  struct_addr 
)
static
static enum return_value_convention mips_o64_return_value ( struct gdbarch gdbarch,
struct value function,
struct type type,
struct regcache regcache,
gdb_byte readbuf,
const gdb_byte writebuf 
)
static
int mips_pc_is_micromips ( struct gdbarch gdbarch,
CORE_ADDR  memaddr 
)
int mips_pc_is_mips ( CORE_ADDR  memaddr)
int mips_pc_is_mips16 ( struct gdbarch gdbarch,
CORE_ADDR  memaddr 
)
static enum mips_isa mips_pc_isa ( struct gdbarch gdbarch,
CORE_ADDR  memaddr 
)
static
static void mips_print_float_info ( struct gdbarch gdbarch,
struct ui_file file,
struct frame_info frame,
const char *  args 
)
static
static void mips_print_fp_register ( struct ui_file file,
struct frame_info frame,
int  regnum 
)
static
static void mips_print_register ( struct ui_file file,
struct frame_info frame,
int  regnum 
)
static
static void mips_print_registers_info ( struct gdbarch gdbarch,
struct ui_file file,
struct frame_info frame,
int  regnum,
int  all 
)
static
static enum register_status mips_pseudo_register_read ( struct gdbarch gdbarch,
struct regcache regcache,
int  cookednum,
gdb_byte buf 
)
static
static struct type* mips_pseudo_register_type ( struct gdbarch gdbarch,
int  regnum 
)
static
static void mips_pseudo_register_write ( struct gdbarch gdbarch,
struct regcache regcache,
int  cookednum,
const gdb_byte buf 
)
static
static CORE_ADDR mips_push_dummy_code ( struct gdbarch gdbarch,
CORE_ADDR  sp,
CORE_ADDR  funaddr,
struct value **  args,
int  nargs,
struct type value_type,
CORE_ADDR real_pc,
CORE_ADDR bp_addr,
struct regcache regcache 
)
static
static void mips_read_fp_register_double ( struct frame_info frame,
int  regno,
gdb_byte rare_buffer 
)
static
static void mips_read_fp_register_single ( struct frame_info frame,
int  regno,
gdb_byte rare_buffer 
)
static
static CORE_ADDR mips_read_pc ( struct regcache regcache)
static
static void mips_register_g_packet_guesses ( struct gdbarch gdbarch)
static

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

References register_remote_g_packet_guess().

Referenced by mips_gdbarch_init().

static const char* mips_register_name ( struct gdbarch gdbarch,
int  regno 
)
static
static int mips_register_reggroup_p ( struct gdbarch gdbarch,
int  regnum,
struct reggroup reggroup 
)
static
static int mips_register_sim_regno ( struct gdbarch gdbarch,
int  regnum 
)
static
static int mips_register_to_value ( struct frame_info frame,
int  regnum,
struct type type,
gdb_byte to,
int optimizedp,
int unavailablep 
)
static
static struct type * mips_register_type ( struct gdbarch gdbarch,
int  regnum 
)
static
const struct mips_regnum* mips_regnum ( struct gdbarch gdbarch)
static void mips_remote_breakpoint_from_pc ( struct gdbarch gdbarch,
CORE_ADDR pcptr,
int kindptr 
)
static
static CORE_ADDR mips_segment_boundary ( CORE_ADDR  bpaddr)
static

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

References CORE_ADDR_MAX.

Referenced by mips_adjust_breakpoint_address().

static int mips_single_step_through_delay ( struct gdbarch gdbarch,
struct frame_info frame 
)
static
static CORE_ADDR mips_skip_mips16_trampoline_code ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_skip_pic_trampoline_code ( struct frame_info frame,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_skip_prologue ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_skip_trampoline_code ( struct frame_info frame,
CORE_ADDR  pc 
)
static
int mips_software_single_step ( struct frame_info frame)
static int mips_stab_reg_to_regnum ( struct gdbarch gdbarch,
int  num 
)
static
static int mips_stack_frame_destroyed_p ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_stub_frame_base_address ( struct frame_info this_frame,
void **  this_cache 
)
static

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

References mips_stub_frame_cache(), and trad_frame_get_this_base().

static const struct frame_base* mips_stub_frame_base_sniffer ( struct frame_info this_frame)
static

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

References mips_stub_frame_base, and mips_stub_frame_sniffer().

Referenced by mips_gdbarch_init().

static struct trad_frame_cache* mips_stub_frame_cache ( struct frame_info this_frame,
void **  this_cache 
)
static
static struct value* mips_stub_frame_prev_register ( struct frame_info this_frame,
void **  this_cache,
int  regnum 
)
static

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

References mips_stub_frame_cache(), and trad_frame_get_register().

static int mips_stub_frame_sniffer ( const struct frame_unwind self,
struct frame_info this_frame,
void **  this_cache 
)
static
static void mips_stub_frame_this_id ( struct frame_info this_frame,
void **  this_cache,
struct frame_id this_id 
)
static

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

References mips_stub_frame_cache(), and trad_frame_get_id().

static int mips_tdesc_register_reggroup_p ( struct gdbarch gdbarch,
int  regnum,
struct reggroup reggroup 
)
static
static int mips_type_needs_double_align ( struct type type)
static
CORE_ADDR mips_unmake_compact_addr ( CORE_ADDR  addr)

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

References unmake_compact_addr().

Referenced by micromips_linux_sigframe_validate().

static CORE_ADDR mips_unwind_pc ( struct gdbarch gdbarch,
struct frame_info next_frame 
)
static
static CORE_ADDR mips_unwind_sp ( struct gdbarch gdbarch,
struct frame_info next_frame 
)
static

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

References frame_unwind_register_signed(), gdbarch_num_regs(), and MIPS_SP_REGNUM.

Referenced by mips_gdbarch_init().

static void mips_value_to_register ( struct frame_info frame,
int  regnum,
struct type type,
const gdb_byte from 
)
static
static void mips_virtual_frame_pointer ( struct gdbarch gdbarch,
CORE_ADDR  pc,
int reg,
LONGEST offset 
)
static

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

References MIPS_SP_REGNUM.

Referenced by mips_gdbarch_init().

void mips_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static void mips_xfer_register ( struct gdbarch gdbarch,
struct regcache regcache,
int  reg_num,
int  length,
enum bfd_endian  endian,
gdb_byte in,
const gdb_byte out,
int  buf_offset 
)
static
static int msymbol_is_micromips ( struct minimal_symbol msym)
static

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

References MSYMBOL_TARGET_FLAG_MICROMIPS.

Referenced by mips_pc_is_micromips(), and mips_pc_isa().

static int msymbol_is_mips ( struct minimal_symbol msym)
static
static int msymbol_is_mips16 ( struct minimal_symbol msym)
static

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

References MSYMBOL_TARGET_FLAG_MIPS16.

Referenced by mips_pc_is_mips16(), and mips_pc_isa().

static int print_fp_register_row ( struct ui_file file,
struct frame_info frame,
int  regnum 
)
static

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

References fprintf_filtered(), and mips_print_fp_register().

Referenced by mips_print_registers_info().

static void print_fpu_flags ( struct ui_file file,
int  flags 
)
static

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

References fputc_filtered(), and fputs_filtered().

Referenced by mips_print_float_info().

static int print_gp_register_row ( struct ui_file file,
struct frame_info frame,
int  start_regnum 
)
static
static void reinit_frame_cache_sfunc ( char *  args,
int  from_tty,
struct cmd_list_element c 
)
static

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

References reinit_frame_cache().

Referenced by _initialize_mips_tdep().

static void reset_saved_regs ( struct gdbarch gdbarch,
struct mips_frame_cache this_cache 
)
static
static void set_mips64_transfers_32bit_regs ( char *  args,
int  from_tty,
struct cmd_list_element c 
)
static

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

References _, error(), gdbarch_info_init(), and gdbarch_update_p().

Referenced by _initialize_mips_tdep().

static void set_mips_command ( char *  args,
int  from_tty 
)
static

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

References all_commands, gdb_stdout, help_list(), and printf_unfiltered().

Referenced by _initialize_mips_tdep().

static void set_mipsfpu_auto_command ( char *  args,
int  from_tty 
)
static

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

References mips_fpu_type_auto.

Referenced by _initialize_mips_tdep().

static void set_mipsfpu_command ( char *  args,
int  from_tty 
)
static

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

References printf_unfiltered(), and show_mipsfpu_command().

Referenced by _initialize_mips_tdep().

static void set_mipsfpu_double_command ( char *  args,
int  from_tty 
)
static
static void set_mipsfpu_none_command ( char *  args,
int  from_tty 
)
static
static void set_mipsfpu_single_command ( char *  args,
int  from_tty 
)
static
static void set_reg_offset ( struct gdbarch gdbarch,
struct mips_frame_cache this_cache,
int  regnum,
CORE_ADDR  offset 
)
static
static void show_mask_address ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static
static void show_mips_abi ( struct ui_file file,
int  from_tty,
struct cmd_list_element ignored_cmd,
const char *  ignored_value 
)
static
static void show_mips_command ( char *  args,
int  from_tty 
)
static

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

References all_commands, gdb_stdout, and help_list().

Referenced by _initialize_mips_tdep().

static void show_mips_compression ( struct ui_file file,
int  from_tty,
struct cmd_list_element c,
const char *  value 
)
static

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

References _, and fprintf_filtered().

Referenced by _initialize_mips_tdep().

static void show_mipsfpu_command ( char *  args,
int  from_tty 
)
static
static CORE_ADDR unmake_compact_addr ( CORE_ADDR  addr)
static
static void unpack_mips16 ( struct gdbarch gdbarch,
CORE_ADDR  pc,
unsigned int  extension,
unsigned int  inst,
enum mips16_inst_fmts  insn_format,
struct upk_mips16 upk 
)
static
static struct value* value_of_mips_user_reg ( struct frame_info frame,
const void *  baton 
)
static

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

References value_of_register().

Referenced by mips_gdbarch_init().

Variable Documentation

initialize_file_ftype _initialize_mips_tdep
int heuristic_fence_post = 0
static

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

Referenced by heuristic_proc_start().

enum auto_boolean mask_address_var = AUTO_BOOLEAN_AUTO

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

int mips64_transfers_32bit_regs_p = 0
static
const char* mips_abi_string
static

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

Referenced by _initialize_mips_tdep(), and global_mips_abi().

const char* const mips_abi_strings[]
static
Initial value:
= {
"auto",
"n32",
"o32",
"n64",
"o64",
"eabi32",
"eabi64",
NULL
}

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

Referenced by _initialize_mips_tdep(), global_mips_abi(), mips_dump_tdep(), and show_mips_abi().

const char mips_compression_micromips[] = "micromips"
static

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

const char mips_compression_mips16[] = "mips16"
static

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

const char* mips_compression_string = mips_compression_mips16
static

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

Referenced by _initialize_mips_tdep(), global_mips_compression(), and mips_gdbarch_init().

const char* const mips_compression_strings[]
static
Initial value:
=
{
NULL
}
static const char mips_compression_mips16[]
Definition: mips-tdep.c:113
static const char mips_compression_micromips[]
Definition: mips-tdep.c:114

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

Referenced by _initialize_mips_tdep(), global_mips_compression(), and mips_gdbarch_init().

unsigned int mips_debug = 0
static

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

Referenced by mips_gdbarch_init().

int mips_fpu_type_auto = 1
static
const char* mips_generic_reg_names[NUM_MIPS_PROCESSOR_REGS]
static
Initial value:
= {
"sr", "lo", "hi", "bad", "cause", "pc",
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
"fsr", "fir",
}

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

Referenced by mips_gdbarch_init().

const struct frame_base mips_insn16_frame_base
static
Initial value:
=
{
mips_insn16_frame_base_address
}
static const struct frame_unwind mips_insn16_frame_unwind
Definition: mips-tdep.c:2882
static CORE_ADDR mips_insn16_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:2893

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

Referenced by mips_insn16_frame_base_sniffer().

const struct frame_unwind mips_insn16_frame_unwind
static
Initial value:
=
{
NULL,
}
static void mips_insn16_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: mips-tdep.c:2851
static int mips_insn16_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:2872
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180
static struct value * mips_insn16_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: mips-tdep.c:2863

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

const struct frame_base mips_insn32_frame_base
static
Initial value:
=
{
mips_insn32_frame_base_address
}
static CORE_ADDR mips_insn32_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3715
static const struct frame_unwind mips_insn32_frame_unwind
Definition: mips-tdep.c:3704

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

Referenced by mips_insn32_frame_base_sniffer().

const struct frame_unwind mips_insn32_frame_unwind
static
Initial value:
=
{
NULL,
}
static struct value * mips_insn32_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: mips-tdep.c:3686
static void mips_insn32_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: mips-tdep.c:3674
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180
static int mips_insn32_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3695

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

const char* mips_irix_reg_names[NUM_MIPS_PROCESSOR_REGS]
static
Initial value:
= {
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
"pc", "cause", "bad", "hi", "lo", "fsr", "fir"
}

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

Referenced by mips_gdbarch_init().

const char* mips_linux_reg_names[NUM_MIPS_PROCESSOR_REGS]
static
Initial value:
= {
"sr", "lo", "hi", "bad", "cause", "pc",
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
"fsr", "fir"
}

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

Referenced by mips_gdbarch_init().

const struct frame_base mips_micro_frame_base
static
Initial value:
=
{
mips_micro_frame_base_address
}
static CORE_ADDR mips_micro_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3340
static const struct frame_unwind mips_micro_frame_unwind
Definition: mips-tdep.c:3329

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

Referenced by mips_micro_frame_base_sniffer().

const struct frame_unwind mips_micro_frame_unwind
static
Initial value:
=
{
NULL,
}
static struct value * mips_micro_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: mips-tdep.c:3309
static int mips_micro_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3318
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180
static void mips_micro_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: mips-tdep.c:3297

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

const struct register_alias mips_n32_n64_aliases[]
Initial value:
= {
{ "ta0", 8 },
{ "ta1", 9 },
{ "ta2", 10 },
{ "ta3", 11 }
}

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

const struct register_alias mips_numeric_register_aliases[]
Initial value:
= {
#define R(n)
R(0), R(1), R(2), R(3), R(4), R(5), R(6), R(7),
R(8), R(9), R(10), R(11), R(12), R(13), R(14), R(15),
R(16), R(17), R(18), R(19), R(20), R(21), R(22), R(23),
R(24), R(25), R(26), R(27), R(28), R(29), R(30), R(31),
}
#define R(n)

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

const struct register_alias mips_o32_aliases[]
Initial value:
= {
{ "ta0", 12 },
{ "ta1", 13 },
{ "ta2", 14 },
{ "ta3", 15 }
}

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

const struct objfile_data* mips_pdr_data
static

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

Referenced by _initialize_mips_tdep().

const char* mips_r3041_reg_names[]
static
Initial value:
= {
"sr", "lo", "hi", "bad", "cause", "pc",
"f0", "f1", "f2", "f3", "f4", "f5", "f6", "f7",
"f8", "f9", "f10", "f11", "f12", "f13", "f14", "f15",
"f16", "f17", "f18", "f19", "f20", "f21", "f22", "f23",
"f24", "f25", "f26", "f27", "f28", "f29", "f30", "f31",
"fsr", "fir", "", "",
"", "", "bus", "ccfg", "", "", "", "",
"", "", "port", "cmp", "", "", "epc", "prid",
}

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

Referenced by deprecated_mips_set_processor_regs_hack().

const signed char mips_reg3_to_reg[8] = { 16, 17, 2, 3, 4, 5, 6, 7 }
static

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

const struct register_alias mips_register_aliases[]
Initial value:
= {
#define R(n)
R(0), R(1), R(2), R(3), R(4), R(5), R(6), R(7),
R(8), R(9), R(10), R(11), R(12), R(13), R(14), R(15),
R(16), R(17), R(18), R(19), R(20), R(21), R(22), R(23),
R(24), R(25), R(26), R(27), R(28), R(29), R(30), R(31),
{ "kt0", 26 },
{ "kt1", 27 },
{ "sr", MIPS_PS_REGNUM },
{ "fsr", MIPS_EMBED_FP0_REGNUM + 32 }
}
#define R(n)

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

const char mips_str_call_fp_stub[] = "__call_stub_fp_"
static

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

const char mips_str_call_stub[] = "__call_stub_"
static

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

const char mips_str_fn_stub[] = "__fn_stub_"
static

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

const char mips_str_mips16_call_stub[] = "__mips16_call_stub_"
static

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

const char mips_str_mips16_ret_stub[] = "__mips16_ret_"
static

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

const char mips_str_pic[] = ".pic."
static

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

const struct frame_base mips_stub_frame_base
static
Initial value:
=
{
mips_stub_frame_base_address
}
static CORE_ADDR mips_stub_frame_base_address(struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3832
static const struct frame_unwind mips_stub_frame_unwind
Definition: mips-tdep.c:3821

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

Referenced by mips_stub_frame_base_sniffer().

const struct frame_unwind mips_stub_frame_unwind
static
Initial value:
=
{
NULL,
}
static struct value * mips_stub_frame_prev_register(struct frame_info *this_frame, void **this_cache, int regnum)
Definition: mips-tdep.c:3786
static void mips_stub_frame_this_id(struct frame_info *this_frame, void **this_cache, struct frame_id *this_id)
Definition: mips-tdep.c:3777
static int mips_stub_frame_sniffer(const struct frame_unwind *self, struct frame_info *this_frame, void **this_cache)
Definition: mips-tdep.c:3795
enum unwind_stop_reason default_frame_unwind_stop_reason(struct frame_info *this_frame, void **this_cache)
Definition: frame-unwind.c:180

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

struct target_desc* mips_tdesc_gp32

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

Referenced by mips_linux_core_read_description().

struct target_desc* mips_tdesc_gp64

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

Referenced by mips_linux_core_read_description().

const char* mips_tx39_reg_names[NUM_MIPS_PROCESSOR_REGS]
static
Initial value:
= {
"sr", "lo", "hi", "bad", "cause", "pc",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "", "",
"", "", "", "", "", "", "", "",
"", "", "config", "cache", "debug", "depc", "epc",
}

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

Referenced by mips_gdbarch_init().

struct cmd_list_element* setmipscmdlist = NULL
static

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

struct cmd_list_element* showmipscmdlist = NULL
static

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