summaryrefslogtreecommitdiff
path: root/sources/gcc-002-mips-swfp.patch
blob: 34e6566a9e0bf81d233ed784dab08ada54b6b483 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
diff -urN gcc-3.2/gcc/config/mips/t-linux gcc-3.2-patched/gcc/config/mips/t-linux
--- gcc-3.2.orig/gcc/config/mips/t-linux	Wed Jan 16 17:22:02 2002
+++ gcc-3.2/gcc/config/mips/t-linux	Mon Nov 11 15:23:33 2002
@@ -1,3 +1,48 @@
+# Don't run fixproto
+STMP_FIXPROTO =
+
+# Don't install "assert.h" in gcc. We use the one in glibc.
+INSTALL_ASSERT_H =
+
+# nop@nop.com: -fdata-sections messes with crtstuff.c's strategy to get
+# ctors/dtors/eh in special sections.
+CRTSTUFF_T_CFLAGS = -fno-data-sections
+CRTSTUFF_T_CFLAGS_S = -fno-data-sections
+# Hopefully that's enough.
+
+# Do not build libgcc1. Let gcc generate those functions. The GNU/Linux
+# C library can handle them.
+LIBGCC1 = 
+CROSS_LIBGCC1 =
+LIBGCC1_TEST =
+
+# Standard softfloat incantation:
+
+LIB2FUNCS_EXTRA = fp-bit.c dp-bit.c
+
+dp-bit.c: $(srcdir)/config/fp-bit.c
+	echo '#ifdef __MIPSEL__' > dp-bit.c
+	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> dp-bit.c
+	echo '#endif' >> dp-bit.c
+	echo '#undef US_SOFTWARE_GOFAST' >> dp-bit.c
+	echo '#undef FLOAT' >> dp-bit.c
+	cat $(srcdir)/config/fp-bit.c >> dp-bit.c
+
+fp-bit.c: $(srcdir)/config/fp-bit.c
+	echo '#ifdef __MIPSEL__' > fp-bit.c
+	echo '#define FLOAT_BIT_ORDER_MISMATCH' >> fp-bit.c
+	echo '#endif' >> fp-bit.c
+	echo '#undef US_SOFTWARE_GOFAST' >> fp-bit.c
+	echo '#define FLOAT' >> fp-bit.c
+	cat $(srcdir)/config/fp-bit.c >> fp-bit.c
+
+MULTILIB_OPTIONS = msoft-float
+MULTILIB_DIRNAMES = soft-float
+MULTILIB_MATCHES =
+MULTILIB_EXTRA_OPTS =
+
+LIBGCC = stmp-multilib
+INSTALL_LIBGCC = install-multilib
 # We want fine grained libraries, so use the new code to build the
 # floating point emulation libraries.
 FPBIT = fp-bit.c