* arm-tdep.c (arm_register_type): New function.
authorAndrew Cagney <cagney@redhat.com>
Wed, 14 Nov 2001 08:18:33 +0000 (08:18 +0000)
committerAndrew Cagney <cagney@redhat.com>
Wed, 14 Nov 2001 08:18:33 +0000 (08:18 +0000)
(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.

gdb/ChangeLog
gdb/arm-tdep.c
gdb/config/arm/tm-arm.h

index 00bdcb74be48bc5c159cd6d90e85dc4b29f1d0b7..648d7e3aa781144c5640e432d561ae0d5e017eee 100644 (file)
@@ -1,3 +1,15 @@
+2001-11-10  Andrew Cagney  <ac131313@redhat.com>
+
+       * 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.
+       
 2001-11-13  Elena Zannoni  <ezannoni@redhat.com>
 
        From Andrew Cagney <cagney@redhat.com>:
index d220e3d1ff75fce0f4b233591e59b0c8e25d219e..4243fd7758c1ae4012e9067ea0091b3d0289c653 100644 (file)
@@ -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)
 {
index b773adff67160aa8039d18160bf3a2e86379b727..e4271dae19ec20ed1daa4d79372ea576ef9d667c 100644 (file)
@@ -268,35 +268,11 @@ extern char **arm_register_names;
 /* Largest value REGISTER_VIRTUAL_SIZE can have.  */
 #define MAX_REGISTER_VIRTUAL_SIZE FP_REGISTER_VIRTUAL_SIZE
 
-/* Nonzero if register N requires conversion from raw format to
-   virtual format. */
-extern int arm_register_convertible (unsigned int);
-#define REGISTER_CONVERTIBLE(REGNUM) (arm_register_convertible (REGNUM))
-
-/* Convert data from raw format for register REGNUM in buffer FROM to
-   virtual format with type TYPE in buffer TO. */
-
-extern void arm_register_convert_to_virtual (unsigned int regnum,
-                                            struct type *type,
-                                            void *from, void *to);
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \
-     arm_register_convert_to_virtual (REGNUM, TYPE, FROM, TO)
-
-/* Convert data from virtual format with type TYPE in buffer FROM to
-   raw format for register REGNUM in buffer TO.  */
-
-extern void arm_register_convert_to_raw (unsigned int regnum,
-                                        struct type *type,
-                                        void *from, void *to);
-#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \
-     arm_register_convert_to_raw (REGNUM, TYPE, FROM, TO)
-
 /* Return the GDB type object for the "standard" data type of data in
    register N.  */
 
-#define REGISTER_VIRTUAL_TYPE(N) \
-     (((unsigned)(N) - F0_REGNUM) < NUM_FREGS \
-      ? builtin_type_double : builtin_type_int)
+extern struct type *arm_register_type (int regnum);
+#define REGISTER_VIRTUAL_TYPE(N) arm_register_type (N)
 
 /* The system C compiler uses a similar structure return convention to gcc */
 extern use_struct_convention_fn arm_use_struct_convention;