aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2001-05-09 09:58:45 +0000
committerMark Kettenis <kettenis@gnu.org>2001-05-09 09:58:45 +0000
commitd7a0d72c953815f254dbaa7745deb63d28e93aec (patch)
tree910276f5642edeea584406469d13fec4fbb5026e /gdb/config
parent6e0ce711e9cab49c7bace01123d05731edc562c4 (diff)
downloadgdb-d7a0d72c953815f254dbaa7745deb63d28e93aec.zip
gdb-d7a0d72c953815f254dbaa7745deb63d28e93aec.tar.gz
gdb-d7a0d72c953815f254dbaa7745deb63d28e93aec.tar.bz2
* i386-tdep.c (i386_register_virtual_type): New function.
(i386_register_convertible): New function. * config/i386/tm-i386.h (REGISTER_VIRTUAL_TYPE): Redefine in terms of i386_register_virtual_type. (REGISTER_CONVERTIBLE): Redefine in terms of i386_register_convertible. (i386_register_virtual_type, i386_register_convertible): New prototypes.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/i386/tm-i386.h28
1 files changed, 11 insertions, 17 deletions
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index 8939d86..a59ed82 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -238,23 +238,17 @@ extern int i386_register_virtual_size[];
/* Largest value REGISTER_VIRTUAL_SIZE can have. */
#define MAX_REGISTER_VIRTUAL_SIZE 16
-/* Return the GDB type object for the "standard" data type of data in
- register N. Perhaps si and di should go here, but potentially they
- could be used for things other than address. */
-
-#define REGISTER_VIRTUAL_TYPE(N) \
- (((N) == PC_REGNUM || (N) == FP_REGNUM || (N) == SP_REGNUM) \
- ? lookup_pointer_type (builtin_type_void) \
- : IS_FP_REGNUM(N) ? builtin_type_long_double \
- : IS_SSE_REGNUM(N) ? builtin_type_v4sf \
- : builtin_type_int)
-
-/* REGISTER_CONVERTIBLE(N) is true iff register N's virtual format is
- different from its raw format. Note that this definition assumes
- that the host supports IEEE 32-bit floats, since it doesn't say
- that SSE registers need conversion. Even if we can't find a
- counterexample, this is still sloppy. */
-#define REGISTER_CONVERTIBLE(n) (IS_FP_REGNUM (n))
+/* Return the GDB type object for the "standard" data type of data in
+ register REGNUM. */
+
+#define REGISTER_VIRTUAL_TYPE(regnum) i386_register_virtual_type (regnum)
+extern struct type *i386_register_virtual_type (int regnum);
+
+/* Return true iff register REGNUM's virtual format is different from
+ its raw format. */
+
+#define REGISTER_CONVERTIBLE(regnum) i386_register_convertible (regnum)
+extern int i386_register_convertible (int regnum);
/* Convert data from raw format for register REGNUM in buffer FROM to
virtual format with type TYPE in buffer TO. */