diff options
author | Mark Kettenis <kettenis@gnu.org> | 2001-05-09 09:58:45 +0000 |
---|---|---|
committer | Mark Kettenis <kettenis@gnu.org> | 2001-05-09 09:58:45 +0000 |
commit | d7a0d72c953815f254dbaa7745deb63d28e93aec (patch) | |
tree | 910276f5642edeea584406469d13fec4fbb5026e /gdb/config | |
parent | 6e0ce711e9cab49c7bace01123d05731edc562c4 (diff) | |
download | gdb-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.h | 28 |
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. */ |