GDB (API)
Defines | Enumerations | Functions | Variables
/home/stan/gdb/src/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 "gdb_string.h"
#include "gdb_assert.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.

Defines

#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 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

void mips_supply_gregset (struct regcache *regcache, const mips_elf_gregset_t *gregsetp)
void mips_fill_gregset (const struct regcache *regcache, mips_elf_gregset_t *gregsetp, int regno)
void mips_supply_fpregset (struct regcache *regcache, const mips_elf_fpregset_t *fpregsetp)
void mips_fill_fpregset (const struct regcache *regcache, mips_elf_fpregset_t *fpregsetp, int regno)
void mips64_supply_gregset (struct regcache *regcache, const mips64_elf_gregset_t *gregsetp)
void mips64_fill_gregset (const struct regcache *regcache, mips64_elf_gregset_t *gregsetp, int regno)
void mips64_supply_fpregset (struct regcache *regcache, const mips64_elf_fpregset_t *fpregsetp)
void mips64_fill_fpregset (const struct regcache *regcache, mips64_elf_fpregset_t *fpregsetp, int regno)
int mips_linux_restart_reg_p (struct gdbarch *gdbarch)
void _initialize_mips_linux_tdep (void)

Variables

initialize_file_ftype _initialize_mips_linux_tdep

Define Documentation

#define MIPS64_LINUX_JB_PC   0

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

#define MIPS_INST_LI_V0_N32_RT_SIGRETURN   0x24020000 + MIPS_NR_N32_rt_sigreturn

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

#define MIPS_INST_LI_V0_N64_RT_SIGRETURN   0x24020000 + MIPS_NR_N64_rt_sigreturn

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

#define MIPS_INST_LI_V0_RT_SIGRETURN   0x24020000 + MIPS_NR_rt_sigreturn

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

#define MIPS_INST_LI_V0_SIGRETURN   0x24020000 + MIPS_NR_sigreturn

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

#define MIPS_INST_SYSCALL   0x0000000c

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

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

#define MIPS_LINUX_JB_PC   0

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

#define MIPS_NR_LINUX   4000

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

#define MIPS_NR_N32_LINUX   6000

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

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

#define MIPS_NR_N64_LINUX   5000

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

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

#define MIPS_NR_rt_sigreturn   MIPS_NR_LINUX + 193

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

#define MIPS_NR_sigreturn   MIPS_NR_LINUX + 119

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

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

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

#define N64_SIGCONTEXT_DSPCTL   (74 * 8 + 0)

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

#define N64_SIGCONTEXT_FPCSR   (73 * 8 + 0)

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

#define N64_SIGCONTEXT_FPREGS   (32 * 8)

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

#define N64_SIGCONTEXT_HI   (64 * 8)

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

#define N64_SIGCONTEXT_HI1   (65 * 8)

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

#define N64_SIGCONTEXT_HI2   (66 * 8)

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

#define N64_SIGCONTEXT_HI3   (67 * 8)

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

#define N64_SIGCONTEXT_LO   (68 * 8)

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

#define N64_SIGCONTEXT_LO1   (69 * 8)

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

#define N64_SIGCONTEXT_LO2   (70 * 8)

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

#define N64_SIGCONTEXT_LO3   (71 * 8)

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

#define N64_SIGCONTEXT_PC   (72 * 8)

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

#define N64_SIGCONTEXT_REG_SIZE   8

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

#define N64_SIGCONTEXT_REGS   (0 * 8)

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

#define N64_STACK_T_SIZE   (2 * 8 + 4)

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

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

#define RTSIGFRAME_SIGINFO_SIZE   128

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

#define SIGCONTEXT_BADVADDR   (71 * 8 + 4)

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

#define SIGCONTEXT_CAUSE   (71 * 8 + 0)

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

#define SIGCONTEXT_DSPCTL   (68 * 8 + 0)

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

#define SIGCONTEXT_FPCSR   (66 * 8 + 4)

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

#define SIGCONTEXT_FPREGS   (34 * 8)

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

#define SIGCONTEXT_HI   (69 * 8)

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

#define SIGCONTEXT_HI1   (71 * 8 + 0)

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

#define SIGCONTEXT_HI2   (72 * 8 + 0)

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

#define SIGCONTEXT_HI3   (73 * 8 + 0)

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

#define SIGCONTEXT_LO   (70 * 8)

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

#define SIGCONTEXT_LO1   (71 * 8 + 4)

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

#define SIGCONTEXT_LO2   (72 * 8 + 4)

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

#define SIGCONTEXT_LO3   (73 * 8 + 4)

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

#define SIGCONTEXT_PC   (1 * 8)

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

#define SIGCONTEXT_REG_SIZE   8

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

#define SIGCONTEXT_REGS   (2 * 8)

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

#define SIGFRAME_SIGCONTEXT_OFFSET   (6 * 4)

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

#define STACK_T_SIZE   (3 * 4)

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

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

Definition at line 990 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 55 of file mips-linux-tdep.c.


Function Documentation

void _initialize_mips_linux_tdep ( void  )

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

void mips64_fill_fpregset ( const struct regcache *  regcache,
mips64_elf_fpregset_t fpregsetp,
int  regno 
)

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

void mips64_fill_gregset ( const struct regcache *  regcache,
mips64_elf_gregset_t gregsetp,
int  regno 
)

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

void mips64_supply_fpregset ( struct regcache *  regcache,
const mips64_elf_fpregset_t fpregsetp 
)

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

void mips64_supply_gregset ( struct regcache *  regcache,
const mips64_elf_gregset_t gregsetp 
)

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

void mips_fill_fpregset ( const struct regcache *  regcache,
mips_elf_fpregset_t fpregsetp,
int  regno 
)

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

void mips_fill_gregset ( const struct regcache *  regcache,
mips_elf_gregset_t gregsetp,
int  regno 
)

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

int mips_linux_restart_reg_p ( struct gdbarch *  gdbarch)

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

void mips_supply_fpregset ( struct regcache *  regcache,
const mips_elf_fpregset_t fpregsetp 
)

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

void mips_supply_gregset ( struct regcache *  regcache,
const mips_elf_gregset_t gregsetp 
)

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


Variable Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines