gdb/alpha-linux-nat.c - gdb
Functions defined
Macros defined
Source code
- #include "defs.h"
- #include "target.h"
- #include "regcache.h"
- #include "linux-nat.h"
- #include "alpha-tdep.h"
- #include <sys/ptrace.h>
- #include <alpha/ptrace.h>
- #include <sys/procfs.h>
- #include "gregset.h"
- #define ALPHA_UNIQUE_PTRACE_ADDR 65
- void
- supply_gregset (struct regcache *regcache, const gdb_gregset_t *gregsetp)
- {
- const long *regp = (const long *)gregsetp;
-
- alpha_supply_int_regs (regcache, -1, regp, regp + 31, regp + 32);
- }
- void
- fill_gregset (const struct regcache *regcache,
- gdb_gregset_t *gregsetp, int regno)
- {
- long *regp = (long *)gregsetp;
-
- alpha_fill_int_regs (regcache, regno, regp, regp + 31, regp + 32);
- }
- void
- supply_fpregset (struct regcache *regcache, const gdb_fpregset_t *fpregsetp)
- {
- const long *regp = (const long *)fpregsetp;
-
- alpha_supply_fp_regs (regcache, -1, regp, regp + 31);
- }
- void
- fill_fpregset (const struct regcache *regcache,
- gdb_fpregset_t *fpregsetp, int regno)
- {
- long *regp = (long *)fpregsetp;
-
- alpha_fill_fp_regs (regcache, regno, regp, regp + 31);
- }
- static CORE_ADDR
- alpha_linux_register_u_offset (struct gdbarch *gdbarch, int regno, int store_p)
- {
- if (regno == gdbarch_pc_regnum (gdbarch))
- return PC;
- if (regno == ALPHA_UNIQUE_REGNUM)
- return ALPHA_UNIQUE_PTRACE_ADDR;
- if (regno < gdbarch_fp0_regnum (gdbarch))
- return GPR_BASE + regno;
- else
- return FPR_BASE + regno - gdbarch_fp0_regnum (gdbarch);
- }
- void _initialize_alpha_linux_nat (void);
- void
- _initialize_alpha_linux_nat (void)
- {
- linux_nat_add_target (linux_trad_target (alpha_linux_register_u_offset));
- }