aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJoern Rennecke <amylaar@gcc.gnu.org>1997-04-07 22:29:09 +0100
committerJoern Rennecke <amylaar@gcc.gnu.org>1997-04-07 22:29:09 +0100
commitc0420911bde23ea6dd0b18c6051f50f4149476a2 (patch)
tree1aadd9227890316166b7bbee62325020c314e655 /gcc
parent13a61c299d7da9de6e2073441a8094fa4be1307e (diff)
downloadgcc-c0420911bde23ea6dd0b18c6051f50f4149476a2.zip
gcc-c0420911bde23ea6dd0b18c6051f50f4149476a2.tar.gz
gcc-c0420911bde23ea6dd0b18c6051f50f4149476a2.tar.bz2
(SUBTARGET_CC1_SPEC): Define.
(STARTFILE_SPEC, LINK_SPEC): Support -static. From-SVN: r13842
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/mips/iris6.h44
1 files changed, 41 insertions, 3 deletions
diff --git a/gcc/config/mips/iris6.h b/gcc/config/mips/iris6.h
index c994b7f..2c6070b 100644
--- a/gcc/config/mips/iris6.h
+++ b/gcc/config/mips/iris6.h
@@ -34,6 +34,9 @@ Boston, MA 02111-1307, USA. */
#undef TARGET_LONG64
#define TARGET_LONG64 (mips_abi == ABI_64)
+#undef SUBTARGET_CC1_SPEC
+#define SUBTARGET_CC1_SPEC "%{static: -mno-abicalls}"
+
/* We must pass -D_LONGLONG always, even when -ansi is used, because irix6
system header files require it. This is OK, because gcc never warns
when long long is used in system header files. Alternatively, we can
@@ -417,7 +420,7 @@ do { \
on the mipsX option. */
#undef STARTFILE_SPEC
#define STARTFILE_SPEC \
- "%{!shared: \
+ "%{!static:%{!shared: \
%{mabi=32:%{pg:gcrt1.o%s} \
%{!pg:%{p:mcrt1.o%s libprof1.a%s}%{!p:crt1.o%s}}} \
%{mabi=n32: \
@@ -440,7 +443,40 @@ do { \
%{!p:/usr/lib32/mips4/crt1.o%s}}} \
%{!mips4:%{pg:/usr/lib32/mips3/gcrt1.o%s} \
%{!pg:%{p:/usr/lib32/mips3/mcrt1.o%s /usr/lib32/mips3/libprof1.a%s} \
- %{!p:/usr/lib32/mips3/crt1.o%s}}}}} \
+ %{!p:/usr/lib32/mips3/crt1.o%s}}}}}} \
+ %{static: \
+ %{mabi=32:%{pg:/usr/lib/nonshared/gcrt1.o%s} \
+ %{!pg:%{p:/usr/lib/nonshared/mcrt1.o%s /usr/lib/nonshared/libprof1.a%s} \
+ %{!p:/usr/lib/nonshared/crt1.o%s}}} \
+ %{mabi=n32: \
+ %{mips4:%{pg:/usr/lib32/mips4/nonshared/gcrt1.o%s} \
+ %{!pg:%{p:/usr/lib32/mips4/nonshared/mcrt1.o%s \
+ /usr/lib32/mips4/nonshared/libprof1.a%s} \
+ %{!p:/usr/lib32/mips4/nonshared/crt1.o%s}}} \
+ %{!mips4:%{pg:/usr/lib32/mips3/nonshared/gcrt1.o%s} \
+ %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \
+ /usr/lib32/mips3/nonshared/libprof1.a%s} \
+ %{!p:/usr/lib32/mips3/nonshared/crt1.o%s}}}} \
+ %{mabi=64: \
+ %{mips4:%{pg:/usr/lib64/mips4/nonshared/gcrt1.o} \
+ %{!pg:%{p:/usr/lib64/mips4/nonshared/mcrt1.o \
+ /usr/lib64/mips4/nonshared/libprof1.a} \
+ %{!p:/usr/lib64/mips4/nonshared/crt1.o}}} \
+ %{!mips4:%{pg:/usr/lib64/mips3/nonshared/gcrt1.o} \
+ %{!pg:%{p:/usr/lib64/mips3/nonshared/mcrt1.o \
+ /usr/lib64/mips3/nonshared/libprof1.a} \
+ %{!p:/usr/lib64/mips3/nonshared/crt1.o}}}} \
+ %{!mabi*: \
+ %{mips4:%{pg:/usr/lib32/mips4/nonshared/gcrt1.o%s} \
+ %{!pg:%{p:/usr/lib32/mips4/nonshared/mcrt1.o%s \
+ /usr/lib32/mips4/nonshared/libprof1.a%s} \
+ %{!p:/usr/lib32/mips4/nonshared/crt1.o%s}}} \
+ %{!mips4:%{pg:/usr/lib32/mips3/nonshared/gcrt1.o%s} \
+ %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \
+ /usr/lib32/mips3/nonshared/libprof1.a%s} \
+ %{!pg:%{p:/usr/lib32/mips3/nonshared/mcrt1.o%s \
+ /usr/lib32/mips3/nonshared/libprof1.a%s} \
+ %{!p:/usr/lib32/mips3/nonshared/crt1.o%s}}}}}} \
%{mabi=n32: %{mips4:-L/usr/lib32/mips4} %{!mips4:-L/usr/lib32/mips3} \
-L/usr/lib32} \
%{mabi=64: %{mips4:-L/usr/lib64/mips4} %{!mips4:-L/usr/lib64/mips3} \
@@ -479,7 +515,9 @@ do { \
%{G*} %{EB} %{EL} %{mips1} %{mips2} %{mips3} %{mips4} \
%{bestGnum} %{shared} %{non_shared} \
%{call_shared} %{no_archive} %{exact_version} %{w} \
-%{!shared: %{!non_shared: %{!call_shared: -call_shared -no_unresolved}}} \
+%{static: -non_shared} \
+%{!static: \
+ %{!shared: %{!non_shared: %{!call_shared: -call_shared -no_unresolved}}}} \
%{rpath} -init __do_global_ctors -fini __do_global_dtors \
%{shared:-hidden_symbol __do_global_ctors,__do_global_dtors} \
-_SYSTYPE_SVR4 %{mabi=32: -32}%{mabi=n32: -n32}%{mabi=64: -64} %{!mabi*: -n32}"