summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <richard.earnshaw@arm.com>2002-05-07 12:58:51 +0000
committerRichard Earnshaw <richard.earnshaw@arm.com>2002-05-07 12:58:51 +0000
commitc5c9f22a1ad34ad9d20b7d55b5b30bade4ac779c (patch)
tree3898659c1102c8c5b48317cd61d4020703001f60
parent1b7188486c37e4d86ef5fc23f73a01137329b522 (diff)
downloadgdb-c5c9f22a1ad34ad9d20b7d55b5b30bade4ac779c.tar.gz
* arm-tdep.h (ARM_MAX_REGISTER_RAW_SIZE): Define.
(ARM_MAX_REGISTER_VIRTUAL_SIZE): Define. * arm-tdep.c (arm_store_return_value): Use them. Use FP_REGISTER_RAW_SIZE when setting the FPA return value. * remote-rdp.c (remote_rdp_fetch_register): Use ARM_MAX_REGISTER_RAW_SIZE. (remote_rdp_store_register): Likewise.
-rw-r--r--gdb/ChangeLog10
-rw-r--r--gdb/arm-tdep.c4
-rw-r--r--gdb/arm-tdep.h4
-rw-r--r--gdb/remote-rdp.c4
4 files changed, 18 insertions, 4 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 2abbc4812c5..339bb59e887 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,13 @@
+2002-05-07 Richard Earnshaw <rearnsha@arm.com>
+
+ * arm-tdep.h (ARM_MAX_REGISTER_RAW_SIZE): Define.
+ (ARM_MAX_REGISTER_VIRTUAL_SIZE): Define.
+ * arm-tdep.c (arm_store_return_value): Use them.
+ Use FP_REGISTER_RAW_SIZE when setting the FPA return value.
+ * remote-rdp.c (remote_rdp_fetch_register): Use
+ ARM_MAX_REGISTER_RAW_SIZE.
+ (remote_rdp_store_register): Likewise.
+
2002-05-07 Michal Ludvig <mludvig@suse.cz>
* dwarf2cfi.c: Code cleanup, removed unused variables,
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index fa0b365f839..2ea4d28909e 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -2336,7 +2336,7 @@ arm_store_return_value (struct type *type, char *valbuf)
if (TYPE_CODE (type) == TYPE_CODE_FLT)
{
struct gdbarch_tdep *tdep = gdbarch_tdep (current_gdbarch);
- char buf[MAX_REGISTER_RAW_SIZE];
+ char buf[ARM_MAX_REGISTER_RAW_SIZE];
switch (tdep->fp_model)
{
@@ -2344,7 +2344,7 @@ arm_store_return_value (struct type *type, char *valbuf)
convert_to_extended (valbuf, buf);
write_register_bytes (REGISTER_BYTE (ARM_F0_REGNUM), buf,
- MAX_REGISTER_RAW_SIZE);
+ FP_REGISTER_RAW_SIZE);
break;
case ARM_FLOAT_SOFT:
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index 0fad4fd493f..e7c56515a95 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -45,6 +45,10 @@ enum gdb_regnum {
ARM_LAST_FP_ARG_REGNUM = ARM_F3_REGNUM
};
+/* Used in target-specific code when we need to know the size of the
+ largest type of register we need to handle. */
+#define ARM_MAX_REGISTER_RAW_SIZE 12
+#define ARM_MAX_REGISTER_VIRTUAL_SIZE 8
/* Size of integer registers. */
#define INT_REGISTER_RAW_SIZE 4
diff --git a/gdb/remote-rdp.c b/gdb/remote-rdp.c
index f6ccf1e812b..d713a678781 100644
--- a/gdb/remote-rdp.c
+++ b/gdb/remote-rdp.c
@@ -612,7 +612,7 @@ remote_rdp_fetch_register (int regno)
}
else
{
- char buf[MAX_REGISTER_RAW_SIZE];
+ char buf[ARM_MAX_REGISTER_RAW_SIZE];
if (regno < 15)
rdp_fetch_one_register (1 << regno, buf);
else if (regno == ARM_PC_REGNUM)
@@ -642,7 +642,7 @@ remote_rdp_store_register (int regno)
}
else
{
- char tmp[MAX_REGISTER_RAW_SIZE];
+ char tmp[ARM_MAX_REGISTER_RAW_SIZE];
read_register_gen (regno, tmp);
if (regno < 15)
rdp_store_one_register (1 << regno, tmp);