aboutsummaryrefslogtreecommitdiff
path: root/gcc/config/mips/t-linux64
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2003-01-19 13:04:24 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2003-01-19 13:04:24 +0000
commit3bd6d4c458a197683ce3f82b884ad1546b7d67de (patch)
tree1c9527057e11cd9aeab8e1192678a236184395a6 /gcc/config/mips/t-linux64
parente9f13564bb2cd1147517bcee06e2de0aefeb4af1 (diff)
downloadgcc-3bd6d4c458a197683ce3f82b884ad1546b7d67de.zip
gcc-3bd6d4c458a197683ce3f82b884ad1546b7d67de.tar.gz
gcc-3bd6d4c458a197683ce3f82b884ad1546b7d67de.tar.bz2
config.gcc (mips64*-*-linux*): Added.
* config.gcc (mips64*-*-linux*): Added. * config/mips/linux64.h, config/mips/t-linux64: New file. * config/mips/iris6.h (MIPS_TFMODE_FORMAT): Define. * config/mips/mips.c (override_options): Use it. * config/mips/mips.h (TARGET_SWITCHES): Added... (SUBTARGET_TARGET_SWITCHES): New, empty by default. * Makefile.in (SPECS): New. (STAGESTUFF, specs, mostlyclean, install-common): Use it. * gcc.c (process_command): Move self-spec processing past spec file loading. * doc/tm.texi (DRIVER_SELF_SPECS): Document the change. * doc/fragments.texi (MULTILIB_EXTRA_OPTS): Document need for CRTSTUFF_T_CFLAGS. (SPECS): Document. * doc/invoke.texi (-mabi-fake-default): Document. From-SVN: r61481
Diffstat (limited to 'gcc/config/mips/t-linux64')
-rw-r--r--gcc/config/mips/t-linux6441
1 files changed, 41 insertions, 0 deletions
diff --git a/gcc/config/mips/t-linux64 b/gcc/config/mips/t-linux64
new file mode 100644
index 0000000..cf63928
--- /dev/null
+++ b/gcc/config/mips/t-linux64
@@ -0,0 +1,41 @@
+MULTILIB_OPTIONS = mabi=32/mabi=n32/mabi=64
+MULTILIB_DIRNAMES = o32 32 64
+MULTILIB_OSDIRNAMES = ../lib ../lib32 ../lib64
+
+EXTRA_MULTILIB_PARTS=crtbegin.o crtend.o crtbeginS.o crtendS.o crtbeginT.o
+
+LIB2FUNCS_EXTRA = $(srcdir)/config/mips/_tilib.c
+
+TPBIT = tp-bit.c
+
+tp-bit.c: $(srcdir)/config/fp-bit.c
+ echo '#ifdef __MIPSEL__' > tp-bit.c
+ echo '# define FLOAT_BIT_ORDER_MISMATCH' >> tp-bit.c
+ echo '#endif' >> tp-bit.c
+ echo '#if __LDBL_MANT_DIG__ == 113' >> tp-bit.c
+ echo '# define TFLOAT' >> tp-bit.c
+ cat $(srcdir)/config/fp-bit.c >> tp-bit.c
+ echo '#endif' >> tp-bit.c
+
+# This arranges for us to extract the built-in specs of the compiler
+# into specs.install. It's this file that we're going to install as
+# specs. Howver, at toolchain build time, we must use specs that
+# enforce the defaults that the compiler expects, namely, the o32 ABI,
+# instead of n32, that we want to use as the default post install.
+SPECS = specs.install
+specs: specs.install
+ # Changing the build-time default ABI from n32 to o32
+ # The post-install default ABI will remain n32
+ @if test "x`grep '!mabi=\*:-mabi=n32' specs.install`" = \
+ "x%{!mabi=*:-mabi=n32}"; then \
+ sed 's,\(!mabi=\*:-mabi\)=n32,\1=32,' < specs.install > $@ ; \
+ else \
+ echo failed, gcc/config/mips/t-linux64 needs updating >&2; \
+ false; \
+ fi
+
+# This arranges for anyone who uses gcc -print-multi-lib post
+# installation to get lists of options for each multilib to get
+# options that actually work.
+MULTILIB_EXTRA_OPTS = mabi-fake-default
+CRTSTUFF_T_CFLAGS = -mabi-fake-default