GDB (xrefs)
Loading...
Searching...
No Matches
Classes | Macros | Functions | Variables
/tmp/gdb-13.1/gdb/i386-linux-nat.c File Reference
#include "defs.h"
#include "inferior.h"
#include "gdbcore.h"
#include "regcache.h"
#include "elf/common.h"
#include "nat/gdb_ptrace.h"
#include <sys/uio.h>
#include "gregset.h"
#include "gdb_proc_service.h"
#include "i386-linux-nat.h"
#include "i387-tdep.h"
#include "i386-tdep.h"
#include "i386-linux-tdep.h"
#include "gdbsupport/x86-xstate.h"
#include "x86-linux-nat.h"
#include "nat/linux-ptrace.h"
#include "inf-ptrace.h"

Go to the source code of this file.

Classes

struct  i386_linux_nat_target
 

Macros

#define GETREGS_SUPPLIES(regno)    ((0 <= (regno) && (regno) <= 15) || (regno) == I386_LINUX_ORIG_EAX_REGNUM)
 
#define GETFPXREGS_SUPPLIES(regno)    (I386_ST0_REGNUM <= (regno) && (regno) < I386_SSE_NUM_REGS)
 
#define GETXSTATEREGS_SUPPLIES(regno)    (I386_ST0_REGNUM <= (regno) && (regno) < I386_PKEYS_NUM_REGS)
 
#define LINUX_SYSCALL_LEN   (sizeof linux_syscall)
 
#define LINUX_SYSCALL_REGNUM   I386_EAX_REGNUM
 
#define SYS_sigreturn   0x77
 
#define SYS_rt_sigreturn   0xad
 
#define LINUX_SIGCONTEXT_EFLAGS_OFFSET   (64)
 

Functions

static void fetch_register (struct regcache *regcache, int regno)
 
static void store_register (const struct regcache *regcache, int regno)
 
void supply_gregset (struct regcache *regcache, const elf_gregset_t *gregsetp)
 
void fill_gregset (const struct regcache *regcache, elf_gregset_t *gregsetp, int regno)
 
static void fetch_regs (struct regcache *regcache, int tid)
 
static void store_regs (const struct regcache *regcache, int tid, int regno)
 
void supply_fpregset (struct regcache *regcache, const elf_fpregset_t *fpregsetp)
 
void fill_fpregset (const struct regcache *regcache, elf_fpregset_t *fpregsetp, int regno)
 
static void fetch_fpregs (struct regcache *regcache, int tid)
 
static void store_fpregs (const struct regcache *regcache, int tid, int regno)
 
static int fetch_xstateregs (struct regcache *regcache, int tid)
 
static int store_xstateregs (const struct regcache *regcache, int tid, int regno)
 
static int fetch_fpxregs (struct regcache *regcache, int tid)
 
static int store_fpxregs (const struct regcache *regcache, int tid, int regno)
 
ps_err_e ps_get_thread_area (struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
 
void _initialize_i386_linux_nat ()
 

Variables

static i386_linux_nat_target the_i386_linux_nat_target
 
int have_ptrace_getregs
 
int have_ptrace_getfpxregs
 
static const unsigned char linux_syscall [] = { 0xcd, 0x80 }
 

Macro Definition Documentation

◆ GETFPXREGS_SUPPLIES

#define GETFPXREGS_SUPPLIES (   regno)     (I386_ST0_REGNUM <= (regno) && (regno) < I386_SSE_NUM_REGS)

Definition at line 70 of file i386-linux-nat.c.

◆ GETREGS_SUPPLIES

#define GETREGS_SUPPLIES (   regno)     ((0 <= (regno) && (regno) <= 15) || (regno) == I386_LINUX_ORIG_EAX_REGNUM)

Definition at line 67 of file i386-linux-nat.c.

◆ GETXSTATEREGS_SUPPLIES

#define GETXSTATEREGS_SUPPLIES (   regno)     (I386_ST0_REGNUM <= (regno) && (regno) < I386_PKEYS_NUM_REGS)

Definition at line 73 of file i386-linux-nat.c.

◆ LINUX_SIGCONTEXT_EFLAGS_OFFSET

#define LINUX_SIGCONTEXT_EFLAGS_OFFSET   (64)

Definition at line 639 of file i386-linux-nat.c.

◆ LINUX_SYSCALL_LEN

#define LINUX_SYSCALL_LEN   (sizeof linux_syscall)

Definition at line 623 of file i386-linux-nat.c.

◆ LINUX_SYSCALL_REGNUM

#define LINUX_SYSCALL_REGNUM   I386_EAX_REGNUM

Definition at line 626 of file i386-linux-nat.c.

◆ SYS_rt_sigreturn

#define SYS_rt_sigreturn   0xad

Definition at line 635 of file i386-linux-nat.c.

◆ SYS_sigreturn

#define SYS_sigreturn   0x77

Definition at line 632 of file i386-linux-nat.c.

Function Documentation

◆ _initialize_i386_linux_nat()

void _initialize_i386_linux_nat ( )

Definition at line 714 of file i386-linux-nat.c.

References add_inf_child_target(), linux_target, and the_i386_linux_nat_target.

◆ fetch_fpregs()

static void fetch_fpregs ( struct regcache regcache,
int  tid 
)
static

◆ fetch_fpxregs()

static int fetch_fpxregs ( struct regcache regcache,
int  tid 
)
static

◆ fetch_register()

static void fetch_register ( struct regcache regcache,
int  regno 
)
static

◆ fetch_regs()

static void fetch_regs ( struct regcache regcache,
int  tid 
)
static

◆ fetch_xstateregs()

static int fetch_xstateregs ( struct regcache regcache,
int  tid 
)
static

◆ fill_fpregset()

void fill_fpregset ( const struct regcache regcache,
elf_fpregset_t *  fpregsetp,
int  regno 
)

Definition at line 270 of file i386-linux-nat.c.

References i387_collect_fsave().

Referenced by store_fpregs().

◆ fill_gregset()

void fill_gregset ( const struct regcache regcache,
elf_gregset_t *  gregsetp,
int  regno 
)

◆ ps_get_thread_area()

ps_err_e ps_get_thread_area ( struct ps_prochandle ph,
lwpid_t  lwpid,
int  idx,
void **  base 
)

Definition at line 602 of file i386-linux-nat.c.

References x86_linux_get_thread_area().

◆ store_fpregs()

static void store_fpregs ( const struct regcache regcache,
int  tid,
int  regno 
)
static

◆ store_fpxregs()

static int store_fpxregs ( const struct regcache regcache,
int  tid,
int  regno 
)
static

◆ store_register()

static void store_register ( const struct regcache regcache,
int  regno 
)
static

◆ store_regs()

static void store_regs ( const struct regcache regcache,
int  tid,
int  regno 
)
static

◆ store_xstateregs()

static int store_xstateregs ( const struct regcache regcache,
int  tid,
int  regno 
)
static

◆ supply_fpregset()

void supply_fpregset ( struct regcache regcache,
const elf_fpregset_t *  fpregsetp 
)

Definition at line 260 of file i386-linux-nat.c.

References i387_supply_fsave().

Referenced by fetch_fpregs().

◆ supply_gregset()

void supply_gregset ( struct regcache regcache,
const elf_gregset_t *  gregsetp 
)

Variable Documentation

◆ have_ptrace_getfpxregs

int have_ptrace_getfpxregs
Initial value:
=
-1

Definition at line 93 of file i386-linux-nat.c.

Referenced by fetch_fpxregs(), x86_linux_nat_target::read_description(), and store_fpxregs().

◆ have_ptrace_getregs

int have_ptrace_getregs

◆ linux_syscall

const unsigned char linux_syscall[] = { 0xcd, 0x80 }
static

Definition at line 621 of file i386-linux-nat.c.

Referenced by i386_linux_nat_target::low_resume().

◆ the_i386_linux_nat_target

i386_linux_nat_target the_i386_linux_nat_target
static

Definition at line 50 of file i386-linux-nat.c.

Referenced by _initialize_i386_linux_nat().