X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=gdb%2Fm68k-tdep.h;h=c70a26e8554901fd8a325d3db80029316f69d8b5;hb=1ead4b8ed29a8dfb565eb120d527286c3051adfd;hp=16be509f9693a0b343447ef924532865dbf5461d;hpb=a9762ec78a53fbe9209fe1654db42df0cd328d50;p=binutils-gdb.git diff --git a/gdb/m68k-tdep.h b/gdb/m68k-tdep.h index 16be509f969..c70a26e8554 100644 --- a/gdb/m68k-tdep.h +++ b/gdb/m68k-tdep.h @@ -1,7 +1,6 @@ /* 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. @@ -21,6 +20,8 @@ #ifndef M68K_TDEP_H #define M68K_TDEP_H +#include "gdbarch.h" + struct frame_info; /* Register numbers of various important registers. */ @@ -68,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 */