GDB (xrefs)
Macros | Enumerations | Functions | Variables
/tmp/gdb-7.10/gdb/mips-linux-tdep.c File Reference
#include "defs.h"
#include "gdbcore.h"
#include "target.h"
#include "solib-svr4.h"
#include "osabi.h"
#include "mips-tdep.h"
#include "frame.h"
#include "regcache.h"
#include "trad-frame.h"
#include "tramp-frame.h"
#include "gdbtypes.h"
#include "objfiles.h"
#include "solib.h"
#include "solist.h"
#include "symtab.h"
#include "target-descriptions.h"
#include "regset.h"
#include "mips-linux-tdep.h"
#include "glibc-tdep.h"
#include "linux-tdep.h"
#include "xml-syscall.h"
#include "gdb_signals.h"

Go to the source code of this file.

Macros

#define MIPS_LINUX_JB_ELEMENT_SIZE   4
 
#define MIPS_LINUX_JB_PC   0
 
#define MIPS64_LINUX_JB_PC   0
 
#define MIPS_NR_LINUX   4000
 
#define MIPS_NR_N64_LINUX   5000
 
#define MIPS_NR_N32_LINUX   6000
 
#define MIPS_NR_sigreturn   MIPS_NR_LINUX + 119
 
#define MIPS_NR_rt_sigreturn   MIPS_NR_LINUX + 193
 
#define MIPS_NR_N64_rt_sigreturn   MIPS_NR_N64_LINUX + 211
 
#define MIPS_NR_N32_rt_sigreturn   MIPS_NR_N32_LINUX + 211
 
#define MIPS_INST_LI_V0_SIGRETURN   0x24020000 + MIPS_NR_sigreturn
 
#define MIPS_INST_LI_V0_RT_SIGRETURN   0x24020000 + MIPS_NR_rt_sigreturn
 
#define MIPS_INST_LI_V0_N64_RT_SIGRETURN   0x24020000 + MIPS_NR_N64_rt_sigreturn
 
#define MIPS_INST_LI_V0_N32_RT_SIGRETURN   0x24020000 + MIPS_NR_N32_rt_sigreturn
 
#define MIPS_INST_SYSCALL   0x0000000c
 
#define MICROMIPS_INST_LI_V0   0x3040
 
#define MICROMIPS_INST_POOL32A   0x0000
 
#define MICROMIPS_INST_SYSCALL   0x8b7c
 
#define SIGFRAME_SIGCONTEXT_OFFSET   (6 * 4)
 
#define RTSIGFRAME_SIGINFO_SIZE   128
 
#define STACK_T_SIZE   (3 * 4)
 
#define UCONTEXT_SIGCONTEXT_OFFSET   (2 * 4 + STACK_T_SIZE + 4)
 
#define RTSIGFRAME_SIGCONTEXT_OFFSET
 
#define SIGCONTEXT_PC   (1 * 8)
 
#define SIGCONTEXT_REGS   (2 * 8)
 
#define SIGCONTEXT_FPREGS   (34 * 8)
 
#define SIGCONTEXT_FPCSR   (66 * 8 + 4)
 
#define SIGCONTEXT_DSPCTL   (68 * 8 + 0)
 
#define SIGCONTEXT_HI   (69 * 8)
 
#define SIGCONTEXT_LO   (70 * 8)
 
#define SIGCONTEXT_CAUSE   (71 * 8 + 0)
 
#define SIGCONTEXT_BADVADDR   (71 * 8 + 4)
 
#define SIGCONTEXT_HI1   (71 * 8 + 0)
 
#define SIGCONTEXT_LO1   (71 * 8 + 4)
 
#define SIGCONTEXT_HI2   (72 * 8 + 0)
 
#define SIGCONTEXT_LO2   (72 * 8 + 4)
 
#define SIGCONTEXT_HI3   (73 * 8 + 0)
 
#define SIGCONTEXT_LO3   (73 * 8 + 4)
 
#define SIGCONTEXT_REG_SIZE   8
 
#define N32_STACK_T_SIZE   STACK_T_SIZE
 
#define N64_STACK_T_SIZE   (2 * 8 + 4)
 
#define N32_UCONTEXT_SIGCONTEXT_OFFSET   (2 * 4 + N32_STACK_T_SIZE + 4)
 
#define N64_UCONTEXT_SIGCONTEXT_OFFSET   (2 * 8 + N64_STACK_T_SIZE + 4)
 
#define N32_SIGFRAME_SIGCONTEXT_OFFSET
 
#define N64_SIGFRAME_SIGCONTEXT_OFFSET
 
#define N64_SIGCONTEXT_REGS   (0 * 8)
 
#define N64_SIGCONTEXT_FPREGS   (32 * 8)
 
#define N64_SIGCONTEXT_HI   (64 * 8)
 
#define N64_SIGCONTEXT_HI1   (65 * 8)
 
#define N64_SIGCONTEXT_HI2   (66 * 8)
 
#define N64_SIGCONTEXT_HI3   (67 * 8)
 
#define N64_SIGCONTEXT_LO   (68 * 8)
 
#define N64_SIGCONTEXT_LO1   (69 * 8)
 
#define N64_SIGCONTEXT_LO2   (70 * 8)
 
#define N64_SIGCONTEXT_LO3   (71 * 8)
 
#define N64_SIGCONTEXT_PC   (72 * 8)
 
#define N64_SIGCONTEXT_FPCSR   (73 * 8 + 0)
 
#define N64_SIGCONTEXT_DSPCTL   (74 * 8 + 0)
 
#define N64_SIGCONTEXT_REG_SIZE   8
 

Enumerations

enum  {
  MIPS_LINUX_SIGEMT = 7, MIPS_LINUX_SIGBUS = 10, MIPS_LINUX_SIGSYS = 12, MIPS_LINUX_SIGUSR1 = 16,
  MIPS_LINUX_SIGUSR2 = 17, MIPS_LINUX_SIGCHLD = 18, MIPS_LINUX_SIGCLD = MIPS_LINUX_SIGCHLD, MIPS_LINUX_SIGPWR = 19,
  MIPS_LINUX_SIGWINCH = 20, MIPS_LINUX_SIGURG = 21, MIPS_LINUX_SIGIO = 22, MIPS_LINUX_SIGPOLL = MIPS_LINUX_SIGIO,
  MIPS_LINUX_SIGSTOP = 23, MIPS_LINUX_SIGTSTP = 24, MIPS_LINUX_SIGCONT = 25, MIPS_LINUX_SIGTTIN = 26,
  MIPS_LINUX_SIGTTOU = 27, MIPS_LINUX_SIGVTALRM = 28, MIPS_LINUX_SIGPROF = 29, MIPS_LINUX_SIGXCPU = 30,
  MIPS_LINUX_SIGXFSZ = 31, MIPS_LINUX_SIGRTMIN = 32, MIPS_LINUX_SIGRT64 = 64, MIPS_LINUX_SIGRTMAX = 127
}
 

Functions

static int mips_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
 
static void supply_32bit_reg (struct regcache *regcache, int regnum, const void *addr)
 
void mips_supply_gregset (struct regcache *regcache, const mips_elf_gregset_t *gregsetp)
 
static void mips_supply_gregset_wrapper (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
void mips_fill_gregset (const struct regcache *regcache, mips_elf_gregset_t *gregsetp, int regno)
 
static void mips_fill_gregset_wrapper (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
void mips_supply_fpregset (struct regcache *regcache, const mips_elf_fpregset_t *fpregsetp)
 
static void mips_supply_fpregset_wrapper (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
void mips_fill_fpregset (const struct regcache *regcache, mips_elf_fpregset_t *fpregsetp, int regno)
 
static void mips_fill_fpregset_wrapper (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static int mips64_linux_get_longjmp_target (struct frame_info *frame, CORE_ADDR *pc)
 
static void supply_64bit_reg (struct regcache *regcache, int regnum, const gdb_byte *buf)
 
void mips64_supply_gregset (struct regcache *regcache, const mips64_elf_gregset_t *gregsetp)
 
static void mips64_supply_gregset_wrapper (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
void mips64_fill_gregset (const struct regcache *regcache, mips64_elf_gregset_t *gregsetp, int regno)
 
static void mips64_fill_gregset_wrapper (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
void mips64_supply_fpregset (struct regcache *regcache, const mips64_elf_fpregset_t *fpregsetp)
 
static void mips64_supply_fpregset_wrapper (const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
 
void mips64_fill_fpregset (const struct regcache *regcache, mips64_elf_fpregset_t *fpregsetp, int regno)
 
static void mips64_fill_fpregset_wrapper (const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
 
static void mips_linux_iterate_over_regset_sections (struct gdbarch *gdbarch, iterate_over_regset_sections_cb *cb, void *cb_data, const struct regcache *regcache)
 
static const struct target_descmips_linux_core_read_description (struct gdbarch *gdbarch, struct target_ops *target, bfd *abfd)
 
static int mips_linux_in_dynsym_stub (CORE_ADDR pc)
 
static int mips_linux_in_dynsym_resolve_code (CORE_ADDR pc)
 
static CORE_ADDR mips_linux_skip_resolver (struct gdbarch *gdbarch, CORE_ADDR pc)
 
static void mips_linux_o32_sigframe_init (const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static void mips_linux_n32n64_sigframe_init (const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
 
static int mips_linux_sigframe_validate (const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
 
static int micromips_linux_sigframe_validate (const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
 
static void mips_linux_write_pc (struct regcache *regcache, CORE_ADDR pc)
 
int mips_linux_restart_reg_p (struct gdbarch *gdbarch)
 
static CORE_ADDR mips_linux_syscall_next_pc (struct frame_info *frame)
 
static LONGEST mips_linux_get_syscall_number (struct gdbarch *gdbarch, ptid_t ptid)
 
static int mips_gdb_signal_to_target (struct gdbarch *gdbarch, enum gdb_signal signal)
 
static enum gdb_signal mips_gdb_signal_from_target (struct gdbarch *gdbarch, int signal)
 
static void mips_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
 
void _initialize_mips_linux_tdep (void)
 

Variables

static struct target_so_ops mips_svr4_so_ops
 
static const struct regset mips_linux_gregset
 
static const struct regset mips64_linux_gregset
 
static const struct regset mips_linux_fpregset
 
static const struct regset mips64_linux_fpregset
 
static const struct tramp_frame mips_linux_o32_sigframe
 
static const struct tramp_frame mips_linux_o32_rt_sigframe
 
static const struct tramp_frame mips_linux_n32_rt_sigframe
 
static const struct tramp_frame mips_linux_n64_rt_sigframe
 
static const struct tramp_frame micromips_linux_o32_sigframe
 
static const struct tramp_frame micromips_linux_o32_rt_sigframe
 
static const struct tramp_frame micromips_linux_n32_rt_sigframe
 
static const struct tramp_frame micromips_linux_n64_rt_sigframe
 
initialize_file_ftype _initialize_mips_linux_tdep
 

Macro Definition Documentation

#define MICROMIPS_INST_LI_V0   0x3040

Definition at line 853 of file mips-linux-tdep.c.

#define MICROMIPS_INST_POOL32A   0x0000

Definition at line 854 of file mips-linux-tdep.c.

#define MICROMIPS_INST_SYSCALL   0x8b7c

Definition at line 855 of file mips-linux-tdep.c.

#define MIPS64_LINUX_JB_PC   0

Definition at line 329 of file mips-linux-tdep.c.

Referenced by mips64_linux_get_longjmp_target().

#define MIPS_INST_LI_V0_N32_RT_SIGRETURN   0x24020000 + MIPS_NR_N32_rt_sigreturn

Definition at line 850 of file mips-linux-tdep.c.

#define MIPS_INST_LI_V0_N64_RT_SIGRETURN   0x24020000 + MIPS_NR_N64_rt_sigreturn

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

#define MIPS_INST_LI_V0_RT_SIGRETURN   0x24020000 + MIPS_NR_rt_sigreturn

Definition at line 848 of file mips-linux-tdep.c.

#define MIPS_INST_LI_V0_SIGRETURN   0x24020000 + MIPS_NR_sigreturn

Definition at line 847 of file mips-linux-tdep.c.

#define MIPS_INST_SYSCALL   0x0000000c

Definition at line 851 of file mips-linux-tdep.c.

#define MIPS_LINUX_JB_ELEMENT_SIZE   4

Definition at line 87 of file mips-linux-tdep.c.

Referenced by mips_linux_get_longjmp_target().

#define MIPS_LINUX_JB_PC   0

Definition at line 88 of file mips-linux-tdep.c.

Referenced by mips_linux_get_longjmp_target().

#define MIPS_NR_LINUX   4000

Definition at line 838 of file mips-linux-tdep.c.

#define MIPS_NR_N32_LINUX   6000

Definition at line 840 of file mips-linux-tdep.c.

#define MIPS_NR_N32_rt_sigreturn   MIPS_NR_N32_LINUX + 211

Definition at line 845 of file mips-linux-tdep.c.

Referenced by mips_linux_syscall_next_pc().

#define MIPS_NR_N64_LINUX   5000

Definition at line 839 of file mips-linux-tdep.c.

#define MIPS_NR_N64_rt_sigreturn   MIPS_NR_N64_LINUX + 211

Definition at line 844 of file mips-linux-tdep.c.

Referenced by mips_linux_syscall_next_pc().

#define MIPS_NR_rt_sigreturn   MIPS_NR_LINUX + 193

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

Referenced by mips_linux_syscall_next_pc().

#define MIPS_NR_sigreturn   MIPS_NR_LINUX + 119

Definition at line 842 of file mips-linux-tdep.c.

Referenced by mips_linux_syscall_next_pc().

#define N32_SIGFRAME_SIGCONTEXT_OFFSET
Value:
#define SIGFRAME_SIGCONTEXT_OFFSET
#define N32_UCONTEXT_SIGCONTEXT_OFFSET
#define RTSIGFRAME_SIGINFO_SIZE

Definition at line 1244 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N32_STACK_T_SIZE   STACK_T_SIZE

Definition at line 1240 of file mips-linux-tdep.c.

#define N32_UCONTEXT_SIGCONTEXT_OFFSET   (2 * 4 + N32_STACK_T_SIZE + 4)

Definition at line 1242 of file mips-linux-tdep.c.

#define N64_SIGCONTEXT_DSPCTL   (74 * 8 + 0)

Definition at line 1263 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_FPCSR   (73 * 8 + 0)

Definition at line 1262 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_FPREGS   (32 * 8)

Definition at line 1252 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_HI   (64 * 8)

Definition at line 1253 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_HI1   (65 * 8)

Definition at line 1254 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_HI2   (66 * 8)

Definition at line 1255 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_HI3   (67 * 8)

Definition at line 1256 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_LO   (68 * 8)

Definition at line 1257 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_LO1   (69 * 8)

Definition at line 1258 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_LO2   (70 * 8)

Definition at line 1259 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_LO3   (71 * 8)

Definition at line 1260 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_PC   (72 * 8)

Definition at line 1261 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_REG_SIZE   8

Definition at line 1265 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGCONTEXT_REGS   (0 * 8)

Definition at line 1251 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_SIGFRAME_SIGCONTEXT_OFFSET
Value:
#define N64_UCONTEXT_SIGCONTEXT_OFFSET
#define SIGFRAME_SIGCONTEXT_OFFSET
#define RTSIGFRAME_SIGINFO_SIZE

Definition at line 1247 of file mips-linux-tdep.c.

Referenced by mips_linux_n32n64_sigframe_init().

#define N64_STACK_T_SIZE   (2 * 8 + 4)

Definition at line 1241 of file mips-linux-tdep.c.

#define N64_UCONTEXT_SIGCONTEXT_OFFSET   (2 * 8 + N64_STACK_T_SIZE + 4)

Definition at line 1243 of file mips-linux-tdep.c.

#define RTSIGFRAME_SIGCONTEXT_OFFSET
Value:
#define SIGFRAME_SIGCONTEXT_OFFSET
#define RTSIGFRAME_SIGINFO_SIZE
#define UCONTEXT_SIGCONTEXT_OFFSET

Definition at line 1042 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define RTSIGFRAME_SIGINFO_SIZE   128

Definition at line 1039 of file mips-linux-tdep.c.

#define SIGCONTEXT_BADVADDR   (71 * 8 + 4)

Definition at line 1054 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_CAUSE   (71 * 8 + 0)

Definition at line 1053 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_DSPCTL   (68 * 8 + 0)

Definition at line 1050 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_FPCSR   (66 * 8 + 4)

Definition at line 1049 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_FPREGS   (34 * 8)

Definition at line 1048 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_HI   (69 * 8)

Definition at line 1051 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_HI1   (71 * 8 + 0)

Definition at line 1055 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_HI2   (72 * 8 + 0)

Definition at line 1057 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_HI3   (73 * 8 + 0)

Definition at line 1059 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_LO   (70 * 8)

Definition at line 1052 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_LO1   (71 * 8 + 4)

Definition at line 1056 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_LO2   (72 * 8 + 4)

Definition at line 1058 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_LO3   (73 * 8 + 4)

Definition at line 1060 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_PC   (1 * 8)

Definition at line 1046 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_REG_SIZE   8

Definition at line 1062 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGCONTEXT_REGS   (2 * 8)

Definition at line 1047 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define SIGFRAME_SIGCONTEXT_OFFSET   (6 * 4)

Definition at line 1037 of file mips-linux-tdep.c.

Referenced by mips_linux_o32_sigframe_init().

#define STACK_T_SIZE   (3 * 4)

Definition at line 1040 of file mips-linux-tdep.c.

#define UCONTEXT_SIGCONTEXT_OFFSET   (2 * 4 + STACK_T_SIZE + 4)

Definition at line 1041 of file mips-linux-tdep.c.

Enumeration Type Documentation

anonymous enum
Enumerator
MIPS_LINUX_SIGEMT 
MIPS_LINUX_SIGBUS 
MIPS_LINUX_SIGSYS 
MIPS_LINUX_SIGUSR1 
MIPS_LINUX_SIGUSR2 
MIPS_LINUX_SIGCHLD 
MIPS_LINUX_SIGCLD 
MIPS_LINUX_SIGPWR 
MIPS_LINUX_SIGWINCH 
MIPS_LINUX_SIGURG 
MIPS_LINUX_SIGIO 
MIPS_LINUX_SIGPOLL 
MIPS_LINUX_SIGSTOP 
MIPS_LINUX_SIGTSTP 
MIPS_LINUX_SIGCONT 
MIPS_LINUX_SIGTTIN 
MIPS_LINUX_SIGTTOU 
MIPS_LINUX_SIGVTALRM 
MIPS_LINUX_SIGPROF 
MIPS_LINUX_SIGXCPU 
MIPS_LINUX_SIGXFSZ 
MIPS_LINUX_SIGRTMIN 
MIPS_LINUX_SIGRT64 
MIPS_LINUX_SIGRTMAX 

Definition at line 52 of file mips-linux-tdep.c.

Function Documentation

void _initialize_mips_linux_tdep ( void  )
static int micromips_linux_sigframe_validate ( const struct tramp_frame self,
struct frame_info this_frame,
CORE_ADDR pc 
)
static
void mips64_fill_fpregset ( const struct regcache regcache,
mips64_elf_fpregset_t fpregsetp,
int  regno 
)
static void mips64_fill_fpregset_wrapper ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
static

Definition at line 610 of file mips-linux-tdep.c.

References gdb_assert, and mips64_fill_fpregset().

void mips64_fill_gregset ( const struct regcache regcache,
mips64_elf_gregset_t gregsetp,
int  regno 
)
static void mips64_fill_gregset_wrapper ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
static

Definition at line 483 of file mips-linux-tdep.c.

References gdb_assert, and mips64_fill_gregset().

static int mips64_linux_get_longjmp_target ( struct frame_info frame,
CORE_ADDR pc 
)
static
void mips64_supply_fpregset ( struct regcache regcache,
const mips64_elf_fpregset_t fpregsetp 
)
static void mips64_supply_fpregset_wrapper ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Definition at line 532 of file mips-linux-tdep.c.

References gdb_assert, and mips64_supply_fpregset().

void mips64_supply_gregset ( struct regcache regcache,
const mips64_elf_gregset_t gregsetp 
)
static void mips64_supply_gregset_wrapper ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Definition at line 412 of file mips-linux-tdep.c.

References gdb_assert, and mips64_supply_gregset().

void mips_fill_fpregset ( const struct regcache regcache,
mips_elf_fpregset_t fpregsetp,
int  regno 
)
static void mips_fill_fpregset_wrapper ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
static

Definition at line 310 of file mips-linux-tdep.c.

References gdb_assert, and mips_fill_fpregset().

void mips_fill_gregset ( const struct regcache regcache,
mips_elf_gregset_t gregsetp,
int  regno 
)
static void mips_fill_gregset_wrapper ( const struct regset regset,
const struct regcache regcache,
int  regnum,
void *  gregs,
size_t  len 
)
static

Definition at line 230 of file mips-linux-tdep.c.

References gdb_assert, and mips_fill_gregset().

static enum gdb_signal mips_gdb_signal_from_target ( struct gdbarch gdbarch,
int  signal 
)
static
static int mips_gdb_signal_to_target ( struct gdbarch gdbarch,
enum gdb_signal  signal 
)
static
static const struct target_desc* mips_linux_core_read_description ( struct gdbarch gdbarch,
struct target_ops target,
bfd *  abfd 
)
static

Definition at line 662 of file mips-linux-tdep.c.

References mips_tdesc_gp32, and mips_tdesc_gp64.

Referenced by mips_linux_init_abi().

static int mips_linux_get_longjmp_target ( struct frame_info frame,
CORE_ADDR pc 
)
static
static LONGEST mips_linux_get_syscall_number ( struct gdbarch gdbarch,
ptid_t  ptid 
)
static
static int mips_linux_in_dynsym_resolve_code ( CORE_ADDR  pc)
static

Definition at line 777 of file mips-linux-tdep.c.

References mips_linux_in_dynsym_stub(), and svr4_in_dynsym_resolve_code().

Referenced by mips_linux_init_abi().

static int mips_linux_in_dynsym_stub ( CORE_ADDR  pc)
static
static void mips_linux_init_abi ( struct gdbarch_info  info,
struct gdbarch gdbarch 
)
static

Definition at line 1640 of file mips-linux-tdep.c.

References gdbarch_tdep::abi, floatformats_ia64_quad, gdb_assert, gdbarch_num_regs(), gdbarch_tdep(), target_so_ops::in_dynsym_resolve_code, linux_init_abi(), mips64_linux_get_longjmp_target(), MIPS_ABI_N32, MIPS_ABI_N64, MIPS_ABI_O32, mips_gdb_signal_from_target(), mips_gdb_signal_to_target(), mips_linux_core_read_description(), mips_linux_get_longjmp_target(), mips_linux_get_syscall_number(), mips_linux_in_dynsym_resolve_code(), mips_linux_iterate_over_regset_sections(), mips_linux_skip_resolver(), mips_linux_syscall_next_pc(), mips_linux_write_pc(), MIPS_RESTART_REGNUM, mips_software_single_step(), mips_svr4_so_ops, set_gdbarch_core_read_description(), set_gdbarch_fetch_tls_load_module_address(), set_gdbarch_gdb_signal_from_target(), set_gdbarch_gdb_signal_to_target(), set_gdbarch_get_longjmp_target(), set_gdbarch_get_syscall_number(), set_gdbarch_iterate_over_regset_sections(), set_gdbarch_long_double_bit(), set_gdbarch_long_double_format(), set_gdbarch_num_pseudo_regs(), set_gdbarch_num_regs(), set_gdbarch_skip_solib_resolver(), set_gdbarch_software_single_step(), set_gdbarch_write_pc(), set_solib_ops(), set_solib_svr4_fetch_link_map_offsets(), set_xml_syscall_file_name(), svr4_fetch_objfile_link_map(), svr4_ilp32_fetch_link_map_offsets(), svr4_lp64_fetch_link_map_offsets(), svr4_so_ops, gdbarch_tdep::syscall_next_pc, gdbarch_info::target_desc, gdbarch_info::tdep_info, tdesc_data, tdesc_find_feature(), tdesc_numbered_register(), and tramp_frame_prepend_unwinder().

Referenced by _initialize_mips_linux_tdep().

static void mips_linux_iterate_over_regset_sections ( struct gdbarch gdbarch,
iterate_over_regset_sections_cb cb,
void *  cb_data,
const struct regcache regcache 
)
static

Definition at line 640 of file mips-linux-tdep.c.

References MIPS_ZERO_REGNUM, and register_size().

Referenced by mips_linux_init_abi().

static void mips_linux_n32n64_sigframe_init ( const struct tramp_frame self,
struct frame_info this_frame,
struct trad_frame_cache this_cache,
CORE_ADDR  func 
)
static
static void mips_linux_o32_sigframe_init ( const struct tramp_frame self,
struct frame_info this_frame,
struct trad_frame_cache this_cache,
CORE_ADDR  func 
)
static
int mips_linux_restart_reg_p ( struct gdbarch gdbarch)
static int mips_linux_sigframe_validate ( const struct tramp_frame self,
struct frame_info this_frame,
CORE_ADDR pc 
)
static

Definition at line 1353 of file mips-linux-tdep.c.

References mips_pc_is_mips().

static CORE_ADDR mips_linux_skip_resolver ( struct gdbarch gdbarch,
CORE_ADDR  pc 
)
static
static CORE_ADDR mips_linux_syscall_next_pc ( struct frame_info frame)
static
static void mips_linux_write_pc ( struct regcache regcache,
CORE_ADDR  pc 
)
static
void mips_supply_fpregset ( struct regcache regcache,
const mips_elf_fpregset_t fpregsetp 
)
static void mips_supply_fpregset_wrapper ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Definition at line 267 of file mips-linux-tdep.c.

References gdb_assert, and mips_supply_fpregset().

void mips_supply_gregset ( struct regcache regcache,
const mips_elf_gregset_t gregsetp 
)
static void mips_supply_gregset_wrapper ( const struct regset regset,
struct regcache regcache,
int  regnum,
const void *  gregs,
size_t  len 
)
static

Definition at line 162 of file mips-linux-tdep.c.

References gdb_assert, and mips_supply_gregset().

static void supply_32bit_reg ( struct regcache regcache,
int  regnum,
const void *  addr 
)
static
static void supply_64bit_reg ( struct regcache regcache,
int  regnum,
const gdb_byte buf 
)
static

Variable Documentation

initialize_file_ftype _initialize_mips_linux_tdep
const struct tramp_frame micromips_linux_n32_rt_sigframe
static
Initial value:
= {
2,
{
},
}
static void mips_linux_n32n64_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MICROMIPS_INST_POOL32A
#define MIPS_NR_N32_rt_sigreturn
#define MICROMIPS_INST_LI_V0
static int micromips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
#define MICROMIPS_INST_SYSCALL

Definition at line 932 of file mips-linux-tdep.c.

const struct tramp_frame micromips_linux_n64_rt_sigframe
static
Initial value:
= {
2,
{
},
}
static void mips_linux_n32n64_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MICROMIPS_INST_POOL32A
#define MIPS_NR_N64_rt_sigreturn
#define MICROMIPS_INST_LI_V0
static int micromips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
#define MICROMIPS_INST_SYSCALL

Definition at line 946 of file mips-linux-tdep.c.

const struct tramp_frame micromips_linux_o32_rt_sigframe
static
Initial value:
= {
2,
{
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MIPS_NR_rt_sigreturn
#define MICROMIPS_INST_POOL32A
static void mips_linux_o32_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define MICROMIPS_INST_LI_V0
static int micromips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
#define MICROMIPS_INST_SYSCALL

Definition at line 918 of file mips-linux-tdep.c.

const struct tramp_frame micromips_linux_o32_sigframe
static
Initial value:
= {
2,
{
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MICROMIPS_INST_POOL32A
#define MIPS_NR_sigreturn
static void mips_linux_o32_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define MICROMIPS_INST_LI_V0
static int micromips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
#define MICROMIPS_INST_SYSCALL

Definition at line 904 of file mips-linux-tdep.c.

const struct regset mips64_linux_fpregset
static
Initial value:
=
{
}
static void mips64_supply_fpregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void mips64_fill_fpregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)

Definition at line 634 of file mips-linux-tdep.c.

const struct regset mips64_linux_gregset
static
Initial value:
=
{
}
static void mips64_supply_gregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)
static void mips64_fill_gregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)

Definition at line 624 of file mips-linux-tdep.c.

const struct regset mips_linux_fpregset
static
Initial value:
=
{
}
static void mips_fill_fpregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void mips_supply_fpregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 629 of file mips-linux-tdep.c.

const struct regset mips_linux_gregset
static
Initial value:
=
{
}
static void mips_fill_gregset_wrapper(const struct regset *regset, const struct regcache *regcache, int regnum, void *gregs, size_t len)
static void mips_supply_gregset_wrapper(const struct regset *regset, struct regcache *regcache, int regnum, const void *gregs, size_t len)

Definition at line 619 of file mips-linux-tdep.c.

const struct tramp_frame mips_linux_n32_rt_sigframe
static
Initial value:
= {
4,
{
},
}
static void mips_linux_n32n64_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define MIPS_INST_LI_V0_N32_RT_SIGRETURN
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MIPS_INST_SYSCALL
static int mips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)

Definition at line 880 of file mips-linux-tdep.c.

const struct tramp_frame mips_linux_n64_rt_sigframe
static
Initial value:
= {
4,
{
},
}
static void mips_linux_n32n64_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MIPS_INST_LI_V0_N64_RT_SIGRETURN
#define MIPS_INST_SYSCALL
static int mips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)

Definition at line 892 of file mips-linux-tdep.c.

const struct tramp_frame mips_linux_o32_rt_sigframe
static
Initial value:
= {
4,
{
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MIPS_INST_LI_V0_RT_SIGRETURN
#define MIPS_INST_SYSCALL
static int mips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
static void mips_linux_o32_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

Definition at line 869 of file mips-linux-tdep.c.

const struct tramp_frame mips_linux_o32_sigframe
static
Initial value:
= {
4,
{
},
}
#define TRAMP_SENTINEL_INSN
Definition: tramp-frame.h:44
#define MIPS_INST_LI_V0_SIGRETURN
#define MIPS_INST_SYSCALL
static int mips_linux_sigframe_validate(const struct tramp_frame *self, struct frame_info *this_frame, CORE_ADDR *pc)
static void mips_linux_o32_sigframe_init(const struct tramp_frame *self, struct frame_info *this_frame, struct trad_frame_cache *this_cache, CORE_ADDR func)

Definition at line 857 of file mips-linux-tdep.c.

struct target_so_ops mips_svr4_so_ops
static

Definition at line 43 of file mips-linux-tdep.c.

Referenced by mips_linux_init_abi().