2003-05-08 Andrew Cagney <cagney@redhat.com>

* gdbarch.sh: Add comments on MAX_REGISTER_SIZE.
	* gdbarch.h: Re-generate.
	* defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro.
	(legacy_max_register_virtual_size): Delete declaration.
	* infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE.
	* d10v-tdep.c (d10v_print_registers_info): Ditto.
	* tracepoint.c (memrange_sortmerge): Ditto.
	* sparc-tdep.c (sparc_print_registers): Ditto.
	* regcache.c (legacy_max_register_virtual_size): Delete function.
This commit is contained in:
Andrew Cagney 2003-05-08 18:46:49 +00:00
parent 6037b8306e
commit 0c92afe8cd
11 changed files with 53 additions and 64 deletions

View file

@ -1,3 +1,15 @@
2003-05-08 Andrew Cagney <cagney@redhat.com>
* gdbarch.sh: Add comments on MAX_REGISTER_SIZE.
* gdbarch.h: Re-generate.
* defs.h (MAX_REGISTER_VIRTUAL_SIZE): Delete macro.
(legacy_max_register_virtual_size): Delete declaration.
* infcmd.c (default_print_registers_info): Use MAX_REGISTER_SIZE.
* d10v-tdep.c (d10v_print_registers_info): Ditto.
* tracepoint.c (memrange_sortmerge): Ditto.
* sparc-tdep.c (sparc_print_registers): Ditto.
* regcache.c (legacy_max_register_virtual_size): Delete function.
2002-05-08 J. Brobecker <brobecker@gnat.com> 2002-05-08 J. Brobecker <brobecker@gnat.com>
* fork-child.c (escape_bang_in_quoted_argument): New function. * fork-child.c (escape_bang_in_quoted_argument): New function.

View file

@ -865,7 +865,7 @@ d10v_print_registers_info (struct gdbarch *gdbarch, struct ui_file *file,
} }
{ {
char *num = alloca (max_register_size (gdbarch)); char num[MAX_REGISTER_SIZE];
int a; int a;
fprintf_filtered (file, "A0-A%d", NR_A_REGS - 1); fprintf_filtered (file, "A0-A%d", NR_A_REGS - 1);
for (a = a0_regnum (gdbarch); a < a0_regnum (gdbarch) + NR_A_REGS; a++) for (a = a0_regnum (gdbarch); a < a0_regnum (gdbarch) + NR_A_REGS; a++)

View file

@ -1086,6 +1086,11 @@ extern void *alloca ();
#include "arch-utils.h" #include "arch-utils.h"
#endif #endif
/* Maximum size of a register. Something small, but large enough for
all known ISAs. If it turns out to be too small, make it bigger. */
enum { MAX_REGISTER_SIZE = 16 };
/* FIXME: cagney/2003-03-01: Hack to prop up old targets while they /* FIXME: cagney/2003-03-01: Hack to prop up old targets while they
migrate to the overhauled register cache. migrate to the overhauled register cache.
@ -1102,13 +1107,6 @@ extern void *alloca ();
extern int legacy_max_register_raw_size (void); extern int legacy_max_register_raw_size (void);
#define MAX_REGISTER_RAW_SIZE legacy_max_register_raw_size () #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. */ /* Static target-system-dependent parameters for GDB. */
/* Number of bits in a char or unsigned char for the target machine. /* Number of bits in a char or unsigned char for the target machine.

View file

@ -782,10 +782,8 @@ extern void set_gdbarch_register_byte (struct gdbarch *gdbarch, gdbarch_register
#endif #endif
#endif #endif
/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, /* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
by REGISTER_TYPE. */
/* Default (function) for non- multi-arch platforms. */ /* Default (function) for non- multi-arch platforms. */
#if (!GDB_MULTI_ARCH) && !defined (REGISTER_RAW_SIZE) #if (!GDB_MULTI_ARCH) && !defined (REGISTER_RAW_SIZE)
@ -804,10 +802,9 @@ extern void set_gdbarch_register_raw_size (struct gdbarch *gdbarch, gdbarch_regi
#endif #endif
#endif #endif
/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, /* The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced are all being replaced by MAX_REGISTER_SIZE (a constant). */
by REGISTER_TYPE. */
#if defined (DEPRECATED_MAX_REGISTER_RAW_SIZE) #if defined (DEPRECATED_MAX_REGISTER_RAW_SIZE)
/* Legacy for systems yet to multi-arch DEPRECATED_MAX_REGISTER_RAW_SIZE */ /* Legacy for systems yet to multi-arch DEPRECATED_MAX_REGISTER_RAW_SIZE */
@ -845,10 +842,8 @@ extern void set_gdbarch_deprecated_max_register_raw_size (struct gdbarch *gdbarc
#endif #endif
#endif #endif
/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, /* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
by REGISTER_TYPE. */
/* Default (function) for non- multi-arch platforms. */ /* Default (function) for non- multi-arch platforms. */
#if (!GDB_MULTI_ARCH) && !defined (REGISTER_VIRTUAL_SIZE) #if (!GDB_MULTI_ARCH) && !defined (REGISTER_VIRTUAL_SIZE)
@ -867,10 +862,9 @@ extern void set_gdbarch_register_virtual_size (struct gdbarch *gdbarch, gdbarch_
#endif #endif
#endif #endif
/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, /* The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced are all being replaced by MAX_REGISTER_SIZE (a constant). */
by REGISTER_TYPE. */
#if defined (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE) #if defined (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE)
/* Legacy for systems yet to multi-arch DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE */ /* Legacy for systems yet to multi-arch DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE */
@ -908,10 +902,8 @@ extern void set_gdbarch_deprecated_max_register_virtual_size (struct gdbarch *gd
#endif #endif
#endif #endif
/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, /* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE have all being replaced
by REGISTER_TYPE. */
#if defined (REGISTER_VIRTUAL_TYPE) #if defined (REGISTER_VIRTUAL_TYPE)
/* Legacy for systems yet to multi-arch REGISTER_VIRTUAL_TYPE */ /* Legacy for systems yet to multi-arch REGISTER_VIRTUAL_TYPE */

View file

@ -480,30 +480,22 @@ v::REGISTER_BYTES:int:register_bytes
# migration process - old code, calling REGISTER_BYTE, doesn't need to # migration process - old code, calling REGISTER_BYTE, doesn't need to
# be modified. # be modified.
F::REGISTER_BYTE:int:register_byte:int reg_nr:reg_nr::generic_register_byte:generic_register_byte F::REGISTER_BYTE:int:register_byte:int reg_nr:reg_nr::generic_register_byte:generic_register_byte
# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, # The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, # REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE.
# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
# by REGISTER_TYPE.
f:2:REGISTER_RAW_SIZE:int:register_raw_size:int reg_nr:reg_nr::generic_register_size:generic_register_size::0 f:2:REGISTER_RAW_SIZE:int:register_raw_size:int reg_nr:reg_nr::generic_register_size:generic_register_size::0
# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, # The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, # DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced # are all being replaced by MAX_REGISTER_SIZE (a constant).
# by REGISTER_TYPE.
V:2:DEPRECATED_MAX_REGISTER_RAW_SIZE:int:deprecated_max_register_raw_size V:2:DEPRECATED_MAX_REGISTER_RAW_SIZE:int:deprecated_max_register_raw_size
# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, # The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, # REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE.
# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
# by REGISTER_TYPE.
f:2:REGISTER_VIRTUAL_SIZE:int:register_virtual_size:int reg_nr:reg_nr::generic_register_size:generic_register_size::0 f:2:REGISTER_VIRTUAL_SIZE:int:register_virtual_size:int reg_nr:reg_nr::generic_register_size:generic_register_size::0
# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, # The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, # DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced # are all being replaced by MAX_REGISTER_SIZE (a constant).
# by REGISTER_TYPE.
V:2:DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE:int:deprecated_max_register_virtual_size V:2:DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE:int:deprecated_max_register_virtual_size
# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE, # The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE, # REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE.
# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE have all being replaced
# by REGISTER_TYPE.
F:2:REGISTER_VIRTUAL_TYPE:struct type *:register_virtual_type:int reg_nr:reg_nr::0:0 F:2:REGISTER_VIRTUAL_TYPE:struct type *:register_virtual_type:int reg_nr:reg_nr::0:0
M:2:REGISTER_TYPE:struct type *:register_type:int reg_nr:reg_nr::0: M:2:REGISTER_TYPE:struct type *:register_type:int reg_nr:reg_nr::0:
# #

View file

@ -1500,8 +1500,8 @@ default_print_registers_info (struct gdbarch *gdbarch,
{ {
int i; int i;
const int numregs = NUM_REGS + NUM_PSEUDO_REGS; const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE); char raw_buffer[MAX_REGISTER_SIZE];
char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE); char virtual_buffer[MAX_REGISTER_SIZE];
if (DEPRECATED_DO_REGISTERS_INFO_P ()) if (DEPRECATED_DO_REGISTERS_INFO_P ())
{ {

View file

@ -1,3 +1,7 @@
2003-05-08 Andrew Cagney <cagney@redhat.com>
* mi-main.c (get_register): Use MAX_REGISTER_SIZE.
2003-05-05 Andrew Cagney <cagney@redhat.com> 2003-05-05 Andrew Cagney <cagney@redhat.com>
* mi-main.c (mi_cmd_data_write_register_values): Replace * mi-main.c (mi_cmd_data_write_register_values): Replace

View file

@ -511,8 +511,8 @@ mi_cmd_data_list_register_values (char *command, char **argv, int argc)
static int static int
get_register (int regnum, int format) get_register (int regnum, int format)
{ {
char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE); char raw_buffer[MAX_REGISTER_SIZE];
char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE); char virtual_buffer[MAX_REGISTER_SIZE];
int optim; int optim;
int realnum; int realnum;
CORE_ADDR addr; CORE_ADDR addr;

View file

@ -305,15 +305,6 @@ legacy_max_register_raw_size (void)
return max_register_size (current_gdbarch); return max_register_size (current_gdbarch);
} }
int
legacy_max_register_virtual_size (void)
{
if (DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE_P ())
return DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE;
else
return max_register_size (current_gdbarch);
}
int int
register_size (struct gdbarch *gdbarch, int regnum) register_size (struct gdbarch *gdbarch, int regnum)
{ {

View file

@ -2070,8 +2070,8 @@ sparc_print_registers (struct gdbarch *gdbarch,
{ {
int i; int i;
const int numregs = NUM_REGS + NUM_PSEUDO_REGS; const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE); char raw_buffer[MAX_REGISTER_SIZE];
char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE); char virtual_buffer[MAX_REGISTER_SIZE];
for (i = 0; i < numregs; i++) for (i = 0; i < numregs; i++)
{ {

View file

@ -1115,7 +1115,7 @@ memrange_sortmerge (struct collection_list *memranges)
{ {
if (memranges->list[a].type == memranges->list[b].type && if (memranges->list[a].type == memranges->list[b].type &&
memranges->list[b].start - memranges->list[a].end <= memranges->list[b].start - memranges->list[a].end <=
MAX_REGISTER_VIRTUAL_SIZE) MAX_REGISTER_SIZE)
{ {
/* memrange b starts before memrange a ends; merge them. */ /* memrange b starts before memrange a ends; merge them. */
if (memranges->list[b].end > memranges->list[a].end) if (memranges->list[b].end > memranges->list[a].end)