2d523c2317
-Erik
62 lines
2.3 KiB
Diff
62 lines
2.3 KiB
Diff
diff -urN gcc-3.3.2-orig/gcc/config/i386/i386.h gcc-3.3.2/gcc/config/i386/i386.h
|
|
--- gcc-3.3.2-orig/gcc/config/i386/i386.h 2003-06-25 16:18:31.000000000 -0500
|
|
+++ gcc-3.3.2/gcc/config/i386/i386.h 2003-10-22 01:46:57.000000000 -0500
|
|
@@ -653,6 +653,7 @@
|
|
/* Define for XFmode or TFmode extended real floating point support.
|
|
The XFmode is specified by i386 ABI, while TFmode may be faster
|
|
due to alignment and simplifications in the address calculations. */
|
|
+#if 0
|
|
#define LONG_DOUBLE_TYPE_SIZE (TARGET_128BIT_LONG_DOUBLE ? 128 : 96)
|
|
#define MAX_LONG_DOUBLE_TYPE_SIZE 128
|
|
#ifdef __x86_64__
|
|
@@ -660,6 +661,17 @@
|
|
#else
|
|
#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 96
|
|
#endif
|
|
+#else
|
|
+ /* Set up for x86 soft float with 64-bit long doubles, since that's
|
|
+ * all the soft float emulation supports. */
|
|
+#define LONG_DOUBLE_TYPE_SIZE (TARGET_128BIT_LONG_DOUBLE ? 128 : (TARGET_80387 ? 96 : 64))
|
|
+#define MAX_LONG_DOUBLE_TYPE_SIZE 128
|
|
+#ifdef __x86_64__
|
|
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE 128
|
|
+#else
|
|
+#define LIBGCC2_LONG_DOUBLE_TYPE_SIZE (TARGET_80387 ? 96 : 64)
|
|
+#endif
|
|
+#endif
|
|
|
|
/* Set the value of FLT_EVAL_METHOD in float.h. When using only the
|
|
FPU, assume that the fpcw is set to extended precision; when using
|
|
diff -urN gcc-3.3.2-orig/gcc/config/t-linux gcc-3.3.2/gcc/config/t-linux
|
|
--- gcc-3.3.2-orig/gcc/config/t-linux-uclibc 2003-06-04 11:56:11.000000000 -0500
|
|
+++ gcc-3.3.2/gcc/config/t-linux-uclibc 2003-10-22 01:46:39.000000000 -0500
|
|
@@ -21,3 +21,28 @@
|
|
LIB2ADDEH = $(srcdir)/unwind-dw2.c $(srcdir)/unwind-dw2-fde.c \
|
|
$(srcdir)/unwind-sjlj.c $(srcdir)/unwind-c.c
|
|
LIB2ADDEHDEP = unwind.inc unwind-dw2-fde.h
|
|
+
|
|
+##############################################
|
|
+# We want fine grained libraries, so use the new code to build the
|
|
+# floating point emulation libraries.
|
|
+FPBIT = fp-bit.c
|
|
+DPBIT = dp-bit.c
|
|
+
|
|
+#LIB2FUNCS_EXTRA = xp-bit.c
|
|
+
|
|
+dp-bit.c: $(srcdir)/config/fp-bit.c
|
|
+ echo '#ifdef __LITTLE_ENDIAN__' > dp-bit.c
|
|
+ echo '#define FLOAT_BIT_ORDER_MISMATCH' >>dp-bit.c
|
|
+ echo '#endif' >> dp-bit.c
|
|
+ cat $(srcdir)/config/fp-bit.c >> dp-bit.c
|
|
+
|
|
+fp-bit.c: $(srcdir)/config/fp-bit.c
|
|
+ echo '#define FLOAT' > fp-bit.c
|
|
+ echo '#ifdef __LITTLE_ENDIAN__' >> fp-bit.c
|
|
+ echo '#define FLOAT_BIT_ORDER_MISMATCH' >>fp-bit.c
|
|
+ echo '#endif' >> fp-bit.c
|
|
+ cat $(srcdir)/config/fp-bit.c >> fp-bit.c
|
|
+
|
|
+#MULTILIB_OPTIONS = msoft-float
|
|
+#MULTILIB_DIRNAMES = soft-float
|
|
+
|