* config/i386/xm-go32.h (HOST_LONG_DOUBLE_FORMAT): Define.
authorEli Zaretskii <eliz@gnu.org>
Mon, 3 Apr 2000 15:24:17 +0000 (15:24 +0000)
committerEli Zaretskii <eliz@gnu.org>
Mon, 3 Apr 2000 15:24:17 +0000 (15:24 +0000)
* 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
gdb/config/djgpp/djcheck.sh
gdb/config/djgpp/fnchange.lst
gdb/config/i386/tm-go32.h
gdb/config/i386/xm-go32.h

index b3dfdd1..a9f9a5a 100644 (file)
@@ -1,5 +1,22 @@
 2000-04-03  Eli Zaretskii  <eliz@is.elta.co.il>
 
+       * 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  <eliz@is.elta.co.il>
+
        * symfile.c (map_overlay_command, unmap_overlay_command): Fix
        error message: there's no "overlay on" command.
 
index 958b1b4..36f2e01 100644 (file)
@@ -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
index 42beb93..be7babe 100644 (file)
@@ -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
index fb6eabd..f416396 100644 (file)
 #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 */
index 868074d..79b8f27 100644 (file)
@@ -36,3 +36,5 @@
 #define DIRNAME_SEPARATOR ';'
 
 #define HOST_I386
+
+#define HOST_LONG_DOUBLE_FORMAT &floatformat_i387_ext