From: Mark Kettenis Date: Fri, 14 Jun 2002 21:17:28 +0000 (+0000) Subject: * config/i386/tm-i386.h (TARGET_LONG_DOUBLE_FORMAT, X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=896fb97df8a40b17d8a5f911a62ae9a4382b3fec;p=binutils-gdb.git * 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. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index dfe01b916f5..afdb88ee5a9 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,10 @@ 2002-06-14 Mark Kettenis + * 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 8fae6104c52..c96c7926246 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 ab52ba41325..f0723fa660b 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);