X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=gdb%2Fsparc64-tdep.h;h=202bf2efea1139b1c7f25a5c5cda08da0acbe00b;hb=a15a95ed265962027c7a8e0269bead6e5795006f;hp=5930f51a31e29b0ba8c0bb86d94107fe94392ec2;hpb=0fb0cc7590113e9b459dfcc48dc71c9d419d9580;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc64-tdep.h b/gdb/sparc64-tdep.h index 5930f51a31..202bf2efea 100644 --- a/gdb/sparc64-tdep.h +++ b/gdb/sparc64-tdep.h @@ -1,7 +1,6 @@ /* Target-dependent code for UltraSPARC. - Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009 - Free Software Foundation, Inc. + Copyright (C) 2003-2019 Free Software Foundation, Inc. This file is part of GDB. @@ -24,7 +23,7 @@ struct frame_info; struct gdbarch; struct regcache; -struct sparc_gregset; +struct sparc_gregmap; struct trad_frame_saved_reg; #include "sparc-tdep.h" @@ -57,9 +56,12 @@ enum sparc64_regnum SPARC64_FSR_REGNUM, /* %fsr */ SPARC64_FPRS_REGNUM, /* %fprs */ SPARC64_Y_REGNUM, /* %y */ +}; - /* Pseudo registers. */ - SPARC64_CWP_REGNUM, /* %cwp */ +/* Pseudo registers. */ +enum sparc64_pseudo_regnum +{ + SPARC64_CWP_REGNUM = 0, /* %cwp */ SPARC64_PSTATE_REGNUM, /* %pstate */ SPARC64_ASI_REGNUM, /* %asi */ SPARC64_CCR_REGNUM, /* %ccr */ @@ -98,37 +100,44 @@ enum sparc64_regnum extern void sparc64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch); -extern void sparc64_supply_gregset (const struct sparc_gregset *gregset, +extern void sparc64_supply_gregset (const struct sparc_gregmap *gregmap, struct regcache *regcache, int regnum, const void *gregs); -extern void sparc64_collect_gregset (const struct sparc_gregset *gregset, +extern void sparc64_collect_gregset (const struct sparc_gregmap *gregmap, const struct regcache *regcache, int regnum, void *gregs); -extern void sparc64_supply_fpregset (struct regcache *regcache, +extern void sparc64_supply_fpregset (const struct sparc_fpregmap *fpregmap, + struct regcache *regcache, int regnum, const void *fpregs); -extern void sparc64_collect_fpregset (const struct regcache *regcache, +extern void sparc64_collect_fpregset (const struct sparc_fpregmap *fpregmap, + const struct regcache *regcache, int regnum, void *fpregs); /* Functions and variables exported from sparc64-sol2-tdep.c. */ /* Register offsets for Solaris 2. */ -extern const struct sparc_gregset sparc64_sol2_gregset; +extern const struct sparc_gregmap sparc64_sol2_gregmap; +extern const struct sparc_fpregmap sparc64_sol2_fpregmap; extern void sparc64_sol2_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch); -/* Variables exported from sparc64fbsd-tdep.c. */ +/* Variables exported from sparc64-fbsd-tdep.c. */ /* Register offsets for FreeBSD/sparc64. */ -extern const struct sparc_gregset sparc64fbsd_gregset; +extern const struct sparc_gregmap sparc64fbsd_gregmap; -/* Functions and variables exported from sparc64nbsd-tdep.c. */ +/* Functions and variables exported from sparc64-nbsd-tdep.c. */ /* Register offsets for NetBSD/sparc64. */ -extern const struct sparc_gregset sparc64nbsd_gregset; +extern const struct sparc_gregmap sparc64nbsd_gregmap; extern struct trad_frame_saved_reg * sparc64nbsd_sigcontext_saved_regs (CORE_ADDR sigcontext_addr, struct frame_info *next_frame); +extern const struct sparc_fpregmap sparc64_bsd_fpregmap; + +extern void sparc64_forget_process (pid_t pid); + #endif /* sparc64-tdep.h */