X-Git-Url: http://drtracing.org/?a=blobdiff_plain;f=gdb%2Fsparc64-tdep.h;h=614160e90faf790d775f492bcb3abbb55d5198df;hb=cee00f171520eb85867230d4cbed34480c64e71e;hp=452d5515778cd73f681bb0aa5f888206c6487af3;hpb=6df5070e3fb226764cd0da485b5f596797b87936;p=deliverable%2Fbinutils-gdb.git diff --git a/gdb/sparc64-tdep.h b/gdb/sparc64-tdep.h index 452d551577..614160e90f 100644 --- a/gdb/sparc64-tdep.h +++ b/gdb/sparc64-tdep.h @@ -1,12 +1,12 @@ /* Target-dependent code for UltraSPARC. - Copyright (C) 2003, 2004, 2006 Free Software Foundation, Inc. + Copyright (C) 2003-2020 Free Software Foundation, Inc. This file is part of GDB. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, @@ -15,9 +15,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 51 Franklin Street, Fifth Floor, - Boston, MA 02110-1301, USA. */ + along with this program. If not, see . */ #ifndef SPARC64_TDEP_H #define SPARC64_TDEP_H 1 @@ -25,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" @@ -58,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 */ @@ -99,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 */