1 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd \
2 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
3 // RUN: | FileCheck -check-prefix=X86_64 %s
4 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd7.0.0 \
5 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
6 // RUN: | FileCheck -check-prefix=X86_64-7 %s
7 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd6.0.0 \
8 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
9 // RUN: | FileCheck -check-prefix=X86_64-6 %s
10 // RUN: %clangxx -no-canonical-prefixes -target arm--netbsd6.0.0-eabi \
11 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
12 // RUN: | FileCheck -check-prefix=ARM %s
13 // RUN: %clangxx -no-canonical-prefixes -target arm--netbsd7.0.0-eabi \
14 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
15 // RUN: | FileCheck -check-prefix=ARM-7 %s
16 // RUN: %clangxx -no-canonical-prefixes -target aarch64--netbsd \
17 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
18 // RUN: | FileCheck -check-prefix=AARCH64 %s
19 // RUN: %clangxx -no-canonical-prefixes -target aarch64--netbsd7.0.0 \
20 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
21 // RUN: | FileCheck -check-prefix=AARCH64-7 %s
22 // RUN: %clangxx -no-canonical-prefixes -target sparc--netbsd \
23 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
24 // RUN: | FileCheck -check-prefix=SPARC %s
25 // RUN: %clangxx -no-canonical-prefixes -target sparc64--netbsd \
26 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
27 // RUN: | FileCheck -check-prefix=SPARC64 %s
28 // RUN: %clangxx -no-canonical-prefixes -target powerpc--netbsd \
29 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
30 // RUN: | FileCheck -check-prefix=POWERPC %s
31 // RUN: %clangxx -no-canonical-prefixes -target powerpc64--netbsd \
32 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
33 // RUN: | FileCheck -check-prefix=POWERPC64 %s
34 
35 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd -static \
36 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
37 // RUN: | FileCheck -check-prefix=S-X86_64 %s
38 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd7.0.0 -static \
39 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
40 // RUN: | FileCheck -check-prefix=S-X86_64-7 %s
41 // RUN: %clangxx -no-canonical-prefixes -target x86_64--netbsd6.0.0 -static \
42 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
43 // RUN: | FileCheck -check-prefix=S-X86_64-6 %s
44 // RUN: %clangxx -no-canonical-prefixes -target arm--netbsd6.0.0-eabi -static \
45 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
46 // RUN: | FileCheck -check-prefix=S-ARM %s
47 // RUN: %clangxx -no-canonical-prefixes -target arm--netbsd7.0.0-eabi -static \
48 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
49 // RUN: | FileCheck -check-prefix=S-ARM-7 %s
50 // RUN: %clangxx -no-canonical-prefixes -target aarch64--netbsd -static \
51 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
52 // RUN: | FileCheck -check-prefix=S-AARCH64 %s
53 // RUN: %clangxx -no-canonical-prefixes -target aarch64--netbsd7.0.0 -static \
54 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
55 // RUN: | FileCheck -check-prefix=S-AARCH64-7 %s
56 // RUN: %clangxx -no-canonical-prefixes -target sparc--netbsd -static \
57 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
58 // RUN: | FileCheck -check-prefix=S-SPARC %s
59 // RUN: %clangxx -no-canonical-prefixes -target sparc64--netbsd -static \
60 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
61 // RUN: | FileCheck -check-prefix=S-SPARC64 %s
62 // RUN: %clangxx -no-canonical-prefixes -target powerpc--netbsd -static \
63 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
64 // RUN: | FileCheck -check-prefix=S-POWERPC %s
65 // RUN: %clangxx -no-canonical-prefixes -target powerpc64--netbsd -static \
66 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree %s -### 2>&1 \
67 // RUN: | FileCheck -check-prefix=S-POWERPC64 %s
68 
69 // X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd"
70 // X86_64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
71 // X86_64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
72 // X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
73 // X86_64: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
74 
75 // X86_64-7: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd7.0.0"
76 // X86_64-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
77 // X86_64-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
78 // X86_64-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
79 // X86_64-7: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
80 
81 // X86_64-6: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd6.0.0"
82 // X86_64-6: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
83 // X86_64-6: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
84 // X86_64-6: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
85 // X86_64-6: "-lm" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
86 // X86_64-6: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
87 
88 // ARM: clang{{.*}}" "-cc1" "-triple" "armv5e--netbsd6.0.0-eabi"
89 // ARM: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
90 // ARM: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
91 // ARM: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
92 // ARM: "-lm" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
93 // ARM: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
94 
95 // ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e--netbsd7.0.0-eabi"
96 // ARM-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
97 // ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
98 // ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
99 // ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
100 
101 // AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64--netbsd"
102 // AARCH64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
103 // AARCH64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
104 // AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
105 // AARCH64: "-lm" "-lc"
106 // AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
107 
108 // AARCH64-7: clang{{.*}}" "-cc1" "-triple" "aarch64--netbsd7.0.0"
109 // AARCH64-7: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
110 // AARCH64-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
111 // AARCH64-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
112 // AARCH64-7: "-lm" "-lc"
113 // AARCH64-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
114 
115 // SPARC: clang{{.*}}" "-cc1" "-triple" "sparc--netbsd"
116 // SPARC: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
117 // SPARC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
118 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}sparc{{/|\\\\}}crti.o"
119 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
120 // SPARC: "-lm" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
121 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
122 
123 // SPARC64: clang{{.*}}" "-cc1" "-triple" "sparc64--netbsd"
124 // SPARC64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
125 // SPARC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
126 // SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
127 // SPARC64: "-lm" "-lc" "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed"
128 // SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
129 
130 // POWERPC: clang{{.*}}" "-cc1" "-triple" "powerpc--netbsd"
131 // POWERPC: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
132 // POWERPC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
133 // POWERPC: "{{.*}}/usr/lib{{/|\\\\}}powerpc{{/|\\\\}}crti.o"
134 // POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
135 // POWERPC: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
136 
137 // POWERPC64: clang{{.*}}" "-cc1" "-triple" "powerpc64--netbsd"
138 // POWERPC64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so"
139 // POWERPC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
140 // POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crti.o"
141 // POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
142 // POWERPC64: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
143 
144 // S-X86_64: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd"
145 // S-X86_64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
146 // S-X86_64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
147 // S-X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
148 // S-X86_64: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
149 
150 // S-X86_64-7: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd7.0.0"
151 // S-X86_64-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
152 // S-X86_64-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
153 // S-X86_64-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
154 // S-X86_64-7: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
155 
156 // S-X86_64-6: clang{{.*}}" "-cc1" "-triple" "x86_64--netbsd6.0.0"
157 // S-X86_64-6: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
158 // S-X86_64-6: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
159 // S-X86_64-6: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
160 // S-X86_64-6: "-lm" "-lc" "-lgcc_eh" "-lc" "-lgcc"
161 // S-X86_64-6: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
162 
163 // S-ARM: clang{{.*}}" "-cc1" "-triple" "armv5e--netbsd6.0.0-eabi"
164 // S-ARM: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
165 // S-ARM: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
166 // S-ARM: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
167 // S-ARM: "-lm" "-lc" "-lgcc_eh" "-lc" "-lgcc"
168 // S-ARM: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
169 
170 // S-ARM-7: clang{{.*}}" "-cc1" "-triple" "armv5e--netbsd7.0.0-eabi"
171 // S-ARM-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
172 // S-ARM-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o"
173 // S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++" "-lm" "-lc"
174 // S-ARM-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
175 
176 // S-AARCH64: clang{{.*}}" "-cc1" "-triple" "aarch64--netbsd"
177 // S-AARCH64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
178 // S-AARCH64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
179 // S-AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
180 // S-AARCH64: "-lm" "-lc"
181 // S-AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
182 
183 // S-AARCH64-7: clang{{.*}}" "-cc1" "-triple" "aarch64--netbsd7.0.0"
184 // S-AARCH64-7: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
185 // S-AARCH64-7: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
186 // S-AARCH64-7: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
187 // S-AARCH64-7: "-lm" "-lc"
188 // S-AARCH64-7: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
189 
190 // S-SPARC: clang{{.*}}" "-cc1" "-triple" "sparc--netbsd"
191 // S-SPARC: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
192 // S-SPARC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
193 // S-SPARC: "{{.*}}/usr/lib{{/|\\\\}}sparc{{/|\\\\}}crti.o"
194 // S-SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
195 // S-SPARC: "-lm" "-lc" "-lgcc_eh" "-lc" "-lgcc"
196 // S-SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
197 
198 // S-SPARC64: clang{{.*}}" "-cc1" "-triple" "sparc64--netbsd"
199 // S-SPARC64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
200 // S-SPARC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o"
201 // S-SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lstdc++"
202 // S-SPARC64: "-lm" "-lc" "-lgcc_eh" "-lc" "-lgcc"
203 // S-SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
204 
205 // S-POWERPC: clang{{.*}}" "-cc1" "-triple" "powerpc--netbsd"
206 // S-POWERPC: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
207 // S-POWERPC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
208 // S-POWERPC: "{{.*}}/usr/lib{{/|\\\\}}powerpc{{/|\\\\}}crti.o"
209 // S-POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
210 // S-POWERPC: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
211 
212 // S-POWERPC64: clang{{.*}}" "-cc1" "-triple" "powerpc64--netbsd"
213 // S-POWERPC64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic"
214 // S-POWERPC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o"
215 // S-POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crti.o"
216 // S-POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc++"
217 // S-POWERPC64: "-lm" "-lc" "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o"
218