GDB (xrefs)
Macros | Functions | Variables
/tmp/gdb-8.1/gdb/mips-linux-nat.c File Reference
#include "defs.h"
#include "command.h"
#include "gdbcmd.h"
#include "inferior.h"
#include "mips-tdep.h"
#include "target.h"
#include "regcache.h"
#include "linux-nat.h"
#include "mips-linux-tdep.h"
#include "target-descriptions.h"
#include "gdb_proc_service.h"
#include "gregset.h"
#include <sgidefs.h>
#include "nat/gdb_ptrace.h"
#include <asm/ptrace.h>
#include "inf-ptrace.h"
#include "nat/mips-linux-watch.h"

Go to the source code of this file.

Macros

#define PTRACE_GET_THREAD_AREA   25
 

Functions

static CORE_ADDR mips_linux_register_addr (struct gdbarch *gdbarch, int regno, int store)
 
static CORE_ADDR mips64_linux_register_addr (struct gdbarch *gdbarch, int regno, int store)
 
ps_err_e ps_get_thread_area (struct ps_prochandle *ph, lwpid_t lwpid, int idx, void **base)
 
void supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
 
void fill_gregset (const struct regcache *regcache, gdb_gregset_t *gregsetp, int regno)
 
void supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
 
void fill_fpregset (const struct regcache *regcache, gdb_fpregset_t *fpregsetp, int regno)
 
static void mips64_linux_regsets_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regno)
 
static void mips64_linux_regsets_store_registers (struct target_ops *ops, struct regcache *regcache, int regno)
 
static void mips64_linux_fetch_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
 
static void mips64_linux_store_registers (struct target_ops *ops, struct regcache *regcache, int regnum)
 
static CORE_ADDR mips_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
 
static const struct target_descmips_linux_read_description (struct target_ops *ops)
 
static void mips_show_dr (const char *func, CORE_ADDR addr, int len, enum target_hw_bp_type type)
 
static int mips_linux_can_use_hw_breakpoint (struct target_ops *self, enum bptype type, int cnt, int ot)
 
static int mips_linux_stopped_by_watchpoint (struct target_ops *ops)
 
static int mips_linux_stopped_data_address (struct target_ops *t, CORE_ADDR *paddr)
 
static int mips_linux_region_ok_for_hw_watchpoint (struct target_ops *self, CORE_ADDR addr, int len)
 
static int write_watchpoint_regs (void)
 
static void mips_linux_new_thread (struct lwp_info *lp)
 
static int mips_linux_insert_watchpoint (struct target_ops *self, CORE_ADDR addr, int len, enum target_hw_bp_type type, struct expression *cond)
 
static int mips_linux_remove_watchpoint (struct target_ops *self, CORE_ADDR addr, int len, enum target_hw_bp_type type, struct expression *cond)
 
static void mips_linux_close (struct target_ops *self)
 
void _initialize_mips_linux_nat (void)
 

Variables

static int have_ptrace_regsets = 1
 
static void(* super_fetch_registers )(struct target_ops *, struct regcache *, int)
 
static void(* super_store_registers )(struct target_ops *, struct regcache *, int)
 
static void(* super_close )(struct target_ops *)
 
static int watch_readback_valid
 
static struct pt_watch_regs watch_readback
 
static struct mips_watchpointcurrent_watches
 
static struct pt_watch_regs watch_mirror
 

Macro Definition Documentation

◆ PTRACE_GET_THREAD_AREA

#define PTRACE_GET_THREAD_AREA   25

Definition at line 42 of file mips-linux-nat.c.

Referenced by ps_get_thread_area().

Function Documentation

◆ _initialize_mips_linux_nat()

void _initialize_mips_linux_nat ( void  )

◆ fill_fpregset()

void fill_fpregset ( const struct regcache regcache,
gdb_fpregset_t fpregsetp,
int  regno 
)

◆ fill_gregset()

void fill_gregset ( const struct regcache regcache,
gdb_gregset_t gregsetp,
int  regno 
)

◆ mips64_linux_fetch_registers()

static void mips64_linux_fetch_registers ( struct target_ops ops,
struct regcache regcache,
int  regnum 
)
static

◆ mips64_linux_register_addr()

static CORE_ADDR mips64_linux_register_addr ( struct gdbarch gdbarch,
int  regno,
int  store 
)
static

◆ mips64_linux_regsets_fetch_registers()

static void mips64_linux_regsets_fetch_registers ( struct target_ops ops,
struct regcache regcache,
int  regno 
)
static

◆ mips64_linux_regsets_store_registers()

static void mips64_linux_regsets_store_registers ( struct target_ops ops,
struct regcache regcache,
int  regno 
)
static

◆ mips64_linux_store_registers()

static void mips64_linux_store_registers ( struct target_ops ops,
struct regcache regcache,
int  regnum 
)
static

◆ mips_linux_can_use_hw_breakpoint()

static int mips_linux_can_use_hw_breakpoint ( struct target_ops self,
enum bptype  type,
int  cnt,
int  ot 
)
static

◆ mips_linux_close()

static void mips_linux_close ( struct target_ops self)
static

Definition at line 740 of file mips-linux-nat.c.

References current_watches, mips_watchpoint::next, super_close, and xfree().

Referenced by _initialize_mips_linux_nat().

◆ mips_linux_insert_watchpoint()

static int mips_linux_insert_watchpoint ( struct target_ops self,
CORE_ADDR  addr,
int  len,
enum target_hw_bp_type  type,
struct expression cond 
)
static

◆ mips_linux_new_thread()

static void mips_linux_new_thread ( struct lwp_info lp)
static

◆ mips_linux_read_description()

static const struct target_desc* mips_linux_read_description ( struct target_ops ops)
static

◆ mips_linux_region_ok_for_hw_watchpoint()

static int mips_linux_region_ok_for_hw_watchpoint ( struct target_ops self,
CORE_ADDR  addr,
int  len 
)
static

◆ mips_linux_register_addr()

static CORE_ADDR mips_linux_register_addr ( struct gdbarch gdbarch,
int  regno,
int  store 
)
static

◆ mips_linux_register_u_offset()

static CORE_ADDR mips_linux_register_u_offset ( struct gdbarch gdbarch,
int  regno,
int  store_p 
)
static

◆ mips_linux_remove_watchpoint()

static int mips_linux_remove_watchpoint ( struct target_ops self,
CORE_ADDR  addr,
int  len,
enum target_hw_bp_type  type,
struct expression cond 
)
static

◆ mips_linux_stopped_by_watchpoint()

static int mips_linux_stopped_by_watchpoint ( struct target_ops ops)
static

◆ mips_linux_stopped_data_address()

static int mips_linux_stopped_data_address ( struct target_ops t,
CORE_ADDR paddr 
)
static

Definition at line 570 of file mips-linux-nat.c.

Referenced by _initialize_mips_linux_nat().

◆ mips_show_dr()

static void mips_show_dr ( const char *  func,
CORE_ADDR  addr,
int  len,
enum target_hw_bp_type  type 
)
static

◆ 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 151 of file mips-linux-nat.c.

References PS_ERR, PS_OK, ptrace(), and PTRACE_GET_THREAD_AREA.

◆ supply_fpregset()

void supply_fpregset ( struct regcache regcache,
const gdb_fpregset_t fpregsetp 
)

◆ supply_gregset()

void supply_gregset ( struct regcache regcache,
const gdb_gregset_t gregsetp 
)

◆ write_watchpoint_regs()

static int write_watchpoint_regs ( void  )
static

Variable Documentation

◆ current_watches

struct mips_watchpoint* current_watches
static

◆ have_ptrace_regsets

int have_ptrace_regsets = 1
static

◆ super_close

void(* super_close) (struct target_ops *)
static

Definition at line 57 of file mips-linux-nat.c.

Referenced by _initialize_mips_linux_nat(), and mips_linux_close().

◆ super_fetch_registers

void(* super_fetch_registers) (struct target_ops *, struct regcache *, int)
static

◆ super_store_registers

void(* super_store_registers) (struct target_ops *, struct regcache *, int)
static

◆ watch_mirror

struct pt_watch_regs watch_mirror
static

◆ watch_readback

struct pt_watch_regs watch_readback
static

◆ watch_readback_valid

int watch_readback_valid
static