aboutsummaryrefslogtreecommitdiff
path: root/gdb
diff options
context:
space:
mode:
authorMark Kettenis <kettenis@gnu.org>2002-06-14 21:17:28 +0000
committerMark Kettenis <kettenis@gnu.org>2002-06-14 21:17:28 +0000
commit896fb97df8a40b17d8a5f911a62ae9a4382b3fec (patch)
treea8e0adfd5fa3d76990c0331f396e5becb8f7a42c /gdb
parent8201327c4086d86bf1c16db4fd34bc55c2da53ef (diff)
downloadgdb-896fb97df8a40b17d8a5f911a62ae9a4382b3fec.zip
gdb-896fb97df8a40b17d8a5f911a62ae9a4382b3fec.tar.gz
gdb-896fb97df8a40b17d8a5f911a62ae9a4382b3fec.tar.bz2
* config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT,
TARGET_LONG_DOUBLE_BIT): Remove. * i386-tdep.c (i386_gdbarch_init): Initialize long_double_format and long_double bit.
Diffstat (limited to 'gdb')
-rw-r--r--gdb/ChangeLog5
-rw-r--r--gdb/config/i386/tm-i386.h13
-rw-r--r--gdb/i386-tdep.c11
3 files changed, 16 insertions, 13 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index dfe01b9..afdb88e 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,5 +1,10 @@
2002-06-14 Mark Kettenis <kettenis@gnu.org>
+ * config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT,
+ TARGET_LONG_DOUBLE_BIT): Remove. * i386-tdep.c
+ (i386_gdbarch_init): Initialize long_double_format and long_double
+ bit.
+
* config/i386/i386sol2.mt (TDEPFILES): Add i386-sol2-tdep.o and
i386bsd-tdep.o. Remove solib.o, solib-svr4.o and solib-legacy.o.
Move these to ...
diff --git a/gdb/config/i386/tm-i386.h b/gdb/config/i386/tm-i386.h
index 8fae610..c96c792 100644
--- a/gdb/config/i386/tm-i386.h
+++ b/gdb/config/i386/tm-i386.h
@@ -32,19 +32,6 @@ struct frame_saved_regs;
struct value;
struct type;
-/* The format used for `long double' on almost all i386 targets is the
- i387 extended floating-point format. In fact, of all targets in the
- GCC 2.95 tree, only OSF/1 does it different, and insists on having
- a `long double' that's not `long' at all. */
-
-#define TARGET_LONG_DOUBLE_FORMAT &floatformat_i387_ext
-
-/* Although the i386 extended floating-point has only 80 significant
- bits, a `long double' actually takes up 96, probably to enforce
- alignment. */
-
-#define TARGET_LONG_DOUBLE_BIT 96
-
/* Number of traps that happen between exec'ing the shell to run an
inferior, and when we finally get to the inferior code. This is 2
on most implementations. */
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index ab52ba4..f0723fa 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -1351,6 +1351,17 @@ i386_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep->sigtramp_end = 0;
tdep->sc_pc_offset = -1;
+ /* The format used for `long double' on almost all i386 targets is
+ the i387 extended floating-point format. In fact, of all targets
+ in the GCC 2.95 tree, only OSF/1 does it different, and insists
+ on having a `long double' that's not `long' at all. */
+ set_gdbarch_long_double_format (gdbarch, &floatformat_i387_ext);
+
+ /* Although the i386 extended floating-point has only 80 significant
+ bits, a `long double' actually takes up 96, probably to enforce
+ alignment. */
+ set_gdbarch_long_double_bit (gdbarch, 96);
+
set_gdbarch_get_longjmp_target (gdbarch, i386_get_longjmp_target);
set_gdbarch_use_generic_dummy_frames (gdbarch, 0);