| 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 |
| + |