binutils-gdb/gdb/sparc-nat.h
Andrew Burgess 1d506c26d9 Update copyright year range in header of all files managed by GDB
This commit is the result of the following actions:

  - Running gdb/copyright.py to update all of the copyright headers to
    include 2024,

  - Manually updating a few files the copyright.py script told me to
    update, these files had copyright headers embedded within the
    file,

  - Regenerating gdbsupport/Makefile.in to refresh it's copyright
    date,

  - Using grep to find other files that still mentioned 2023.  If
    these files were updated last year from 2022 to 2023 then I've
    updated them this year to 2024.

I'm sure I've probably missed some dates.  Feel free to fix them up as
you spot them.
2024-01-12 15:49:57 +00:00

86 lines
3.1 KiB
C++

/* Native-dependent code for SPARC.
Copyright (C) 2003-2024 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 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
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, see <http://www.gnu.org/licenses/>. */
#ifndef SPARC_NAT_H
#define SPARC_NAT_H 1
#include "target.h"
struct sparc_gregmap;
struct sparc_fpregmap;
extern const struct sparc_gregmap *sparc_gregmap;
extern const struct sparc_fpregmap *sparc_fpregmap;
extern void (*sparc_supply_gregset) (const struct sparc_gregmap *,
struct regcache *, int , const void *);
extern void (*sparc_collect_gregset) (const struct sparc_gregmap *,
const struct regcache *, int, void *);
extern void (*sparc_supply_fpregset) (const struct sparc_fpregmap *,
struct regcache *, int , const void *);
extern void (*sparc_collect_fpregset) (const struct sparc_fpregmap *,
const struct regcache *, int , void *);
extern int (*sparc_gregset_supplies_p) (struct gdbarch *gdbarch, int);
extern int (*sparc_fpregset_supplies_p) (struct gdbarch *gdbarch, int);
extern int sparc32_gregset_supplies_p (struct gdbarch *gdbarch, int regnum);
extern int sparc32_fpregset_supplies_p (struct gdbarch *gdbarch, int regnum);
extern void sparc_fetch_inferior_registers (process_stratum_target *proc_target,
regcache *, int);
extern void sparc_store_inferior_registers (process_stratum_target *proc_target,
regcache *, int);
extern target_xfer_status sparc_xfer_wcookie (enum target_object object,
const char *annex,
gdb_byte *readbuf,
const gdb_byte *writebuf,
ULONGEST offset,
ULONGEST len,
ULONGEST *xfered_len);
/* A prototype generic SPARC target. The client can override
it with local methods. */
template<typename BaseTarget>
struct sparc_target : public BaseTarget
{
void fetch_registers (struct regcache *regcache, int regnum) override
{ sparc_fetch_inferior_registers (this, regcache, regnum); }
void store_registers (struct regcache *regcache, int regnum) override
{ sparc_store_inferior_registers (this, regcache, regnum); }
enum target_xfer_status xfer_partial (enum target_object object,
const char *annex,
gdb_byte *readbuf,
const gdb_byte *writebuf,
ULONGEST offset, ULONGEST len,
ULONGEST *xfered_len) override
{
if (object == TARGET_OBJECT_WCOOKIE)
return sparc_xfer_wcookie (object, annex, readbuf, writebuf,
offset, len, xfered_len);
return BaseTarget::xfer_partial (object, annex, readbuf, writebuf,
offset, len, xfered_len);
}
};
#endif /* sparc-nat.h */