]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - test/Driver/mips-cs-ld.c
Vendor import of clang release_34 branch r197841 (effectively, 3.4 RC3):
[FreeBSD/FreeBSD.git] / test / Driver / mips-cs-ld.c
1 // Check ld invocations on Mentor Graphics MIPS toolchain.
2 //
3 // = Big-endian, hard float
4 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
5 // RUN:     --target=mips-linux-gnu \
6 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
7 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-32 %s
8 // CHECK-BE-HF-32: "{{.*}}ld{{(.exe)?}}"
9 // CHECK-BE-HF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc"
10 // CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crt1.o"
11 // CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crti.o"
12 // CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3{{/|\\\\}}crtbegin.o"
13 // CHECK-BE-HF-32: "-L[[TC]]"
14 // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib"
15 // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib"
16 // CHECK-BE-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib"
17 // CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3{{/|\\\\}}crtend.o"
18 // CHECK-BE-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib{{/|\\\\}}crtn.o"
19 //
20 // = Big-endian, hard float, mips16
21 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
22 // RUN:     --target=mips-linux-gnu -mips16 \
23 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
24 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-16 %s
25 // CHECK-BE-HF-16: "{{.*}}ld{{(.exe)?}}"
26 // CHECK-BE-HF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16"
27 // CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crt1.o"
28 // CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crti.o"
29 // CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16{{/|\\\\}}crtbegin.o"
30 // CHECK-BE-HF-16: "-L[[TC]]/mips16"
31 // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16"
32 // CHECK-BE-HF-16-NOT: "-L[[TC]]"
33 // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/lib/../lib"
34 // CHECK-BE-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib"
35 // CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16{{/|\\\\}}crtend.o"
36 // CHECK-BE-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/usr/lib/../lib{{/|\\\\}}crtn.o"
37 //
38 // = Big-endian, hard float, mmicromips
39 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
40 // RUN:     --target=mips-linux-gnu -mmicromips \
41 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
42 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-MICRO %s
43 // CHECK-BE-HF-MICRO: "{{.*}}ld{{(.exe)?}}"
44 // CHECK-BE-HF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips"
45 // CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crt1.o"
46 // CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crti.o"
47 // CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips{{/|\\\\}}crtbegin.o"
48 // CHECK-BE-HF-MICRO: "-L[[TC]]/micromips"
49 // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips"
50 // CHECK-BE-HF-MICRO-NOT: "-L[[TC]]"
51 // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/lib/../lib"
52 // CHECK-BE-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib"
53 // CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips{{/|\\\\}}crtend.o"
54 // CHECK-BE-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/usr/lib/../lib{{/|\\\\}}crtn.o"
55 //
56 // = Big-endian, soft float
57 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
58 // RUN:     --target=mips-linux-gnu -msoft-float \
59 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
60 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-32 %s
61 // CHECK-BE-SF-32: "{{.*}}ld{{(.exe)?}}"
62 // CHECK-BE-SF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float"
63 // CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
64 // CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
65 // CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float{{/|\\\\}}crtbegin.o"
66 // CHECK-BE-SF-32: "-L[[TC]]/soft-float"
67 // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float"
68 // CHECK-BE-SF-32-NOT: "-L[[TC]]"
69 // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib"
70 // CHECK-BE-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib"
71 // CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float{{/|\\\\}}crtend.o"
72 // CHECK-BE-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
73 //
74 // = Big-endian, soft float, mips16
75 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
76 // RUN:     --target=mips-linux-gnu -msoft-float -mips16 \
77 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
78 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-16 %s
79 // CHECK-BE-SF-16: "{{.*}}ld{{(.exe)?}}"
80 // CHECK-BE-SF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float"
81 // CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
82 // CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
83 // CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float{{/|\\\\}}crtbegin.o"
84 // CHECK-BE-SF-16: "-L[[TC]]/mips16/soft-float"
85 // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float"
86 // CHECK-BE-SF-16-NOT: "-L[[TC]]"
87 // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/lib/../lib"
88 // CHECK-BE-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib"
89 // CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float{{/|\\\\}}crtend.o"
90 // CHECK-BE-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
91 //
92 // = Big-endian, soft float, micromips
93 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
94 // RUN:     --target=mips-linux-gnu -msoft-float -mmicromips \
95 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
96 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-MICRO %s
97 // CHECK-BE-SF-MICRO: "{{.*}}ld{{(.exe)?}}"
98 // CHECK-BE-SF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float"
99 // CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crt1.o"
100 // CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crti.o"
101 // CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float{{/|\\\\}}crtbegin.o"
102 // CHECK-BE-SF-MICRO: "-L[[TC]]/micromips/soft-float"
103 // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float"
104 // CHECK-BE-SF-MICRO-NOT: "-L[[TC]]"
105 // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/lib/../lib"
106 // CHECK-BE-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib"
107 // CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float{{/|\\\\}}crtend.o"
108 // CHECK-BE-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/usr/lib/../lib{{/|\\\\}}crtn.o"
109 //
110 // = Big-endian, hard float, 64-bit
111 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
112 // RUN:     --target=mips64-linux-gnu \
113 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
114 // RUN:   | FileCheck --check-prefix=CHECK-BE-HF-64 %s
115 // CHECK-BE-HF-64: "{{.*}}ld{{(.exe)?}}"
116 // CHECK-BE-HF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc"
117 // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crt1.o"
118 // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crti.o"
119 // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtbegin.o"
120 // CHECK-BE-HF-64: "-L[[TC]]/64"
121 // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64"
122 // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/lib/../lib64"
123 // CHECK-BE-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/usr/lib/../lib64"
124 // CHECK-BE-HF-64-NOT: "-L[[TC]]"
125 // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/64{{/|\\\\}}crtend.o"
126 // CHECK-BE-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/usr/lib/../lib64{{/|\\\\}}crtn.o"
127 //
128 // = Big-endian, soft float, 64-bit
129 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
130 // RUN:     --target=mips64-linux-gnu -msoft-float \
131 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
132 // RUN:   | FileCheck --check-prefix=CHECK-BE-SF-64 %s
133 // CHECK-BE-SF-64: "{{.*}}ld{{(.exe)?}}"
134 // CHECK-BE-SF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float"
135 // CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crt1.o"
136 // CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crti.o"
137 // CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/64{{/|\\\\}}crtbegin.o"
138 // CHECK-BE-SF-64: "-L[[TC]]/soft-float/64"
139 // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float"
140 // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/lib/../lib64"
141 // CHECK-BE-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64"
142 // CHECK-BE-SF-64-NOT: "-L[[TC]]"
143 // CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/64{{/|\\\\}}crtend.o"
144 // CHECK-BE-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/usr/lib/../lib64{{/|\\\\}}crtn.o"
145 //
146 // = Little-endian, hard float
147 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
148 // RUN:     --target=mipsel-linux-gnu -mhard-float \
149 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
150 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-32 %s
151 // CHECK-EL-HF-32: "{{.*}}ld{{(.exe)?}}"
152 // CHECK-EL-HF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/el"
153 // CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crt1.o"
154 // CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crti.o"
155 // CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el{{/|\\\\}}crtbegin.o"
156 // CHECK-EL-HF-32: "-L[[TC]]/el"
157 // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/el"
158 // CHECK-EL-HF-32-NOT: "-L[[TC]]"
159 // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib"
160 // CHECK-EL-HF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib"
161 // CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el{{/|\\\\}}crtend.o"
162 // CHECK-EL-HF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib{{/|\\\\}}crtn.o"
163 //
164 // = Little-endian, hard float, mips16
165 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
166 // RUN:     --target=mipsel-linux-gnu -mips16 \
167 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
168 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-16 %s
169 // CHECK-EL-HF-16: "{{.*}}ld{{(.exe)?}}"
170 // CHECK-EL-HF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/el"
171 // CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crt1.o"
172 // CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crti.o"
173 // CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/el{{/|\\\\}}crtbegin.o"
174 // CHECK-EL-HF-16: "-L[[TC]]/mips16/el"
175 // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/el"
176 // CHECK-EL-HF-16-NOT: "-L[[TC]]"
177 // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/lib/../lib"
178 // CHECK-EL-HF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib"
179 // CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/el{{/|\\\\}}crtend.o"
180 // CHECK-EL-HF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/el/usr/lib/../lib{{/|\\\\}}crtn.o"
181 //
182 // = Little-endian, hard float, micromips
183 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
184 // RUN:     --target=mipsel-linux-gnu -mmicromips \
185 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
186 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-MICRO %s
187 // CHECK-EL-HF-MICRO: "{{.*}}ld{{(.exe)?}}"
188 // CHECK-EL-HF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/el"
189 // CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crt1.o"
190 // CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crti.o"
191 // CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/el{{/|\\\\}}crtbegin.o"
192 // CHECK-EL-HF-MICRO: "-L[[TC]]/micromips/el"
193 // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/el"
194 // CHECK-EL-HF-MICRO-NOT: "-L[[TC]]"
195 // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/lib/../lib"
196 // CHECK-EL-HF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib"
197 // CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/el{{/|\\\\}}crtend.o"
198 // CHECK-EL-HF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/el/usr/lib/../lib{{/|\\\\}}crtn.o"
199 //
200 // = Little-endian, soft float
201 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
202 // RUN:     --target=mipsel-linux-gnu -mfloat-abi=soft \
203 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
204 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-32 %s
205 // CHECK-EL-SF-32: "{{.*}}ld{{(.exe)?}}"
206 // CHECK-EL-SF-32: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el"
207 // CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
208 // CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
209 // CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el{{/|\\\\}}crtbegin.o"
210 // CHECK-EL-SF-32: "-L[[TC]]/soft-float/el"
211 // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/soft-float/el"
212 // CHECK-EL-SF-32-NOT: "-L[[TC]]"
213 // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib"
214 // CHECK-EL-SF-32: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib"
215 // CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el{{/|\\\\}}crtend.o"
216 // CHECK-EL-SF-32: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
217 //
218 // = Little-endian, soft float, mips16
219 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
220 // RUN:     --target=mipsel-linux-gnu -mips16 -msoft-float \
221 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
222 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-16 %s
223 // CHECK-EL-SF-16: "{{.*}}ld{{(.exe)?}}"
224 // CHECK-EL-SF-16: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el"
225 // CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
226 // CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
227 // CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float/el{{/|\\\\}}crtbegin.o"
228 // CHECK-EL-SF-16: "-L[[TC]]/mips16/soft-float/el"
229 // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/mips16/soft-float/el"
230 // CHECK-EL-SF-16-NOT: "-L[[TC]]"
231 // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/lib/../lib"
232 // CHECK-EL-SF-16: "-L[[TC]]/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib"
233 // CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/mips16/soft-float/el{{/|\\\\}}crtend.o"
234 // CHECK-EL-SF-16: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/mips16/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
235 //
236 // = Little-endian, soft float, micromips
237 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
238 // RUN:     --target=mipsel-linux-gnu -mmicromips -msoft-float \
239 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
240 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-MICRO %s
241 // CHECK-EL-SF-MICRO: "{{.*}}ld{{(.exe)?}}"
242 // CHECK-EL-SF-MICRO: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el"
243 // CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crt1.o"
244 // CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crti.o"
245 // CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float/el{{/|\\\\}}crtbegin.o"
246 // CHECK-EL-SF-MICRO: "-L[[TC]]/micromips/soft-float/el"
247 // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib/micromips/soft-float/el"
248 // CHECK-EL-SF-MICRO-NOT: "-L[[TC]]"
249 // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/lib/../lib"
250 // CHECK-EL-SF-MICRO: "-L[[TC]]/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib"
251 // CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/micromips/soft-float/el{{/|\\\\}}crtend.o"
252 // CHECK-EL-SF-MICRO: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/micromips/soft-float/el/usr/lib/../lib{{/|\\\\}}crtn.o"
253 //
254 // = Little-endian, hard float, 64-bit
255 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
256 // RUN:     --target=mips64el-linux-gnu \
257 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
258 // RUN:   | FileCheck --check-prefix=CHECK-EL-HF-64 %s
259 // CHECK-EL-HF-64: "{{.*}}ld{{(.exe)?}}"
260 // CHECK-EL-HF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/el"
261 // CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crt1.o"
262 // CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crti.o"
263 // CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el/64{{/|\\\\}}crtbegin.o"
264 // CHECK-EL-HF-64: "-L[[TC]]/el/64"
265 // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/el"
266 // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/lib/../lib64"
267 // CHECK-EL-HF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64"
268 // CHECK-EL-HF-64-NOT: "-L[[TC]]"
269 // CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/el/64{{/|\\\\}}crtend.o"
270 // CHECK-EL-HF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/el/usr/lib/../lib64{{/|\\\\}}crtn.o"
271 //
272 // = Little-endian, soft float, 64-bit
273 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \
274 // RUN:     --target=mips64el-linux-gnu -msoft-float \
275 // RUN:     --gcc-toolchain=%S/Inputs/mips_cs_tree \
276 // RUN:   | FileCheck --check-prefix=CHECK-EL-SF-64 %s
277 // CHECK-EL-SF-64: "{{.*}}ld{{(.exe)?}}"
278 // CHECK-EL-SF-64: "--sysroot=[[TC:[^"]+]]/../../../../mips-linux-gnu/libc/soft-float/el"
279 // CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crt1.o"
280 // CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crti.o"
281 // CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el/64{{/|\\\\}}crtbegin.o"
282 // CHECK-EL-SF-64: "-L[[TC]]/soft-float/el/64"
283 // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/lib/../lib64/soft-float/el"
284 // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/lib/../lib64"
285 // CHECK-EL-SF-64: "-L[[TC]]/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64"
286 // CHECK-EL-SF-64-NOT: "-L[[TC]]"
287 // CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/soft-float/el/64{{/|\\\\}}crtend.o"
288 // CHECK-EL-SF-64: "{{.*}}/lib/gcc/mips-linux-gnu/4.6.3/../../../../mips-linux-gnu/libc/soft-float/el/usr/lib/../lib64{{/|\\\\}}crtn.o"