29#include <sys/procfs.h>
31#include <linux/version.h>
33#include <asm/ptrace.h>
167 if ((
unsigned) regno >= ARRAY_SIZE (
u_offsets))
168 error (_(
"Invalid register number %d."), regno);
191#define GR_REGNUM(_n) (HPPA_R0_REGNUM+_n)
192#define TR_REGNUM(_n) (HPPA_TR0_REGNUM+_n)
242 error (_(
"Couldn't read register %s (#%d): %s."),
244 regno, safe_strerror (errno));
267 error (_(
"Couldn't write register %s (#%d): %s."),
269 regno, safe_strerror (errno));
319 const greg_t *regp = (
const elf_greg_t *) gregsetp;
342 if (regno == -1 || regno == mregno)
357 for (regi = 0; regi <= 31; regi++)
359 from = (
const char *) &((*fpregsetp)[regi]);
void fetch_registers(struct regcache *, int) override
void store_registers(struct regcache *, int) override
void raw_collect(int regnum, void *buf) const override
void raw_supply(int regnum, const void *buf) override
#define ptrace(request, pid, addr, data)
int gdbarch_cannot_store_register(struct gdbarch *gdbarch, int regnum)
int gdbarch_cannot_fetch_register(struct gdbarch *gdbarch, int regnum)
const char * gdbarch_register_name(struct gdbarch *gdbarch, int regnr)
int gdbarch_num_regs(struct gdbarch *gdbarch)
GDB_FPREGSET_T gdb_fpregset_t
GDB_GREGSET_T gdb_gregset_t
static void fetch_register(struct regcache *regcache, int regno)
void _initialize_hppa_linux_nat()
static const int u_offsets[]
void supply_gregset(struct regcache *regcache, const gdb_gregset_t *gregsetp)
void fill_gregset(const struct regcache *regcache, gdb_gregset_t *gregsetp, int regno)
static hppa_linux_nat_target the_hppa_linux_nat_target
static void store_register(const struct regcache *regcache, int regno)
void supply_fpregset(struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
static CORE_ADDR hppa_linux_register_addr(int regno, CORE_ADDR blockend)
static const int greg_map[]
void fill_fpregset(const struct regcache *regcache, gdb_fpregset_t *fpregsetp, int regno)
void add_inf_child_target(inf_child_target *target)
pid_t get_ptrace_pid(ptid_t ptid)
struct linux_nat_target * linux_target