1 // RUN: %clang --target=x86_64-unknown-netbsd \ 2 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 3 // RUN: | FileCheck -check-prefix=STATIC %s 4 // RUN: %clang --target=x86_64-unknown-netbsd \ 5 // RUN: -pie --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 6 // RUN: | FileCheck -check-prefix=PIE %s 7 // RUN: %clang --target=x86_64-unknown-netbsd \ 8 // RUN: -static -pie --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 9 // RUN: | FileCheck -check-prefix=STATIC-PIE %s 10 // RUN: %clang --target=x86_64-unknown-netbsd \ 11 // RUN: -shared --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 12 // RUN: | FileCheck -check-prefix=SHARED %s 13 14 // RUN: %clang --target=x86_64-unknown-netbsd \ 15 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 16 // RUN: | FileCheck -check-prefix=X86_64 %s 17 // RUN: %clang --target=aarch64-unknown-netbsd \ 18 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 19 // RUN: | FileCheck -check-prefix=AARCH64 %s 20 // RUN: %clang --target=aarch64_be-unknown-netbsd \ 21 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 22 // RUN: | FileCheck -check-prefix=AARCH64_BE %s 23 // RUN: %clang --target=arm-unknown-netbsd-eabi \ 24 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 25 // RUN: | FileCheck -check-prefix=ARM %s 26 // RUN: %clang --target=armeb-unknown-netbsd-eabi \ 27 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 28 // RUN: | FileCheck -check-prefix=ARMEB %s 29 // RUN: %clang --target=armeb-unknown-netbsd-eabi -march=armv7 \ 30 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 31 // RUN: | FileCheck -check-prefix=ARMV7EB %s 32 // RUN: %clang --target=armv7eb-unknown-netbsd-eabi \ 33 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 34 // RUN: | FileCheck -check-prefix=ARMV7EB %s 35 // RUN: %clang -r --target=armeb-unknown-netbsd-eabi \ 36 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 37 // RUN: | FileCheck -check-prefix=ARMEB-R %s 38 // RUN: %clang --target=arm-unknown-netbsd \ 39 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 40 // RUN: | FileCheck -check-prefix=ARM-APCS %s 41 // RUN: %clang --target=arm-unknown-netbsd-eabihf \ 42 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 43 // RUN: | FileCheck -check-prefix=ARM-HF %s 44 // RUN: %clang --target=thumb-unknown-netbsd-eabi \ 45 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 46 // RUN: | FileCheck -check-prefix=THUMB %s 47 // RUN: %clang --target=thumbeb-unknown-netbsd-eabi \ 48 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 49 // RUN: | FileCheck -check-prefix=THUMBEB %s 50 // RUN: %clang --target=riscv32-unknown-netbsd \ 51 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 52 // RUN: | FileCheck -check-prefix=RISCV32 %s 53 // RUN: %clang --target=riscv64-unknown-netbsd \ 54 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 55 // RUN: | FileCheck -check-prefix=RISCV64 %s 56 // RUN: %clang --target=sparc-unknown-netbsd \ 57 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 58 // RUN: | FileCheck -check-prefix=SPARC %s 59 // RUN: %clang --target=sparc64-unknown-netbsd \ 60 // RUN: -no-integrated-as --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 61 // RUN: | FileCheck -check-prefix=SPARC64 %s 62 // RUN: %clang --target=powerpc-unknown-netbsd \ 63 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 64 // RUN: | FileCheck -check-prefix=POWERPC %s 65 // RUN: %clang --target=powerpc64-unknown-netbsd \ 66 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 67 // RUN: | FileCheck -check-prefix=POWERPC64 %s 68 69 // RUN: %clang --target=x86_64-unknown-netbsd -static \ 70 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 71 // RUN: | FileCheck -check-prefix=S-X86_64 %s 72 // RUN: %clang --target=aarch64-unknown-netbsd -static \ 73 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 74 // RUN: | FileCheck -check-prefix=S-AARCH64 %s 75 // RUN: %clang --target=aarch64_be-unknown-netbsd -static \ 76 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 77 // RUN: | FileCheck -check-prefix=S-AARCH64_BE %s 78 // RUN: %clang --target=arm-unknown-netbsd-eabi -static \ 79 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 80 // RUN: | FileCheck -check-prefix=S-ARM %s 81 // RUN: %clang --target=armeb-unknown-netbsd-eabi -static \ 82 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 83 // RUN: | FileCheck -check-prefix=S-ARMEB %s 84 // RUN: %clang --target=powerpc-unknown-netbsd -static \ 85 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 86 // RUN: | FileCheck -check-prefix=S-POWERPC %s 87 // RUN: %clang --target=powerpc64-unknown-netbsd -static \ 88 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 89 // RUN: | FileCheck -check-prefix=S-POWERPC64 %s 90 // RUN: %clang --target=x86_64-unknown-netbsd -pthread -dM -E %s \ 91 // RUN: | FileCheck -check-prefix=PTHREAD %s 92 93 // STATIC: ld{{.*}}" "--eh-frame-hdr" 94 // STATIC-NOT: "-pie" 95 // STATIC-NOT: "-shared" 96 // STATIC: "-dynamic-linker" "/libexec/ld.elf_so" 97 // STATIC-NOT: "-pie" 98 // STATIC-NOT: "-shared" 99 // STATIC: "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 100 // STATIC: "{{.*}}/usr/lib{{/|\\\\}}crti.o" "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" 101 // STATIC: "-L{{.*}}/usr/lib" 102 // STATIC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 103 104 // STATIC-PIE: ld{{.*}}" "--eh-frame-hdr" 105 // STATIC-PIE-NOT: "-dynamic-linker" "/libexec/ld.elf_so" 106 // STATIC-PIE-NOT: "-shared" 107 // STATIC-PIE: "-pie" 108 // STATIC-PIE-NOT: "-dynamic-linker" "/libexec/ld.elf_so" 109 // STATIC-PIE-NOT: "-shared" 110 // STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 111 // STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crti.o" "{{.*}}/usr/lib{{/|\\\\}}crtbeginS.o" 112 // STATIC-PIE: "-L{{.*}}/usr/lib" 113 // STATIC-PIE: "{{.*}}/usr/lib{{/|\\\\}}crtendS.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 114 115 // SHARED: ld{{.*}}" "--eh-frame-hdr" 116 // SHARED-NOT: "-pie" 117 // SHARED-NOT: "-dynamic-linker" 118 // SHARED-NOT: "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 119 // SHARED: "{{.*}}/usr/lib{{/|\\\\}}crti.o" "{{.*}}/usr/lib{{/|\\\\}}crtbeginS.o" 120 // SHARED: "-L{{.*}}/usr/lib" 121 // SHARED: "{{.*}}/usr/lib{{/|\\\\}}crtendS.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 122 123 // PIE: ld{{.*}}" "--eh-frame-hdr" 124 // PIE-NOT: "-shared" 125 // PIE: "-pie" "-dynamic-linker" "/libexec/ld.elf_so" 126 // PIE-NOT: "-shared" 127 // PIE: "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 128 // PIE: "{{.*}}/usr/lib{{/|\\\\}}crtbeginS.o" 129 // PIE: "-L{{.*}}/usr/lib" 130 // PIE: "{{.*}}/usr/lib{{/|\\\\}}crtendS.o" 131 // PIE: "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 132 133 // X86_64: "-cc1" "-triple" "x86_64-unknown-netbsd" 134 // X86_64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 135 // X86_64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 136 // X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 137 // X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 138 139 // AARCH64: "-cc1" "-triple" "aarch64-unknown-netbsd" 140 // AARCH64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 141 // AARCH64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 142 // AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 143 // AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 144 145 // AARCH64_BE: "-cc1" "-triple" "aarch64_be-unknown-netbsd" 146 // AARCH64_BE: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 147 // AARCH64_BE: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 148 // AARCH64_BE: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 149 // AARCH64_BE: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 150 151 // ARM: "-cc1" "-triple" "armv5e-unknown-netbsd-eabi" 152 // ARM: as{{.*}}" "-mcpu=arm926ej-s" "-o" 153 // ARM: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 154 // ARM: "-m" "armelf_nbsd_eabi" 155 // ARM: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 156 // ARM: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 157 // ARM: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 158 // ARM: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 159 160 // ARMEB: "-cc1" "-triple" "armebv5e-unknown-netbsd-eabi" 161 // ARMEB: as{{.*}}" "-mcpu=arm926ej-s" "-o" 162 // ARMEB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 163 // ARMEB-NOT: "--be8" 164 // ARMEB: "-m" "armelfb_nbsd_eabi" 165 // ARMEB: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 166 // ARMEB: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 167 // ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 168 // ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 169 // ARMV7EB: as{{.*}}" "-mcpu=cortex-a8" 170 // ARMV7EB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 171 // ARMV7EB: "--be8" "-m" "armelfb_nbsd_eabi" 172 173 // ARMEB-R: ld{{.*}}" 174 // ARMEB-R-NOT: "--be8" 175 176 // ARM-APCS: "-cc1" "-triple" "armv4-unknown-netbsd" 177 // ARM-APCS: as{{.*}}" "-mcpu=strongarm" "-o" 178 // ARM-APCS: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 179 // ARM-APCS: "-m" "armelf_nbsd" 180 // ARM-APCS: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 181 // ARM-APCS: "{{.*}}/usr/lib{{/|\\\\}}oabi{{/|\\\\}}crti.o" 182 // ARM-APCS: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 183 // ARM-APCS: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 184 185 // ARM-HF: "-cc1" "-triple" "armv5e-unknown-netbsd-eabihf" 186 // ARM-HF: as{{.*}}" "-mcpu=arm926ej-s" "-o" 187 // ARM-HF: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 188 // ARM-HF: "-m" "armelf_nbsd_eabihf" 189 // ARM-HF: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 190 // ARM-HF: "{{.*}}/usr/lib{{/|\\\\}}eabihf{{/|\\\\}}crti.o" 191 // ARM-HF: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 192 // ARM-HF: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 193 194 // THUMB: "-cc1" "-triple" "armv5e-unknown-netbsd-eabi" 195 // THUMB: as{{.*}}" "-mcpu=arm926ej-s" "-o" 196 // THUMB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 197 // THUMB: "-m" "armelf_nbsd_eabi" 198 // THUMB: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 199 // THUMB: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 200 // THUMB: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 201 // THUMB: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 202 203 // THUMBEB: "-cc1" "-triple" "armebv5e-unknown-netbsd-eabi" 204 // THUMBEB: as{{.*}}" "-mcpu=arm926ej-s" "-o" 205 // THUMBEB: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 206 // THUMBEB: "-m" "armelfb_nbsd_eabi" 207 // THUMBEB: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 208 // THUMBEB: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 209 // THUMBEB: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 210 // THUMBEB: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 211 212 // RISCV32: "-cc1" "-triple" "riscv32-unknown-netbsd" 213 // RISCV32: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 214 // RISCV32-SAME: "-m" "elf32lriscv" "-X" 215 // RISCV32-SAME: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 216 // RISCV32-SAME: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 217 // RISCV32-SAME: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 218 219 // RISCV64: "-cc1" "-triple" "riscv64-unknown-netbsd" 220 // RISCV64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 221 // RISCV64-SAME: "-m" "elf64lriscv" "-X" 222 // RISCV64-SAME: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 223 // RISCV64-SAME: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 224 // RISCV64-SAME: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 225 226 // SPARC: "-cc1" "-triple" "sparc-unknown-netbsd" 227 // SPARC: as{{.*}}" "-32" "-Av8" "-o" 228 // SPARC: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 229 // SPARC: "-m" "elf32_sparc" 230 // SPARC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 231 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}sparc{{/|\\\\}}crti.o" 232 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 233 // SPARC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 234 235 // SPARC64: "-cc1" "-triple" "sparc64-unknown-netbsd" 236 // SPARC64: as{{.*}}" "-64" "-Av9" "-o" 237 // SPARC64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 238 // SPARC64: "-m" "elf64_sparc" 239 // SPARC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 240 // SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 241 // SPARC64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 242 243 // POWERPC: "-cc1" "-triple" "powerpc-unknown-netbsd" 244 // POWERPC: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 245 // POWERPC: "-m" "elf32ppc_nbsd" 246 // POWERPC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 247 // POWERPC: "{{.*}}/usr/lib{{/|\\\\}}powerpc{{/|\\\\}}crti.o" 248 // POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 249 // POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 250 251 // POWERPC64: "-cc1" "-triple" "powerpc64-unknown-netbsd" 252 // POWERPC64: ld{{.*}}" "--eh-frame-hdr" "-dynamic-linker" "/libexec/ld.elf_so" 253 // POWERPC64: "-m" "elf64ppc" 254 // POWERPC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 255 // POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crti.o" 256 // POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 257 // POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 258 259 // S-X86_64: "-cc1" "-triple" "x86_64-unknown-netbsd" 260 // S-X86_64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 261 // S-X86_64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 262 // S-X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 263 // S-X86_64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 264 265 // S-AARCH64: "-cc1" "-triple" "aarch64-unknown-netbsd" 266 // S-AARCH64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 267 // S-AARCH64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 268 // S-AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 269 // S-AARCH64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 270 271 // S-AARCH64_BE: "-cc1" "-triple" "aarch64_be-unknown-netbsd" 272 // S-AARCH64_BE: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 273 // S-AARCH64_BE: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" "{{.*}}/usr/lib{{/|\\\\}}crti.o" 274 // S-AARCH64_BE: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 275 // S-AARCH64_BE: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 276 277 // S-ARM: "-cc1" "-triple" "armv5e-unknown-netbsd-eabi" 278 // S-ARM: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 279 // S-ARM: "-m" "armelf_nbsd_eabi" 280 // S-ARM: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 281 // S-ARM: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 282 // S-ARM: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 283 // S-ARM: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 284 285 // S-ARMEB: "-cc1" "-triple" "armebv5e-unknown-netbsd-eabi" 286 // S-ARMEB: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 287 // S-ARMEB: "-m" "armelfb_nbsd_eabi" 288 // S-ARMEB: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 289 // S-ARMEB: "{{.*}}/usr/lib{{/|\\\\}}eabi{{/|\\\\}}crti.o" 290 // S-ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 291 // S-ARMEB: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 292 293 // S-POWERPC: "-cc1" "-triple" "powerpc-unknown-netbsd" 294 // S-POWERPC: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 295 // S-POWERPC: "-m" "elf32ppc_nbsd" 296 // S-POWERPC: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 297 // S-POWERPC: "{{.*}}/usr/lib{{/|\\\\}}powerpc{{/|\\\\}}crti.o" 298 // S-POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 299 // S-POWERPC: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 300 301 // S-POWERPC64: "-cc1" "-triple" "powerpc64-unknown-netbsd" 302 // S-POWERPC64: ld{{.*}}" "--eh-frame-hdr" "-Bstatic" 303 // S-POWERPC64: "-m" "elf64ppc" 304 // S-POWERPC64: "-o" "a.out" "{{.*}}/usr/lib{{/|\\\\}}crt0.o" 305 // S-POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crti.o" 306 // S-POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtbegin.o" "{{.*}}.o" "-lc" 307 // S-POWERPC64: "{{.*}}/usr/lib{{/|\\\\}}crtend.o" "{{.*}}/usr/lib{{/|\\\\}}crtn.o" 308 309 // PTHREAD-NOT: _POSIX_THREADS 310 // PTHREAD: _REENTRANT 311 // PTHREAD-NOT: _POSIX_THREADS 312 313 // Check PowerPC for Secure PLT 314 // RUN: %clang --target=powerpc-unknown-netbsd -### -c %s 2>&1 \ 315 // RUN: | FileCheck -check-prefix=POWERPC-SECUREPLT %s 316 // POWERPC-SECUREPLT: "-target-feature" "+secure-plt" 317 318 // -r suppresses -dynamic-linker, default -l and crt*.o like -nostdlib. 319 // RUN: %clang --target=x86_64-unknown-netbsd -r \ 320 // RUN: --sysroot=%S/Inputs/basic_netbsd_tree -### %s 2>&1 \ 321 // RUN: | FileCheck -check-prefix=RELOCATABLE %s 322 // RELOCATABLE: "-r" 323 // RELOCATABLE-NOT: "-pie" 324 // RELOCATABLE-NOT: "-dynamic-linker" 325 // RELOCATABLE-NOT: "-l 326 // RELOCATABLE-NOT: crt{{[^./\\]+}}.o 327 328 // Check that the driver passes include paths to cc1 on NetBSD. 329 // RUN: %clang -### %s --target=x86_64-unknown-netbsd -r 2>&1 \ 330 // RUN: | FileCheck %s --check-prefix=DRIVER-PASS-INCLUDES 331 // DRIVER-PASS-INCLUDES: "-cc1" {{.*}}"-resource-dir" "[[RESOURCE:[^"]+]]" 332 // DRIVER-PASS-INCLUDES-SAME: "-internal-isystem" "[[RESOURCE]]{{/|\\\\}}include" 333 // DRIVER-PASS-INCLUDES-SAME: {{^}} "-internal-externc-isystem" "{{.*}}/usr/include" 334 335 // Check that the -X and --no-relax flags are passed to the linker on riscv 336 // RUN: %clang --target=riscv32-unknown-netbsd -mno-relax -### %s 2>&1 \ 337 // RUN: | FileCheck -check-prefix=RISCV-FLAGS %s 338 // RUN: %clang --target=riscv64-unknown-netbsd -mno-relax -### %s 2>&1 \ 339 // RUN: | FileCheck -check-prefix=RISCV-FLAGS %s 340 // RISCV-FLAGS: "-X" "--no-relax" 341