diff options
author | Andrew Cagney <cagney@redhat.com> | 2001-11-14 08:18:33 +0000 |
---|---|---|
committer | Andrew Cagney <cagney@redhat.com> | 2001-11-14 08:18:33 +0000 |
commit | 032758dc555081e5b39bd684ada37b8571a9a729 (patch) | |
tree | 4429919d56089e54d54b0fbb62ea0b932af8b7a3 /gdb/arm-tdep.c | |
parent | 4a02fdb219a5332fedb5bff8802810cbd0171008 (diff) | |
download | fsf-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.c | 48 |
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) { |