X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fm68k-tdep.h;h=c70a26e8554901fd8a325d3db80029316f69d8b5;hb=1ead4b8ed29a8dfb565eb120d527286c3051adfd;hp=584a8708f6471518ee22027fd474cc30701cd0f9;hpb=8ed86d01ca8b14c14f37429df136130158066f8a;p=binutils-gdb.git diff --git a/gdb/m68k-tdep.h b/gdb/m68k-tdep.h index 584a8708f64..c70a26e8554 100644 --- a/gdb/m68k-tdep.h +++ b/gdb/m68k-tdep.h @@ -1,13 +1,12 @@ /* Target-dependent code for the Motorola 68000 series. - Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1999, 2000, 2001, - 2003, 2004, 2007 Free Software Foundation, Inc. + Copyright (C) 1990-2022 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, @@ -16,13 +15,13 @@ 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 M68K_TDEP_H #define M68K_TDEP_H +#include "gdbarch.h" + struct frame_info; /* Register numbers of various important registers. */ @@ -70,38 +69,46 @@ enum m68k_flavour /* Target-dependent structure in gdbarch. */ -struct gdbarch_tdep +struct m68k_gdbarch_tdep : gdbarch_tdep { /* Offset to PC value in the jump buffer. If this is negative, longjmp support will be disabled. */ - int jb_pc; + int jb_pc = 0; /* The size of each entry in the jump buffer. */ - size_t jb_elt_size; + size_t jb_elt_size = 0; /* Register in which the address to store a structure value is passed to a function. */ - int struct_value_regnum; + int struct_value_regnum = 0; + + /* Register in which a pointer value is returned. In the SVR4 ABI, + this is %a0, but in GCC's "embedded" ABI, this is %d0. */ + int pointer_result_regnum = 0; /* Convention for returning structures. */ - enum struct_return struct_return; + enum struct_return struct_return {}; /* Convention for returning floats. zero in int regs, non-zero in float. */ - int float_return; + int float_return = 0; /* The particular flavour of m68k. */ - enum m68k_flavour flavour; + enum m68k_flavour flavour {}; /* Flag set if the floating point registers are present, or assumed to be present. */ - int fpregs_present; + int fpregs_present = 0; + + /* ISA-specific data types. */ + struct type *m68k_ps_type = nullptr; + struct type *m68881_ext_type = nullptr; }; /* Initialize a SVR4 architecture variant. */ extern void m68k_svr4_init_abi (struct gdbarch_info, struct gdbarch *); -/* Functions exported from m68kbsd-tdep.c. */ +/* Functions exported from m68k-bsd-tdep.c. */ -extern int m68kbsd_fpreg_offset (int regnum); +extern int m68kbsd_fpreg_offset (struct gdbarch *gdbarch, int regnum); #endif /* m68k-tdep.h */