2003-05-08 Andrew Cagney <cagney@redhat.com>
authorAndrew Cagney <cagney@redhat.com>
Thu, 8 May 2003 18:46:49 +0000 (18:46 +0000)
committerAndrew Cagney <cagney@redhat.com>
Thu, 8 May 2003 18:46:49 +0000 (18:46 +0000)
* 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.

gdb/ChangeLog
gdb/d10v-tdep.c
gdb/defs.h
gdb/gdbarch.h
gdb/gdbarch.sh
gdb/infcmd.c
gdb/mi/ChangeLog
gdb/mi/mi-main.c
gdb/regcache.c
gdb/sparc-tdep.c
gdb/tracepoint.c

index ce84ed74d3dd9bd4bb249ff60399a68065ef68f2..f0d19c4226dd43caf2ccd02f6486f1689804359e 100644 (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>
 
        * fork-child.c (escape_bang_in_quoted_argument): New function.
index 32e60f14c6ec8d9117ba39b5e3d25b9600592886..c184b4457e79f15782e34a62bb06c752f240df55 100644 (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;
     fprintf_filtered (file, "A0-A%d", NR_A_REGS - 1);
     for (a = a0_regnum (gdbarch); a < a0_regnum (gdbarch) + NR_A_REGS; a++)
index 6024253a17a675c5f8de2c2b881c5203f8b7238c..420cf31e811a030bd2ea65b99bac0ded85bbcbd0 100644 (file)
@@ -1086,6 +1086,11 @@ extern void *alloca ();
 #include "arch-utils.h"
 #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
    migrate to the overhauled register cache.
 
@@ -1102,13 +1107,6 @@ extern void *alloca ();
 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.
index 10404a07341a41ef579206279995a59d63ca25d7..27b1ec3b242be06cac803623e3c87692fd504365 100644 (file)
@@ -782,10 +782,8 @@ extern void set_gdbarch_register_byte (struct gdbarch *gdbarch, gdbarch_register
 #endif
 #endif
 
-/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-   MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-   REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-   by REGISTER_TYPE. */
+/* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
+   REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
 
 /* Default (function) for non- multi-arch platforms. */
 #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
 
-/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-   MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-   REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-   by REGISTER_TYPE. */
+/* The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
+   DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
+   are all being replaced by MAX_REGISTER_SIZE (a constant). */
 
 #if defined (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
 
-/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-   MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-   REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-   by REGISTER_TYPE. */
+/* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
+   REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
 
 /* Default (function) for non- multi-arch platforms. */
 #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
 
-/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-   MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-   REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-   by REGISTER_TYPE. */
+/* The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
+   DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
+   are all being replaced by MAX_REGISTER_SIZE (a constant). */
 
 #if defined (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
 
-/* The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-   MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-   REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE have all being replaced
-   by REGISTER_TYPE. */
+/* The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
+   REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE. */
 
 #if defined (REGISTER_VIRTUAL_TYPE)
 /* Legacy for systems yet to multi-arch REGISTER_VIRTUAL_TYPE */
index 47271f9ea4f12fdeba0d3e6d6ac4fdc1a75857e3..f4bae4c477f75855eba2efe74141b11ee1a194c8 100755 (executable)
@@ -480,30 +480,22 @@ v::REGISTER_BYTES:int:register_bytes
 # migration process - old code, calling REGISTER_BYTE, doesn't need to
 # be modified.
 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,
-# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-# by REGISTER_TYPE.
+# The methods REGISTER_VIRTUAL_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
-# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-# by REGISTER_TYPE.
+# The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
+# DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
+# are all being replaced by MAX_REGISTER_SIZE (a constant).
 V:2:DEPRECATED_MAX_REGISTER_RAW_SIZE:int:deprecated_max_register_raw_size
-# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-# by REGISTER_TYPE.
+# The methods REGISTER_VIRTUAL_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
-# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE are all being replaced
-# by REGISTER_TYPE.
+# The methods DEPRECATED_MAX_REGISTER_RAW_SIZE, MAX_REGISTER_RAW_SIZE,
+# DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE, and MAX_REGISTER_VIRTUAL_SIZE
+# are all being replaced by MAX_REGISTER_SIZE (a constant).
 V:2:DEPRECATED_MAX_REGISTER_VIRTUAL_SIZE:int:deprecated_max_register_virtual_size
-# The methods REGISTER_VIRTUAL_TYPE, MAX_REGISTER_RAW_SIZE,
-# MAX_REGISTER_VIRTUAL_SIZE, MAX_REGISTER_RAW_SIZE,
-# REGISTER_VIRTUAL_SIZE and REGISTER_RAW_SIZE have all being replaced
-# by REGISTER_TYPE.
+# The methods REGISTER_VIRTUAL_TYPE, REGISTER_VIRTUAL_SIZE and
+# REGISTER_RAW_SIZE are all being replaced by REGISTER_TYPE.
 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:
 #
index 5867655b98e541600eb6ca238de8f2fb0021d0e0..de6c319608d9a2faf9c2d14ab150df6d34b57831 100644 (file)
@@ -1500,8 +1500,8 @@ default_print_registers_info (struct gdbarch *gdbarch,
 {
   int i;
   const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
-  char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
-  char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE);
+  char raw_buffer[MAX_REGISTER_SIZE];
+  char virtual_buffer[MAX_REGISTER_SIZE];
 
   if (DEPRECATED_DO_REGISTERS_INFO_P ())
     {
index dc6669bca0a0a2040b798ccd6c662f4b7ddcf7fe..8e6d8a827c0bfff5ff3344ce76c016b0c4d3556d 100644 (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>
 
        * mi-main.c (mi_cmd_data_write_register_values): Replace
index e13516a2dac3e0451aa8830566d57cd792f901fa..ac785d354ea93f0604c75a48fdbe087bf4174331 100644 (file)
@@ -511,8 +511,8 @@ mi_cmd_data_list_register_values (char *command, char **argv, int argc)
 static int
 get_register (int regnum, int format)
 {
-  char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
-  char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE);
+  char raw_buffer[MAX_REGISTER_SIZE];
+  char virtual_buffer[MAX_REGISTER_SIZE];
   int optim;
   int realnum;
   CORE_ADDR addr;
index 5bfe9581501b4b5f614e0ce76831577b4018cfcf..5fa2b4a8b3287a1af4515da6ca1a2f79453d14e8 100644 (file)
@@ -305,15 +305,6 @@ legacy_max_register_raw_size (void)
     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
 register_size (struct gdbarch *gdbarch, int regnum)
 {
index 00f9f1687b44b9920710ab754867fe3ddf703827..b3a0f1fab65d5e0be0157e6edc89418684bdf530 100644 (file)
@@ -2070,8 +2070,8 @@ sparc_print_registers (struct gdbarch *gdbarch,
 {
   int i;
   const int numregs = NUM_REGS + NUM_PSEUDO_REGS;
-  char *raw_buffer = alloca (MAX_REGISTER_RAW_SIZE);
-  char *virtual_buffer = alloca (MAX_REGISTER_VIRTUAL_SIZE);
+  char raw_buffer[MAX_REGISTER_SIZE];
+  char virtual_buffer[MAX_REGISTER_SIZE];
 
   for (i = 0; i < numregs; i++)
     {
index 855a5b23b422bbcb8f4a9b3930b034b59da898f0..17ee07c898da10145cd9248221adfd52f6fd5c32 100644 (file)
@@ -1115,7 +1115,7 @@ memrange_sortmerge (struct collection_list *memranges)
        {
          if (memranges->list[a].type == memranges->list[b].type &&
              memranges->list[b].start - memranges->list[a].end <=
-             MAX_REGISTER_VIRTUAL_SIZE)
+             MAX_REGISTER_SIZE)
            {
              /* memrange b starts before memrange a ends; merge them.  */
              if (memranges->list[b].end > memranges->list[a].end)