This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
[PATCH] Multi-arch long_double stuff on i386
- From: Mark Kettenis <kettenis at chello dot nl>
- To: gdb-patches at sources dot redhat dot com
- Date: Fri, 14 Jun 2002 23:18:56 +0200 (CEST)
- Subject: [PATCH] Multi-arch long_double stuff on i386
Checked in.
Index: ChangeLog
from 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.
Index: i386-tdep.c
===================================================================
RCS file: /cvs/src/src/gdb/i386-tdep.c,v
retrieving revision 1.56
diff -u -p -r1.56 i386-tdep.c
--- i386-tdep.c 14 Jun 2002 19:42:19 -0000 1.56
+++ i386-tdep.c 14 Jun 2002 21:16:38 -0000
@@ -1351,6 +1351,17 @@ i386_gdbarch_init (struct gdbarch_info i
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);
Index: config/i386/tm-i386.h
===================================================================
RCS file: /cvs/src/src/gdb/config/i386/tm-i386.h,v
retrieving revision 1.30
diff -u -p -r1.30 tm-i386.h
--- config/i386/tm-i386.h 14 Jun 2002 19:42:20 -0000 1.30
+++ config/i386/tm-i386.h 14 Jun 2002 21:16:38 -0000
@@ -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. */