c6a42d11ac
This was a typo introduced in f6ac5f3d63
.
Found by looking through NetBSD's GDB patches:
https://github.com/NetBSD/pkgsrc-wip/blob/master/gdb-netbsd/patches/patch-gdb_sparc-nat.h
This patch can't be tested on Linux because Linux does not use the
sparc_target template.
gdb/ChangeLog:
2020-02-05 Christian Biesinger <cbiesinger@google.com>
* sparc-nat.h (struct sparc_target) <xfer_partial>: Fix base class
function call.
Change-Id: I4fa88cbdc365efe89b84cc0619b60db38718d9ce
84 lines
3.0 KiB
C++
84 lines
3.0 KiB
C++
/* Native-dependent code for SPARC.
|
|
|
|
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 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 (struct regcache *, int);
|
|
extern void sparc_store_inferior_registers (struct 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 (regcache, regnum); }
|
|
|
|
void store_registers (struct regcache *regcache, int regnum) override
|
|
{ sparc_store_inferior_registers (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 */
|