aboutsummaryrefslogtreecommitdiff
path: root/gdb/config
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2000-03-02 15:44:27 +0000
committerMark Kettenis <kettenis@gnu.org>2000-03-02 15:44:27 +0000
commit667620fa2734b3cadc8fa902caa1701fe2967197 (patch)
tree6f1de06575495557f635e5ebd404d781232a8e5d /gdb/config
parent3db87ba3caf19203c987d1e121cfc0ba2374df27 (diff)
downloadfsf-binutils-gdb-667620fa2734b3cadc8fa902caa1701fe2967197.zip
fsf-binutils-gdb-667620fa2734b3cadc8fa902caa1701fe2967197.tar.gz
fsf-binutils-gdb-667620fa2734b3cadc8fa902caa1701fe2967197.tar.bz2
Attempt to fix AIX/i386 target.
Diffstat (limited to 'gdb/config')
-rw-r--r--gdb/config/i386/tm-i386aix.h45
1 files changed, 16 insertions, 29 deletions
diff --git a/gdb/config/i386/tm-i386aix.h b/gdb/config/i386/tm-i386aix.h
index c309bdc..6fed83d 100644
--- a/gdb/config/i386/tm-i386aix.h
+++ b/gdb/config/i386/tm-i386aix.h
@@ -1,5 +1,5 @@
/* Macro defintions for IBM AIX PS/2 (i386).
- Copyright 1986, 1987, 1989, 1992, 1993 Free Software Foundation, Inc.
+ Copyright 1986, 1987, 1989, 1992, 1993, 2000 Free Software Foundation, Inc.
This file is part of GDB.
@@ -29,40 +29,27 @@
#ifndef I386
#define I386 1
#endif
+
+/* FIXME: kettenis/2000-03-02: This is used in
+ i386-tdep.c:i386_extract_return_value(), and will be remove once
+ I've fixed that. Meanwhile don't use it for any other purpose
+ please! */
#ifndef I386_AIX_TARGET
#define I386_AIX_TARGET 1
#endif
-/* Nonzero if register N requires conversion
- from raw format to virtual format. */
-
-#undef REGISTER_CONVERTIBLE
-#define REGISTER_CONVERTIBLE(N) \
- ((N < FP0_REGNUM) ? 0 : 1)
-
-/* Convert data from raw format for register REGNUM in buffer FROM
- to virtual format with type TYPE in buffer TO. */
+/* AIX/i386 has FPU support. However, the native configuration (which
+ is the only supported configuration) doesn't make the FPU control
+ registers available. Override the appropriate symbols such that
+ only the normal FPU registers are included in GDB's register array. */
-#undef REGISTER_CONVERT_TO_VIRTUAL
-#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \
-{ \
- double val; \
- i387_to_double ((FROM), (char *)&val); \
- store_floating ((TO), TYPE_LENGTH (TYPE), val); \
-}
-extern void
-i387_to_double PARAMS ((char *, char *));
+#undef NUM_FPREGS
+#define NUM_FPREGS (8)
-/* Convert data from virtual format with type TYPE in buffer FROM
- to raw format for register REGNUM in buffer TO. */
+#undef NUM_REGS
+#define NUM_REGS (NUM_GREGS + NUM_FPREGS)
-#undef REGISTER_CONVERT_TO_RAW
-#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \
-{ \
- double val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \
- double_to_i387((char *)&val, (TO)); \
-}
-extern void
-double_to_i387 PARAMS ((char *, char *));
+#undef REGISTER_BYTES
+#define REGISTER_BYTES (SIZEOF_GREGS + SIZEOF_FPU_REGS)
#endif /* TM_I386AIX_H */