From a0ed55327d141094e07c8cdb3ac6f877109d917c Mon Sep 17 00:00:00 2001 From: Andrew Cagney Date: Mon, 3 Mar 2003 20:50:20 +0000 Subject: 2003-03-03 Andrew Cagney Make MAX_REGISTER_RAW_SIZE and MAX_REGISTER_VIRTUAL_SIZE optional. * gdbarch.sh (DEPRECATED_MAX_REGISTER_RAW_SIZE): Variable with predicate. Replace MAX_REGISTER_RAW_SIZE. (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto for MAX_REGISTER_VIRTUAL_SIZE. * regcache.c (legacy_max_register_raw_size): New function. (legacy_max_register_virtual_size): New function. * defs.h (MAX_REGISTER_VIRTUAL_SIZE): Define. (MAX_REGISTER_RAW_SIZE): Define. (legacy_max_register_raw_size): Declare. (legacy_max_register_virtual_size): Declare. * config/sparc/tm-sparc.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Update. * config/sparc/tm-sp64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto. * config/pa/tm-hppa.h (DEPRECATED_MAX_REGISTER_RAW_SIZE) (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE): Ditto. * config/pa/tm-hppa64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. * config/ia64/tm-ia64.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. * config/i386/tm-ptx.h (DEPRECATED_MAX_REGISTER_RAW_SIZE): Ditto. * xstormy16-tdep.c (xstormy16_gdbarch_init): Update. * vax-tdep.c (vax_gdbarch_init): Update. * v850-tdep.c (v850_gdbarch_init): Update. * sparc-tdep.c (sparc_gdbarch_init): Update. * sh-tdep.c (sh_gdbarch_init): Update. * s390-tdep.c (s390_gdbarch_init): Update. * rs6000-tdep.c (rs6000_gdbarch_init): Update. * ns32k-tdep.c (ns32k_gdbarch_init): Update. * mn10300-tdep.c (mn10300_gdbarch_init): Update. * mips-tdep.c (mips_gdbarch_init): Update. * mcore-tdep.c (mcore_gdbarch_init): Update. * m68k-tdep.c (m68k_gdbarch_init): Update. * m68hc11-tdep.c (m68hc11_gdbarch_init): Update. * ia64-tdep.c (ia64_gdbarch_init): Update. * i386-tdep.c (i386_gdbarch_init): Update. * hppa-tdep.c (hppa_gdbarch_init): Update. * h8300-tdep.c (h8300_gdbarch_init): Update. * frv-tdep.c (frv_gdbarch_init): Update. * cris-tdep.c (cris_gdbarch_init): Update. * avr-tdep.c (avr_gdbarch_init): Update. * arm-tdep.c (arm_gdbarch_init): Update. * alpha-tdep.c (alpha_gdbarch_init): Update. * d10v-tdep.c (d10v_gdbarch_init): Do not set max_register_raw_size or max_register_virtual_size. --- gdb/defs.h | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'gdb/defs.h') diff --git a/gdb/defs.h b/gdb/defs.h index 6ae409c..1cd32c0 100644 --- a/gdb/defs.h +++ b/gdb/defs.h @@ -1083,6 +1083,29 @@ extern void *alloca (); #include "arch-utils.h" #endif +/* FIXME: cagney/2003-03-01: Hack to prop up old targets while they + migrate to the overhauled register cache. + + The problem is that some architectures specify different sized raw + and cooked (nee virtual) register sizes. They shouldn't. Instead, + all architectures should just implement a gdbarch_register_type(). + That can be used to compute all needed register attributes. While + waiting for the conversion, provide compatibility macros that keep + old code working. */ + +#ifdef MAX_REGISTER_RAW_SIZE +#error MAX_REGISTER_RAW_SIZE defined +#endif +extern int legacy_max_register_raw_size (void); +#define MAX_REGISTER_RAW_SIZE legacy_max_register_raw_size () + +#ifdef MAX_REGISTER_VIRTUAL_SIZE +#error MAX_REGISTER_VIRTUAL_SIZE defined +#endif +extern int legacy_max_register_virtual_size (void); +#define MAX_REGISTER_VIRTUAL_SIZE legacy_max_register_virtual_size () + + /* Static target-system-dependent parameters for GDB. */ /* Number of bits in a char or unsigned char for the target machine. -- cgit v1.1