aboutsummaryrefslogtreecommitdiff
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
commit7bbcf283071c5971093c78e9e5655fe1b115df0b (patch)
tree6db91246578164b5a1ce31381e95df9bc20cbf2e
parent4657573b80193b4716f3559b3bfef32fae0f974e (diff)
downloadfsf-binutils-gdb-7bbcf283071c5971093c78e9e5655fe1b115df0b.zip
fsf-binutils-gdb-7bbcf283071c5971093c78e9e5655fe1b115df0b.tar.gz
fsf-binutils-gdb-7bbcf283071c5971093c78e9e5655fe1b115df0b.tar.bz2
* 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 2abbc48..339bb59 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 fa0b365..2ea4d28 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 0fad4fd..e7c5651 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 f6ccf1e..d713a67 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);