aboutsummaryrefslogtreecommitdiff
path: root/gdb/arm-tdep.c
diff options
context:
space:
mode:
authorAndrew Cagney <cagney@redhat.com>2001-11-14 08:18:33 +0000
committerAndrew Cagney <cagney@redhat.com>2001-11-14 08:18:33 +0000
commit032758dc555081e5b39bd684ada37b8571a9a729 (patch)
tree4429919d56089e54d54b0fbb62ea0b932af8b7a3 /gdb/arm-tdep.c
parent4a02fdb219a5332fedb5bff8802810cbd0171008 (diff)
downloadfsf-binutils-gdb-032758dc555081e5b39bd684ada37b8571a9a729.zip
fsf-binutils-gdb-032758dc555081e5b39bd684ada37b8571a9a729.tar.gz
fsf-binutils-gdb-032758dc555081e5b39bd684ada37b8571a9a729.tar.bz2
* arm-tdep.c (arm_register_type): New function.
(arm_register_convertible): Delete. (arm_register_convert_to_virtual): Delete. (arm_register_convert_to_raw): Delete. * config/arm/tm-arm.h (REGISTER_CONVERTIBLE): Delete. (REGISTER_CONVERT_TO_VIRTUAL): Delete. (REGISTER_CONVERT_TO_RAW): Delete. (REGISTER_VIRTUAL_TYPE): Redefine as call to arm_register_type. (arm_register_type): Declare.
Diffstat (limited to 'gdb/arm-tdep.c')
-rw-r--r--gdb/arm-tdep.c48
1 files changed, 14 insertions, 34 deletions
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index d220e3d..4243fd7 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -1437,6 +1437,20 @@ arm_float_info (void)
print_fpu_flags (status);
}
+struct type *
+arm_register_type (int regnum)
+{
+ if (regnum >= F0_REGNUM && regnum < F0_REGNUM + NUM_FREGS)
+ {
+ if (TARGET_BYTE_ORDER == BIG_ENDIAN)
+ return builtin_type_arm_ext_big;
+ else
+ return builtin_type_arm_ext_littlebyte_bigword;
+ }
+ else
+ return builtin_type_int32;
+}
+
/* NOTE: cagney/2001-08-20: Both convert_from_extended() and
convert_to_extended() use floatformat_arm_ext_littlebyte_bigword.
It is thought that this is is the floating-point register format on
@@ -1466,40 +1480,6 @@ convert_to_extended (void *dbl, void *ptr)
&d, dbl);
}
-/* Nonzero if register N requires conversion from raw format to
- virtual format. */
-
-int
-arm_register_convertible (unsigned int regnum)
-{
- return ((regnum - F0_REGNUM) < 8);
-}
-
-/* Convert data from raw format for register REGNUM in buffer FROM to
- virtual format with type TYPE in buffer TO. */
-
-void
-arm_register_convert_to_virtual (unsigned int regnum, struct type *type,
- void *from, void *to)
-{
- double val;
-
- convert_from_extended (from, &val);
- store_floating (to, TYPE_LENGTH (type), val);
-}
-
-/* Convert data from virtual format with type TYPE in buffer FROM to
- raw format for register REGNUM in buffer TO. */
-
-void
-arm_register_convert_to_raw (unsigned int regnum, struct type *type,
- void *from, void *to)
-{
- double val = extract_floating (from, TYPE_LENGTH (type));
-
- convert_to_extended (&val, to);
-}
-
static int
condition_true (unsigned long cond, unsigned long status_reg)
{