From 7f668b86584c56415f47883c75b75aa6638f5d88 Mon Sep 17 00:00:00 2001 From: Eli Zaretskii Date: Mon, 3 Apr 2000 15:24:17 +0000 Subject: [PATCH] * config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define. * config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove definition (and use the common one in tm-i386.h). (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise. (I386_DJGPP_TARGET): Don't define, it's no longer required. (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition, i386-tdep.c defines it for all x86 targets. (LD_I387, HEX_LONG_DOUBLE_INPUT): Remove. * config/djgpp/fnchange.lst: Add i386-linux-tdep.c. * config/djgpp/djcheck.sh: Edit the copyright year out of the test results. Fix editing of `main' arguments for non-GNU Sed. --- gdb/ChangeLog | 17 ++++++++++++++ gdb/config/djgpp/djcheck.sh | 5 +++-- gdb/config/djgpp/fnchange.lst | 1 + gdb/config/i386/tm-go32.h | 42 ----------------------------------- gdb/config/i386/xm-go32.h | 2 ++ 5 files changed, 23 insertions(+), 44 deletions(-) diff --git a/gdb/ChangeLog b/gdb/ChangeLog index b3dfdd1181..a9f9a5a08c 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,20 @@ +2000-04-03 Eli Zaretskii + + * config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define. + + * config/i386/tm-go32.h (TARGET_LONG_DOUBLE_BIT): Remove + definition (and use the common one in tm-i386.h). + (REGISTER_CONVERT_TO_VIRTUAL, REGISTER_CONVERT_TO_RAW): Likewise. + (I386_DJGPP_TARGET): Don't define, it's no longer required. + (LOW_RETURN_REGNUM, HIGH_RETURN_REGNUM): Remove definition, + i386-tdep.c defines it for all x86 targets. + (LD_I387, HEX_LONG_DOUBLE_INPUT): Remove. + + * config/djgpp/fnchange.lst: Add i386-linux-tdep.c. + + * config/djgpp/djcheck.sh: Edit the copyright year out of the test + results. Fix editing of `main' arguments for non-GNU Sed. + 2000-04-03 Eli Zaretskii * symfile.c (map_overlay_command, unmap_overlay_command): Fix diff --git a/gdb/config/djgpp/djcheck.sh b/gdb/config/djgpp/djcheck.sh index 958b1b4067..36f2e01908 100644 --- a/gdb/config/djgpp/djcheck.sh +++ b/gdb/config/djgpp/djcheck.sh @@ -20,9 +20,10 @@ do options= fi $GDB ${options} < ${base}.in 2>&1 \ - | sed -e '/^GNU gdb /s/ [.0-9][.0-9]*//' \ + | sed -e '/GNU gdb /s/ [.0-9][.0-9]*//' \ + -e '/^Copyright/s/[12][0-9][0-9][0-9]/XYZZY/g' \ -e '/Starting program: /s|[A-z]:/.*/||' \ - -e '/main (.*argv=/s/\(argv\|envp\)=0x[0-9a-f][0-9a-f]*/\1=XYZ/g' \ + -e '/main (/s/=0x[0-9a-f][0-9a-f]*/=XYZ/g' \ > ${base}.tst if diff --binary -u ${base}.out ${base}.tst ; then rm -f ${base}.tst diff --git a/gdb/config/djgpp/fnchange.lst b/gdb/config/djgpp/fnchange.lst index 42beb933c1..be7babe766 100644 --- a/gdb/config/djgpp/fnchange.lst +++ b/gdb/config/djgpp/fnchange.lst @@ -33,6 +33,7 @@ gdb-0222/gdb/remote-vxmips.c gdb-0222/gdb/rmt-vxmips.c gdb-0222/gdb/remote-vxsparc.c gdb-0222/gdb/rmt-vxsparc.c gdb-0222/gdb/sparclet-rom.c gdb-0222/gdb/splet-rom.c gdb-0222/gdb/sparclet-stub.c gdb-0222/gdb/splet-stub.c +gdb-0222/gdb/i386-linux-tdep.c gdb-0222/gdb/i386linux-tdep.c gdb-0222/gdb/config/alpha/alpha-osf1.mh gdb-0222/gdb/config/alpha/alphosf1.mh gdb-0222/gdb/config/alpha/alpha-osf2.mh gdb-0222/gdb/config/alpha/alphosf2.mh gdb-0222/gdb/config/alpha/alpha-osf3.mh gdb-0222/gdb/config/alpha/alphosf3.mh diff --git a/gdb/config/i386/tm-go32.h b/gdb/config/i386/tm-go32.h index fb6eabdedc..f416396a3f 100644 --- a/gdb/config/i386/tm-go32.h +++ b/gdb/config/i386/tm-go32.h @@ -21,52 +21,11 @@ #ifndef TM_GO32_H #define TM_GO32_H -#define I386_DJGPP_TARGET #undef HAVE_SSE_REGS /* FIXME! go32-nat.c needs to support XMMi registers */ #define HAVE_I387_REGS #include "i386/tm-i386.h" -/* The host and target are i386 machines and the compiler supports - long doubles. Long doubles on the host therefore have the same - layout as a 387 FPU stack register. */ - -#if defined(HAVE_LONG_DOUBLE) && defined(HOST_I386) -#undef LD_I387 -#define LD_I387 -#endif - -/* Allow floating point numbers to be specified by a raw long double - 10 hex bytes number, e.g. 1.0 can be input as - 0x3fff8000000000000000 */ - -#ifdef LD_I387 -#define HEX_LONG_DOUBLE_INPUT(base,p,len,target) \ - ((base) == 16 && (len) == 20 \ - && i387_hex_long_double_input ((p), (target))) -#endif - -extern int i387_hex_long_double_input (char *p, long double *putithere); - -#ifdef LD_I387 /* otherwise, definitions from tm-i386.h are good enough */ - -#undef REGISTER_CONVERT_TO_VIRTUAL -#define REGISTER_CONVERT_TO_VIRTUAL(REGNUM,TYPE,FROM,TO) \ -{ \ - long double val = *((long double *)(FROM)); \ - store_floating ((TO), TYPE_LENGTH (TYPE), val); \ -} - -#undef REGISTER_CONVERT_TO_RAW -#define REGISTER_CONVERT_TO_RAW(TYPE,REGNUM,FROM,TO) \ -{ \ - long double val = extract_floating ((FROM), TYPE_LENGTH (TYPE)); \ - *((long double *)(TO)) = val; \ -} - -#undef TARGET_LONG_DOUBLE_BIT -#define TARGET_LONG_DOUBLE_BIT 96 - /* FRAME_CHAIN takes a frame's nominal address and produces the frame's chain-pointer. In the case of the i386, the frame's nominal address @@ -89,5 +48,4 @@ extern int i387_hex_long_double_input (char *p, long double *putithere); #undef FRAME_SAVED_PC #define FRAME_SAVED_PC(FRAME) (read_memory_integer ((FRAME)->frame + 4, 4)) -#endif /* LD_I387 */ #endif /* TM_GO32_H */ diff --git a/gdb/config/i386/xm-go32.h b/gdb/config/i386/xm-go32.h index 868074d427..79b8f27370 100644 --- a/gdb/config/i386/xm-go32.h +++ b/gdb/config/i386/xm-go32.h @@ -36,3 +36,5 @@ #define DIRNAME_SEPARATOR ';' #define HOST_I386 + +#define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext