1 // General tests that ld invocations on Linux targets sane. Note that we use 2 // sysroot to make these tests independent of the host system. 3 // 4 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 5 // RUN: --target=i386-unknown-linux \ 6 // RUN: --gcc-toolchain="" \ 7 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 8 // RUN: | FileCheck --check-prefix=CHECK-LD-32 %s 9 // CHECK-LD-32-NOT: warning: 10 // CHECK-LD-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 11 // CHECK-LD-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 12 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" 13 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" 14 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." 15 // CHECK-LD-32: "-L[[SYSROOT]]/lib" 16 // CHECK-LD-32: "-L[[SYSROOT]]/usr/lib" 17 // 18 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 19 // RUN: --target=x86_64-unknown-linux -rtlib=platform \ 20 // RUN: --gcc-toolchain="" \ 21 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 22 // RUN: | FileCheck --check-prefix=CHECK-LD-64 %s 23 // CHECK-LD-64-NOT: warning: 24 // CHECK-LD-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 25 // CHECK-LD-64: "--eh-frame-hdr" 26 // CHECK-LD-64: "-m" "elf_x86_64" 27 // CHECK-LD-64: "-dynamic-linker" 28 // CHECK-LD-64: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 29 // CHECK-LD-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 30 // CHECK-LD-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 31 // CHECK-LD-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 32 // CHECK-LD-64: "-L[[SYSROOT]]/lib" 33 // CHECK-LD-64: "-L[[SYSROOT]]/usr/lib" 34 // CHECK-LD-64: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 35 // CHECK-LD-64: "-lc" 36 // CHECK-LD-64: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 37 // 38 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 39 // RUN: --target=x86_64-unknown-linux-gnux32 -rtlib=platform \ 40 // RUN: --gcc-toolchain="" \ 41 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 42 // RUN: | FileCheck --check-prefix=CHECK-LD-X32 %s 43 // CHECK-LD-X32-NOT: warning: 44 // CHECK-LD-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 45 // CHECK-LD-X32: "--eh-frame-hdr" 46 // CHECK-LD-X32: "-m" "elf32_x86_64" 47 // CHECK-LD-X32: "-dynamic-linker" 48 // CHECK-LD-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 49 // CHECK-LD-X32: "-lc" 50 // CHECK-LD-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 51 // 52 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 53 // RUN: --target=x86_64-unknown-linux \ 54 // RUN: --gcc-toolchain="" \ 55 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 56 // RUN: --rtlib=compiler-rt \ 57 // RUN: | FileCheck --check-prefix=CHECK-LD-RT %s 58 // CHECK-LD-RT-NOT: warning: 59 // CHECK-LD-RT: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 60 // CHECK-LD-RT: "--eh-frame-hdr" 61 // CHECK-LD-RT: "-m" "elf_x86_64" 62 // CHECK-LD-RT: "-dynamic-linker" 63 // CHECK-LD-RT: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 64 // CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 65 // CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 66 // CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 67 // CHECK-LD-RT: "-L[[SYSROOT]]/lib" 68 // CHECK-LD-RT: "-L[[SYSROOT]]/usr/lib" 69 // CHECK-LD-RT: libclang_rt.builtins-x86_64.a" 70 // CHECK-LD-RT: "-lc" 71 // CHECK-LD-RT: libclang_rt.builtins-x86_64.a" 72 // 73 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 74 // RUN: --target=arm-linux-androideabi \ 75 // RUN: --gcc-toolchain="" \ 76 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 77 // RUN: --rtlib=compiler-rt \ 78 // RUN: | FileCheck --check-prefix=CHECK-LD-RT-ANDROID %s 79 // CHECK-LD-RT-ANDROID-NOT: warning: 80 // CHECK-LD-RT-ANDROID: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 81 // CHECK-LD-RT-ANDROID: "--eh-frame-hdr" 82 // CHECK-LD-RT-ANDROID: "-m" "armelf_linux_eabi" 83 // CHECK-LD-RT-ANDROID: "-dynamic-linker" 84 // CHECK-LD-RT-ANDROID: libclang_rt.builtins-arm-android.a" 85 // CHECK-LD-RT-ANDROID: "-lc" 86 // CHECK-LD-RT-ANDROID: libclang_rt.builtins-arm-android.a" 87 // 88 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 89 // RUN: --target=x86_64-unknown-linux -rtlib=platform \ 90 // RUN: --gcc-toolchain="" \ 91 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 92 // RUN: --rtlib=libgcc \ 93 // RUN: | FileCheck --check-prefix=CHECK-LD-GCC %s 94 // CHECK-LD-GCC-NOT: warning: 95 // CHECK-LD-GCC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 96 // CHECK-LD-GCC: "--eh-frame-hdr" 97 // CHECK-LD-GCC: "-m" "elf_x86_64" 98 // CHECK-LD-GCC: "-dynamic-linker" 99 // CHECK-LD-GCC: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 100 // CHECK-LD-GCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 101 // CHECK-LD-GCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 102 // CHECK-LD-GCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 103 // CHECK-LD-GCC: "-L[[SYSROOT]]/lib" 104 // CHECK-LD-GCC: "-L[[SYSROOT]]/usr/lib" 105 // CHECK-LD-GCC: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 106 // CHECK-LD-GCC: "-lc" 107 // CHECK-LD-GCC: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 108 // 109 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 110 // RUN: --target=x86_64-unknown-linux -rtlib=platform \ 111 // RUN: -static-libgcc \ 112 // RUN: --gcc-toolchain="" \ 113 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 114 // RUN: | FileCheck --check-prefix=CHECK-LD-64-STATIC-LIBGCC %s 115 // CHECK-LD-64-STATIC-LIBGCC-NOT: warning: 116 // CHECK-LD-64-STATIC-LIBGCC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 117 // CHECK-LD-64-STATIC-LIBGCC: "--eh-frame-hdr" 118 // CHECK-LD-64-STATIC-LIBGCC: "-m" "elf_x86_64" 119 // CHECK-LD-64-STATIC-LIBGCC: "-dynamic-linker" 120 // CHECK-LD-64-STATIC-LIBGCC: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 121 // CHECK-LD-64-STATIC-LIBGCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 122 // CHECK-LD-64-STATIC-LIBGCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 123 // CHECK-LD-64-STATIC-LIBGCC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 124 // CHECK-LD-64-STATIC-LIBGCC: "-L[[SYSROOT]]/lib" 125 // CHECK-LD-64-STATIC-LIBGCC: "-L[[SYSROOT]]/usr/lib" 126 // CHECK-LD-64-STATIC-LIBGCC: "-lgcc" "-lgcc_eh" 127 // CHECK-LD-64-STATIC-LIBGCC: "-lc" 128 // CHECK-LD-64-STATIC-LIBGCC: "-lgcc" "-lgcc_eh" 129 // 130 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 131 // RUN: --target=x86_64-unknown-linux -rtlib=platform \ 132 // RUN: -static \ 133 // RUN: --gcc-toolchain="" \ 134 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 135 // RUN: | FileCheck --check-prefix=CHECK-LD-64-STATIC %s 136 // CHECK-LD-64-STATIC-NOT: warning: 137 // CHECK-LD-64-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 138 // CHECK-LD-64-STATIC-NOT: "--eh-frame-hdr" 139 // CHECK-LD-64-STATIC: "-m" "elf_x86_64" 140 // CHECK-LD-64-STATIC-NOT: "-dynamic-linker" 141 // CHECK-LD-64-STATIC: "-static" 142 // CHECK-LD-64-STATIC: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbeginT.o" 143 // CHECK-LD-64-STATIC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 144 // CHECK-LD-64-STATIC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 145 // CHECK-LD-64-STATIC: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 146 // CHECK-LD-64-STATIC: "-L[[SYSROOT]]/lib" 147 // CHECK-LD-64-STATIC: "-L[[SYSROOT]]/usr/lib" 148 // CHECK-LD-64-STATIC: "--start-group" "-lgcc" "-lgcc_eh" "-lc" "--end-group" 149 // 150 // Check that flags can be combined. The -static dominates. 151 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 152 // RUN: --target=x86_64-unknown-linux -rtlib=platform \ 153 // RUN: -static-libgcc -static \ 154 // RUN: --gcc-toolchain="" \ 155 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 156 // RUN: | FileCheck --check-prefix=CHECK-LD-64-STATIC %s 157 // 158 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 159 // RUN: --target=i386-unknown-linux -m32 \ 160 // RUN: --gcc-toolchain="" \ 161 // RUN: --sysroot=%S/Inputs/multilib_32bit_linux_tree \ 162 // RUN: | FileCheck --check-prefix=CHECK-32-TO-32 %s 163 // CHECK-32-TO-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 164 // CHECK-32-TO-32: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 165 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" 166 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib/../lib32" 167 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../lib32" 168 // CHECK-32-TO-32: "-L[[SYSROOT]]/lib/../lib32" 169 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/../lib32" 170 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" 171 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." 172 // CHECK-32-TO-32: "-L[[SYSROOT]]/lib" 173 // CHECK-32-TO-32: "-L[[SYSROOT]]/usr/lib" 174 // 175 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 176 // RUN: --target=i386-unknown-linux -m64 \ 177 // RUN: --gcc-toolchain="" \ 178 // RUN: --sysroot=%S/Inputs/multilib_32bit_linux_tree \ 179 // RUN: | FileCheck --check-prefix=CHECK-32-TO-64 %s 180 // CHECK-32-TO-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 181 // CHECK-32-TO-64: "{{.*}}/usr/lib/gcc/i386-unknown-linux/4.6.0/64{{/|\\\\}}crtbegin.o" 182 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/64" 183 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib/../lib64" 184 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../lib64" 185 // CHECK-32-TO-64: "-L[[SYSROOT]]/lib/../lib64" 186 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/../lib64" 187 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0" 188 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../../../i386-unknown-linux/lib" 189 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/i386-unknown-linux/4.6.0/../../.." 190 // CHECK-32-TO-64: "-L[[SYSROOT]]/lib" 191 // CHECK-32-TO-64: "-L[[SYSROOT]]/usr/lib" 192 // 193 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 194 // RUN: --target=x86_64-unknown-linux -m64 \ 195 // RUN: --gcc-toolchain="" \ 196 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 197 // RUN: | FileCheck --check-prefix=CHECK-64-TO-64 %s 198 // CHECK-64-TO-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 199 // CHECK-64-TO-64: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 200 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 201 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../lib64" 202 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../lib64" 203 // CHECK-64-TO-64: "-L[[SYSROOT]]/lib/../lib64" 204 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/../lib64" 205 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 206 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 207 // CHECK-64-TO-64: "-L[[SYSROOT]]/lib" 208 // CHECK-64-TO-64: "-L[[SYSROOT]]/usr/lib" 209 // 210 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 211 // RUN: --target=x86_64-unknown-linux -m32 \ 212 // RUN: --gcc-toolchain="" \ 213 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 214 // RUN: | FileCheck --check-prefix=CHECK-64-TO-32 %s 215 // CHECK-64-TO-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 216 // CHECK-64-TO-32: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32{{/|\\\\}}crtbegin.o" 217 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32" 218 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../lib32" 219 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../lib32" 220 // CHECK-64-TO-32: "-L[[SYSROOT]]/lib/../lib32" 221 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/../lib32" 222 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 223 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 224 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 225 // CHECK-64-TO-32: "-L[[SYSROOT]]/lib" 226 // CHECK-64-TO-32: "-L[[SYSROOT]]/usr/lib" 227 // 228 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 229 // RUN: --target=x86_64-unknown-linux-gnux32 \ 230 // RUN: --gcc-toolchain="" \ 231 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 232 // RUN: | FileCheck --check-prefix=CHECK-X32 %s 233 // CHECK-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 234 // CHECK-X32: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32{{/|\\\\}}crtbegin.o" 235 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32" 236 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../libx32" 237 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../libx32" 238 // CHECK-X32: "-L[[SYSROOT]]/lib/../libx32" 239 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/../libx32" 240 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 241 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 242 // CHECK-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 243 // CHECK-X32: "-L[[SYSROOT]]/lib" 244 // CHECK-X32: "-L[[SYSROOT]]/usr/lib" 245 // 246 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 247 // RUN: --target=x86_64-unknown-linux -mx32 \ 248 // RUN: --gcc-toolchain="" \ 249 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 250 // RUN: | FileCheck --check-prefix=CHECK-64-TO-X32 %s 251 // CHECK-64-TO-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 252 // CHECK-64-TO-X32: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32{{/|\\\\}}crtbegin.o" 253 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32" 254 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../libx32" 255 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../libx32" 256 // CHECK-64-TO-X32: "-L[[SYSROOT]]/lib/../libx32" 257 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/../libx32" 258 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 259 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 260 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 261 // CHECK-64-TO-X32: "-L[[SYSROOT]]/lib" 262 // CHECK-64-TO-X32: "-L[[SYSROOT]]/usr/lib" 263 // 264 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 265 // RUN: --target=i386-unknown-linux -mx32 \ 266 // RUN: --gcc-toolchain="" \ 267 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 268 // RUN: | FileCheck --check-prefix=CHECK-32-TO-X32 %s 269 // CHECK-32-TO-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 270 // CHECK-32-TO-X32: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32{{/|\\\\}}crtbegin.o" 271 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/x32" 272 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../libx32" 273 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../libx32" 274 // CHECK-32-TO-X32: "-L[[SYSROOT]]/lib/../libx32" 275 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/../libx32" 276 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 277 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 278 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 279 // CHECK-32-TO-X32: "-L[[SYSROOT]]/lib" 280 // CHECK-32-TO-X32: "-L[[SYSROOT]]/usr/lib" 281 // 282 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 283 // RUN: --target=x86_64-unknown-linux-gnux32 -m64 \ 284 // RUN: --gcc-toolchain="" \ 285 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 286 // RUN: | FileCheck --check-prefix=CHECK-X32-TO-64 %s 287 // CHECK-X32-TO-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 288 // CHECK-X32-TO-64: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 289 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 290 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../lib64" 291 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../lib64" 292 // CHECK-X32-TO-64: "-L[[SYSROOT]]/lib/../lib64" 293 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/../lib64" 294 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 295 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 296 // CHECK-X32-TO-64: "-L[[SYSROOT]]/lib" 297 // CHECK-X32-TO-64: "-L[[SYSROOT]]/usr/lib" 298 // 299 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 300 // RUN: --target=x86_64-unknown-linux-gnux32 -m32 \ 301 // RUN: --gcc-toolchain="" \ 302 // RUN: --sysroot=%S/Inputs/multilib_64bit_linux_tree \ 303 // RUN: | FileCheck --check-prefix=CHECK-X32-TO-32 %s 304 // CHECK-X32-TO-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 305 // CHECK-X32-TO-32: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32{{/|\\\\}}crtbegin.o" 306 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32" 307 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib/../lib32" 308 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../lib32" 309 // CHECK-X32-TO-32: "-L[[SYSROOT]]/lib/../lib32" 310 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/../lib32" 311 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 312 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../../../x86_64-unknown-linux/lib" 313 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0/../../.." 314 // CHECK-X32-TO-32: "-L[[SYSROOT]]/lib" 315 // CHECK-X32-TO-32: "-L[[SYSROOT]]/usr/lib" 316 // 317 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 318 // RUN: --target=x86_64-unknown-linux -m32 \ 319 // RUN: --gcc-toolchain=%S/Inputs/multilib_64bit_linux_tree/usr \ 320 // RUN: --sysroot=%S/Inputs/multilib_32bit_linux_tree \ 321 // RUN: | FileCheck --check-prefix=CHECK-64-TO-32-SYSROOT %s 322 // CHECK-64-TO-32-SYSROOT: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 323 // CHECK-64-TO-32-SYSROOT: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32{{/|\\\\}}crtbegin.o" 324 // CHECK-64-TO-32-SYSROOT: "-L{{[^"]*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0/32" 325 // CHECK-64-TO-32-SYSROOT: "-L[[SYSROOT]]/lib/../lib32" 326 // CHECK-64-TO-32-SYSROOT: "-L[[SYSROOT]]/usr/lib/../lib32" 327 // CHECK-64-TO-32-SYSROOT: "-L{{[^"]*}}/Inputs/multilib_64bit_linux_tree/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 328 // CHECK-64-TO-32-SYSROOT: "-L[[SYSROOT]]/lib" 329 // CHECK-64-TO-32-SYSROOT: "-L[[SYSROOT]]/usr/lib" 330 // 331 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 332 // RUN: --target=i386-unknown-linux -m32 \ 333 // RUN: -ccc-install-dir %S/Inputs/fake_install_tree/bin \ 334 // RUN: --gcc-toolchain="" \ 335 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 336 // RUN: | FileCheck --check-prefix=CHECK-INSTALL-DIR-32 %s 337 // CHECK-INSTALL-DIR-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 338 // CHECK-INSTALL-DIR-32: "{{.*}}/Inputs/fake_install_tree/bin/../lib/gcc/i386-unknown-linux/4.7.0{{/|\\\\}}crtbegin.o" 339 // CHECK-INSTALL-DIR-32: "-L{{.*}}/Inputs/fake_install_tree/bin/../lib/gcc/i386-unknown-linux/4.7.0" 340 // 341 // Check that with 64-bit builds, we don't actually use the install directory 342 // as its version of GCC is lower than our sysrooted version. 343 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 344 // RUN: --target=x86_64-unknown-linux -m64 \ 345 // RUN: -ccc-install-dir %S/Inputs/fake_install_tree/bin \ 346 // RUN: --gcc-toolchain="" \ 347 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 348 // RUN: | FileCheck --check-prefix=CHECK-INSTALL-DIR-64 %s 349 // CHECK-INSTALL-DIR-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 350 // CHECK-INSTALL-DIR-64: "{{.*}}/usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtbegin.o" 351 // CHECK-INSTALL-DIR-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-unknown-linux/4.6.0" 352 // 353 // Check that we support unusual patch version formats, including missing that 354 // component. 355 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 356 // RUN: --target=i386-unknown-linux -m32 \ 357 // RUN: -ccc-install-dir %S/Inputs/gcc_version_parsing1/bin \ 358 // RUN: --gcc-toolchain="" \ 359 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 360 // RUN: | FileCheck --check-prefix=CHECK-GCC-VERSION1 %s 361 // CHECK-GCC-VERSION1: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 362 // CHECK-GCC-VERSION1: "{{.*}}/Inputs/gcc_version_parsing1/bin/../lib/gcc/i386-unknown-linux/4.7{{/|\\\\}}crtbegin.o" 363 // CHECK-GCC-VERSION1: "-L{{.*}}/Inputs/gcc_version_parsing1/bin/../lib/gcc/i386-unknown-linux/4.7" 364 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 365 // RUN: --target=i386-unknown-linux -m32 \ 366 // RUN: -ccc-install-dir %S/Inputs/gcc_version_parsing2/bin \ 367 // RUN: --gcc-toolchain="" \ 368 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 369 // RUN: | FileCheck --check-prefix=CHECK-GCC-VERSION2 %s 370 // CHECK-GCC-VERSION2: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 371 // CHECK-GCC-VERSION2: "{{.*}}/Inputs/gcc_version_parsing2/bin/../lib/gcc/i386-unknown-linux/4.7.x{{/|\\\\}}crtbegin.o" 372 // CHECK-GCC-VERSION2: "-L{{.*}}/Inputs/gcc_version_parsing2/bin/../lib/gcc/i386-unknown-linux/4.7.x" 373 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 374 // RUN: --target=i386-unknown-linux -m32 \ 375 // RUN: -ccc-install-dir %S/Inputs/gcc_version_parsing3/bin \ 376 // RUN: --gcc-toolchain="" \ 377 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 378 // RUN: | FileCheck --check-prefix=CHECK-GCC-VERSION3 %s 379 // CHECK-GCC-VERSION3: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 380 // CHECK-GCC-VERSION3: "{{.*}}/Inputs/gcc_version_parsing3/bin/../lib/gcc/i386-unknown-linux/4.7.99-rc5{{/|\\\\}}crtbegin.o" 381 // CHECK-GCC-VERSION3: "-L{{.*}}/Inputs/gcc_version_parsing3/bin/../lib/gcc/i386-unknown-linux/4.7.99-rc5" 382 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 383 // RUN: --target=i386-unknown-linux -m32 \ 384 // RUN: -ccc-install-dir %S/Inputs/gcc_version_parsing4/bin \ 385 // RUN: --gcc-toolchain="" \ 386 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 387 // RUN: | FileCheck --check-prefix=CHECK-GCC-VERSION4 %s 388 // CHECK-GCC-VERSION4: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 389 // CHECK-GCC-VERSION4: "{{.*}}/Inputs/gcc_version_parsing4/bin/../lib/gcc/i386-unknown-linux/4.7.99{{/|\\\\}}crtbegin.o" 390 // CHECK-GCC-VERSION4: "-L{{.*}}/Inputs/gcc_version_parsing4/bin/../lib/gcc/i386-unknown-linux/4.7.99" 391 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 392 // RUN: --target=i386-unknown-linux -m32 \ 393 // RUN: -ccc-install-dir %S/Inputs/gcc_version_parsing5/bin \ 394 // RUN: --gcc-toolchain="" \ 395 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 396 // RUN: | FileCheck --check-prefix=CHECK-GCC-VERSION5 %s 397 // CHECK-GCC-VERSION5: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 398 // CHECK-GCC-VERSION5: "{{.*}}/Inputs/gcc_version_parsing5/bin/../lib/gcc/i386-unknown-linux/5{{/|\\\\}}crtbegin.o" 399 // CHECK-GCC-VERSION5: "-L{{.*}}/Inputs/gcc_version_parsing5/bin/../lib/gcc/i386-unknown-linux/5" 400 // 401 // Test a simulated installation of libc++ on Linux, both through sysroot and 402 // the installation path of Clang. 403 // RUN: %clangxx -no-canonical-prefixes -x c++ %s -### -o %t.o 2>&1 \ 404 // RUN: -target x86_64-unknown-linux-gnu \ 405 // RUN: -stdlib=libc++ \ 406 // RUN: -ccc-install-dir %S/Inputs/basic_linux_tree/usr/bin \ 407 // RUN: --gcc-toolchain="" \ 408 // RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree \ 409 // RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXX-SYSROOT %s 410 // CHECK-BASIC-LIBCXX-SYSROOT: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 411 // CHECK-BASIC-LIBCXX-SYSROOT: "-isysroot" "[[SYSROOT:[^"]+]]" 412 // CHECK-BASIC-LIBCXX-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/include/c++/v1" 413 // CHECK-BASIC-LIBCXX-SYSROOT: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 414 // CHECK-BASIC-LIBCXX-SYSROOT: "--sysroot=[[SYSROOT]]" 415 // RUN: %clang -no-canonical-prefixes -x c++ %s -### -o %t.o 2>&1 \ 416 // RUN: -target x86_64-unknown-linux-gnu \ 417 // RUN: -stdlib=libc++ \ 418 // RUN: -ccc-install-dir %S/Inputs/basic_linux_libcxx_tree/usr/bin \ 419 // RUN: --gcc-toolchain="" \ 420 // RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree \ 421 // RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXX-INSTALL %s 422 // CHECK-BASIC-LIBCXX-INSTALL: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 423 // CHECK-BASIC-LIBCXX-INSTALL: "-isysroot" "[[SYSROOT:[^"]+]]" 424 // CHECK-BASIC-LIBCXX-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/bin/../include/c++/v1" 425 // CHECK-BASIC-LIBCXX-INSTALL: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 426 // CHECK-BASIC-LIBCXX-INSTALL: "--sysroot=[[SYSROOT]]" 427 // CHECK-BASIC-LIBCXX-INSTALL: "-L[[SYSROOT]]/usr/bin/../lib" 428 // 429 // Test that we can use -stdlib=libc++ in a build system even when it 430 // occasionally links C code instead of C++ code. 431 // RUN: %clang -no-canonical-prefixes -x c %s -### -o %t.o 2>&1 \ 432 // RUN: -target x86_64-unknown-linux-gnu \ 433 // RUN: -stdlib=libc++ \ 434 // RUN: -ccc-install-dir %S/Inputs/basic_linux_libcxx_tree/usr/bin \ 435 // RUN: --gcc-toolchain="" \ 436 // RUN: --sysroot=%S/Inputs/basic_linux_libcxx_tree \ 437 // RUN: | FileCheck --check-prefix=CHECK-BASIC-LIBCXX-C-LINK %s 438 // CHECK-BASIC-LIBCXX-C-LINK-NOT: warning: 439 // CHECK-BASIC-LIBCXX-C-LINK: "{{[^"]*}}clang{{[^"]*}}" "-cc1" 440 // CHECK-BASIC-LIBCXX-C-LINK: "-isysroot" "[[SYSROOT:[^"]+]]" 441 // CHECK-BASIC-LIBCXX-C-LINK-NOT: "-internal-isystem" "[[SYSROOT]]/usr/bin/../include/c++/v1" 442 // CHECK-BASIC-LIBCXX-C-LINK: "-internal-isystem" "[[SYSROOT]]/usr/local/include" 443 // CHECK-BASIC-LIBCXX-C-LINK: "--sysroot=[[SYSROOT]]" 444 // CHECK-BASIC-LIBCXX-C-LINK: "-L[[SYSROOT]]/usr/bin/../lib" 445 // 446 // Test a very broken version of multiarch that shipped in Ubuntu 11.04. 447 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 448 // RUN: --target=i386-unknown-linux \ 449 // RUN: --gcc-toolchain="" \ 450 // RUN: --sysroot=%S/Inputs/ubuntu_11.04_multiarch_tree \ 451 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-11-04 %s 452 // CHECK-UBUNTU-11-04: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 453 // CHECK-UBUNTU-11-04: "{{.*}}/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 454 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5" 455 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../../i386-linux-gnu" 456 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu" 457 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5/../../../.." 458 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/lib" 459 // CHECK-UBUNTU-11-04: "-L[[SYSROOT]]/usr/lib" 460 // 461 // Check multi arch support on Ubuntu 12.04 LTS. 462 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 463 // RUN: --target=arm-unknown-linux-gnueabihf \ 464 // RUN: --gcc-toolchain="" \ 465 // RUN: --sysroot=%S/Inputs/ubuntu_12.04_LTS_multiarch_tree \ 466 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-12-04-ARM-HF %s 467 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 468 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf{{/|\\\\}}crt1.o" 469 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf{{/|\\\\}}crti.o" 470 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3{{/|\\\\}}crtbegin.o" 471 // CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3" 472 // CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf" 473 // CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/lib/arm-linux-gnueabihf" 474 // CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/usr/lib/arm-linux-gnueabihf" 475 // CHECK-UBUNTU-12-04-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../.." 476 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3{{/|\\\\}}crtend.o" 477 // CHECK-UBUNTU-12-04-ARM-HF: "{{.*}}/usr/lib/gcc/arm-linux-gnueabihf/4.6.3/../../../arm-linux-gnueabihf{{/|\\\\}}crtn.o" 478 // 479 // Check Ubuntu 13.10 on x86-64 targeting arm-linux-gnueabihf. 480 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 481 // RUN: --target=arm-linux-gnueabihf \ 482 // RUN: --gcc-toolchain="" \ 483 // RUN: --sysroot=%S/Inputs/x86-64_ubuntu_13.10 \ 484 // RUN: | FileCheck --check-prefix=CHECK-X86-64-UBUNTU-13-10-ARM-HF %s 485 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 486 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-dynamic-linker" "{{(/usr/arm--linux-gnueabihf)?}}/lib/ld-linux-armhf.so.3" 487 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib{{/|\\\\}}crt1.o" 488 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib{{/|\\\\}}crti.o" 489 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8{{/|\\\\}}crtbegin.o" 490 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8" 491 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib" 492 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-L[[SYSROOT]]/lib/../lib" 493 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-L[[SYSROOT]]/usr/lib/../lib" 494 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib" 495 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8{{/|\\\\}}crtend.o" 496 // CHECK-X86-64-UBUNTU-13-10-ARM-HF: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabihf/4.8/../../../../arm-linux-gnueabihf/lib/../lib{{/|\\\\}}crtn.o" 497 // 498 // Check Ubuntu 13.10 on x86-64 targeting arm-linux-gnueabi. 499 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 500 // RUN: --target=arm-linux-gnueabi \ 501 // RUN: --gcc-toolchain="" \ 502 // RUN: --sysroot=%S/Inputs/x86-64_ubuntu_13.10 \ 503 // RUN: | FileCheck --check-prefix=CHECK-X86-64-UBUNTU-13-10-ARM %s 504 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 505 // CHECK-X86-64-UBUNTU-13-10-ARM: "-dynamic-linker" "{{(/usr/arm--linux-gnueabi)?}}/lib/ld-linux.so.3" 506 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib{{/|\\\\}}crt1.o" 507 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib{{/|\\\\}}crti.o" 508 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabi/4.7{{/|\\\\}}crtbegin.o" 509 // CHECK-X86-64-UBUNTU-13-10-ARM: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabi/4.7" 510 // CHECK-X86-64-UBUNTU-13-10-ARM: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib" 511 // CHECK-X86-64-UBUNTU-13-10-ARM: "-L[[SYSROOT]]/lib/../lib" 512 // CHECK-X86-64-UBUNTU-13-10-ARM: "-L[[SYSROOT]]/usr/lib/../lib" 513 // CHECK-X86-64-UBUNTU-13-10-ARM: "-L[[SYSROOT]]/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib" 514 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabi/4.7{{/|\\\\}}crtend.o" 515 // CHECK-X86-64-UBUNTU-13-10-ARM: "{{.*}}/usr/lib/gcc-cross/arm-linux-gnueabi/4.7/../../../../arm-linux-gnueabi/lib/../lib{{/|\\\\}}crtn.o" 516 // 517 // Check Ubuntu 14.04 on powerpc64le. 518 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 519 // RUN: --target=powerpc64le-unknown-linux-gnu \ 520 // RUN: --gcc-toolchain="" \ 521 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \ 522 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-PPC64LE %s 523 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 524 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu{{/|\\\\}}crt1.o" 525 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu{{/|\\\\}}crti.o" 526 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.8{{/|\\\\}}crtbegin.o" 527 // CHECK-UBUNTU-14-04-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8" 528 // CHECK-UBUNTU-14-04-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu" 529 // CHECK-UBUNTU-14-04-PPC64LE: "-L[[SYSROOT]]/lib/powerpc64le-linux-gnu" 530 // CHECK-UBUNTU-14-04-PPC64LE: "-L[[SYSROOT]]/usr/lib/powerpc64le-linux-gnu" 531 // CHECK-UBUNTU-14-04-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../.." 532 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.8{{/|\\\\}}crtend.o" 533 // CHECK-UBUNTU-14-04-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.8/../../../powerpc64le-linux-gnu{{/|\\\\}}crtn.o" 534 // 535 // Check Ubuntu 14.04 on x32. 536 // "/usr/lib/gcc/x86_64-linux-gnu/4.8/x32/crtend.o" "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../libx32/crtn.o" 537 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 538 // RUN: --target=x86_64-unknown-linux-gnux32 \ 539 // RUN: --gcc-toolchain="" \ 540 // RUN: --sysroot=%S/Inputs/ubuntu_14.04_multiarch_tree \ 541 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-14-04-X32 %s 542 // CHECK-UBUNTU-14-04-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 543 // CHECK-UBUNTU-14-04-X32: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../libx32{{/|\\\\}}crt1.o" 544 // CHECK-UBUNTU-14-04-X32: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../libx32{{/|\\\\}}crti.o" 545 // CHECK-UBUNTU-14-04-X32: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.8/x32{{/|\\\\}}crtbegin.o" 546 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/x32" 547 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../libx32" 548 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/lib/../libx32" 549 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/../libx32" 550 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/x86_64-linux-gnu/../../libx32" 551 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8" 552 // CHECK-UBUNTU-14-04-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.8/../../.." 553 // CHECK-UBUNTU-14-04-X32: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.8/x32{{/|\\\\}}crtend.o" 554 // CHECK-UBUNTU-14-04-X32: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../libx32{{/|\\\\}}crtn.o" 555 // 556 // Check fedora 18 on arm. 557 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 558 // RUN: --target=armv7-unknown-linux-gnueabihf \ 559 // RUN: --gcc-toolchain="" \ 560 // RUN: --sysroot=%S/Inputs/fedora_18_tree \ 561 // RUN: | FileCheck --check-prefix=CHECK-FEDORA-18-ARM-HF %s 562 // CHECK-FEDORA-18-ARM-HF: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 563 // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2/../../../../lib{{/|\\\\}}crt1.o" 564 // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2/../../../../lib{{/|\\\\}}crti.o" 565 // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2{{/|\\\\}}crtbegin.o" 566 // CHECK-FEDORA-18-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2" 567 // CHECK-FEDORA-18-ARM-HF: "-L[[SYSROOT]]/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2/../../../../lib" 568 // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2{{/|\\\\}}crtend.o" 569 // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2/../../../../lib{{/|\\\\}}crtn.o" 570 // 571 // Check Fedora 21 on AArch64. 572 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 573 // RUN: --target=arm64-unknown-linux-gnu \ 574 // RUN: --gcc-toolchain="" \ 575 // RUN: --sysroot=%S/Inputs/fedora_21_tree \ 576 // RUN: | FileCheck --check-prefix=CHECK-FEDORA-21-AARCH64 %s 577 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 578 // RUN: --target=aarch64-unknown-linux-gnu \ 579 // RUN: --gcc-toolchain="" \ 580 // RUN: --sysroot=%S/Inputs/fedora_21_tree \ 581 // RUN: | FileCheck --check-prefix=CHECK-FEDORA-21-AARCH64 %s 582 // CHECK-FEDORA-21-AARCH64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 583 // CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crt1.o" 584 // CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crti.o" 585 // CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0{{/|\\\\}}crtbegin.o" 586 // CHECK-FEDORA-21-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-redhat-linux/4.9.0" 587 // CHECK-FEDORA-21-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64" 588 // CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0{{/|\\\\}}crtend.o" 589 // CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crtn.o" 590 // 591 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 592 // RUN: --target=arm-unknown-linux-gnueabi \ 593 // RUN: --gcc-toolchain="" \ 594 // RUN: --sysroot=%S/Inputs/ubuntu_12.04_LTS_multiarch_tree \ 595 // RUN: | FileCheck --check-prefix=CHECK-UBUNTU-12-04-ARM %s 596 // CHECK-UBUNTU-12-04-ARM: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 597 // CHECK-UBUNTU-12-04-ARM: "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi{{/|\\\\}}crt1.o" 598 // CHECK-UBUNTU-12-04-ARM: "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi{{/|\\\\}}crti.o" 599 // CHECK-UBUNTU-12-04-ARM: "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1{{/|\\\\}}crtbegin.o" 600 // CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1" 601 // CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi" 602 // CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/lib/arm-linux-gnueabi" 603 // CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/usr/lib/arm-linux-gnueabi" 604 // CHECK-UBUNTU-12-04-ARM: "-L[[SYSROOT]]/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../.." 605 // CHECK-UBUNTU-12-04-ARM: "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1{{/|\\\\}}crtend.o" 606 // CHECK-UBUNTU-12-04-ARM: "{{.*}}/usr/lib/gcc/arm-linux-gnueabi/4.6.1/../../../arm-linux-gnueabi{{/|\\\\}}crtn.o" 607 // 608 // Test the setup that shipped in SUSE 10.3 on ppc64. 609 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 610 // RUN: --target=powerpc64-suse-linux \ 611 // RUN: --gcc-toolchain="" \ 612 // RUN: --sysroot=%S/Inputs/suse_10.3_ppc64_tree \ 613 // RUN: | FileCheck --check-prefix=CHECK-SUSE-10-3-PPC64 %s 614 // CHECK-SUSE-10-3-PPC64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 615 // CHECK-SUSE-10-3-PPC64: "{{.*}}/usr/lib/gcc/powerpc64-suse-linux/4.1.2/64{{/|\\\\}}crtbegin.o" 616 // CHECK-SUSE-10-3-PPC64: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64-suse-linux/4.1.2/64" 617 // CHECK-SUSE-10-3-PPC64: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64-suse-linux/4.1.2/../../../../lib64" 618 // CHECK-SUSE-10-3-PPC64: "-L[[SYSROOT]]/lib/../lib64" 619 // CHECK-SUSE-10-3-PPC64: "-L[[SYSROOT]]/usr/lib/../lib64" 620 // 621 // Check openSuse Leap 42.2 on AArch64 622 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 623 // RUN: --target=arm64-unknown-linux-gnu \ 624 // RUN: --gcc-toolchain="" \ 625 // RUN: --sysroot=%S/Inputs/opensuse_42.2_aarch64_tree \ 626 // RUN: | FileCheck --check-prefix=CHECK-OPENSUSE-42-2-AARCH64 %s 627 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 628 // RUN: --target=aarch64-unknown-linux-gnu \ 629 // RUN: --gcc-toolchain="" \ 630 // RUN: --sysroot=%S/Inputs/opensuse_42.2_aarch64_tree \ 631 // RUN: | FileCheck --check-prefix=CHECK-OPENSUSE-42-2-AARCH64 %s 632 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 633 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}/usr/lib64/gcc/aarch64-suse-linux/4.8/../../../../lib64{{/|\\\\}}crt1.o" 634 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}/usr/lib64/gcc/aarch64-suse-linux/4.8/../../../../lib64{{/|\\\\}}crti.o" 635 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}/usr/lib64/gcc/aarch64-suse-linux/4.8{{/|\\\\}}crtbegin.o" 636 // CHECK-OPENSUSE-42-2-AARCH64: "-L[[SYSROOT]]/usr/lib64/gcc/aarch64-suse-linux/4.8" 637 // CHECK-OPENSUSE-42-2-AARCH64: "-L[[SYSROOT]]/usr/lib64/gcc/aarch64-suse-linux/4.8/../../../../lib64" 638 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}/usr/lib64/gcc/aarch64-suse-linux/4.8{{/|\\\\}}crtend.o" 639 // CHECK-OPENSUSE-42-2-AARCH64: "{{.*}}/usr/lib64/gcc/aarch64-suse-linux/4.8/../../../../lib64{{/|\\\\}}crtn.o" 640 // 641 // Check dynamic-linker for different archs 642 // RUN: %clang %s -### -o %t.o 2>&1 \ 643 // RUN: --target=arm-linux-gnueabi \ 644 // RUN: | FileCheck --check-prefix=CHECK-ARM %s 645 // CHECK-ARM: "{{.*}}ld{{(.exe)?}}" 646 // CHECK-ARM: "-m" "armelf_linux_eabi" 647 // CHECK-ARM: "-dynamic-linker" "{{.*}}/lib/ld-linux.so.3" 648 // 649 // RUN: %clang %s -### -o %t.o 2>&1 \ 650 // RUN: --target=arm-linux-gnueabi -mfloat-abi=hard \ 651 // RUN: | FileCheck --check-prefix=CHECK-ARM-ABIHF %s 652 // CHECK-ARM-ABIHF: "{{.*}}ld{{(.exe)?}}" 653 // CHECK-ARM-ABIHF: "-m" "armelf_linux_eabi" 654 // CHECK-ARM-ABIHF: "-dynamic-linker" "{{.*}}/lib/ld-linux-armhf.so.3" 655 // 656 // RUN: %clang %s -### -o %t.o 2>&1 \ 657 // RUN: --target=arm-linux-gnueabihf \ 658 // RUN: | FileCheck --check-prefix=CHECK-ARM-HF %s 659 // CHECK-ARM-HF: "{{.*}}ld{{(.exe)?}}" 660 // CHECK-ARM-HF: "-m" "armelf_linux_eabi" 661 // CHECK-ARM-HF: "-dynamic-linker" "{{.*}}/lib/ld-linux-armhf.so.3" 662 // 663 // RUN: %clang %s -### -o %t.o 2>&1 \ 664 // RUN: --target=powerpc64-linux-gnu \ 665 // RUN: | FileCheck --check-prefix=CHECK-PPC64 %s 666 // CHECK-PPC64: "{{.*}}ld{{(.exe)?}}" 667 // CHECK-PPC64: "-m" "elf64ppc" 668 // CHECK-PPC64: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.1" 669 // 670 // RUN: %clang %s -### -o %t.o 2>&1 \ 671 // RUN: --target=powerpc64-linux-gnu -mabi=elfv1 \ 672 // RUN: | FileCheck --check-prefix=CHECK-PPC64-ELFv1 %s 673 // RUN: %clang %s -### -o %t.o 2>&1 \ 674 // RUN: --target=powerpc64-linux-gnu -mabi=elfv1-qpx \ 675 // RUN: | FileCheck --check-prefix=CHECK-PPC64-ELFv1 %s 676 // CHECK-PPC64-ELFv1: "{{.*}}ld{{(.exe)?}}" 677 // CHECK-PPC64-ELFv1: "-m" "elf64ppc" 678 // CHECK-PPC64-ELFv1: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.1" 679 // 680 // RUN: %clang %s -### -o %t.o 2>&1 \ 681 // RUN: --target=powerpc64-linux-gnu -mabi=elfv2 \ 682 // RUN: | FileCheck --check-prefix=CHECK-PPC64-ELFv2 %s 683 // CHECK-PPC64-ELFv2: "{{.*}}ld{{(.exe)?}}" 684 // CHECK-PPC64-ELFv2: "-m" "elf64ppc" 685 // CHECK-PPC64-ELFv2: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.2" 686 // 687 // RUN: %clang %s -### -o %t.o 2>&1 \ 688 // RUN: --target=powerpc64le-linux-gnu \ 689 // RUN: | FileCheck --check-prefix=CHECK-PPC64LE %s 690 // CHECK-PPC64LE: "{{.*}}ld{{(.exe)?}}" 691 // CHECK-PPC64LE: "-m" "elf64lppc" 692 // CHECK-PPC64LE: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.2" 693 // 694 // RUN: %clang %s -### -o %t.o 2>&1 \ 695 // RUN: --target=powerpc64le-linux-gnu -mabi=elfv1 \ 696 // RUN: | FileCheck --check-prefix=CHECK-PPC64LE-ELFv1 %s 697 // CHECK-PPC64LE-ELFv1: "{{.*}}ld{{(.exe)?}}" 698 // CHECK-PPC64LE-ELFv1: "-m" "elf64lppc" 699 // CHECK-PPC64LE-ELFv1: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.1" 700 // 701 // RUN: %clang %s -### -o %t.o 2>&1 \ 702 // RUN: --target=powerpc64le-linux-gnu -mabi=elfv2 \ 703 // RUN: | FileCheck --check-prefix=CHECK-PPC64LE-ELFv2 %s 704 // CHECK-PPC64LE-ELFv2: "{{.*}}ld{{(.exe)?}}" 705 // CHECK-PPC64LE-ELFv2: "-m" "elf64lppc" 706 // CHECK-PPC64LE-ELFv2: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld64.so.2" 707 // 708 // Check that we do not pass --hash-style=gnu and --hash-style=both to linker 709 // and provide correct path to the dynamic linker and emulation mode when build 710 // for MIPS platforms. 711 // RUN: %clang %s -### -o %t.o 2>&1 \ 712 // RUN: --target=mips-linux-gnu \ 713 // RUN: | FileCheck --check-prefix=CHECK-MIPS %s 714 // CHECK-MIPS: "{{.*}}ld{{(.exe)?}}" 715 // CHECK-MIPS: "-m" "elf32btsmip" 716 // CHECK-MIPS: "-dynamic-linker" "{{.*}}/lib/ld.so.1" 717 // CHECK-MIPS-NOT: "--hash-style={{gnu|both}}" 718 // 719 // RUN: %clang %s -### -o %t.o 2>&1 \ 720 // RUN: --target=mipsel-linux-gnu \ 721 // RUN: | FileCheck --check-prefix=CHECK-MIPSEL %s 722 // CHECK-MIPSEL: "{{.*}}ld{{(.exe)?}}" 723 // CHECK-MIPSEL: "-m" "elf32ltsmip" 724 // CHECK-MIPSEL: "-dynamic-linker" "{{.*}}/lib/ld.so.1" 725 // CHECK-MIPSEL-NOT: "--hash-style={{gnu|both}}" 726 // 727 // RUN: %clang %s -### -o %t.o 2>&1 --target=mipsel-linux-gnu -mnan=2008 \ 728 // RUN: | FileCheck --check-prefix=CHECK-MIPSEL-NAN2008 %s 729 // CHECK-MIPSEL-NAN2008: "{{.*}}ld{{(.exe)?}}" 730 // CHECK-MIPSEL-NAN2008: "-m" "elf32ltsmip" 731 // CHECK-MIPSEL-NAN2008: "-dynamic-linker" "{{.*}}/lib/ld-linux-mipsn8.so.1" 732 // CHECK-MIPSEL-NAN2008-NOT: "--hash-style={{gnu|both}}" 733 // 734 // RUN: %clang %s -### -o %t.o 2>&1 --target=mipsel-linux-gnu -mcpu=mips32r6 \ 735 // RUN: | FileCheck --check-prefix=CHECK-MIPS32R6EL %s 736 // CHECK-MIPS32R6EL: "{{.*}}ld{{(.exe)?}}" 737 // CHECK-MIPS32R6EL: "-m" "elf32ltsmip" 738 // CHECK-MIPS32R6EL: "-dynamic-linker" "{{.*}}/lib/ld-linux-mipsn8.so.1" 739 // CHECK-MIPS32R6EL-NOT: "--hash-style={{gnu|both}}" 740 // 741 // RUN: %clang %s -### -o %t.o 2>&1 \ 742 // RUN: --target=mips64-linux-gnu \ 743 // RUN: | FileCheck --check-prefix=CHECK-MIPS64 %s 744 // CHECK-MIPS64: "{{.*}}ld{{(.exe)?}}" 745 // CHECK-MIPS64: "-m" "elf64btsmip" 746 // CHECK-MIPS64: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld.so.1" 747 // CHECK-MIPS64-NOT: "--hash-style={{gnu|both}}" 748 // 749 // RUN: %clang %s -### -o %t.o 2>&1 \ 750 // RUN: --target=mips64el-linux-gnu \ 751 // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL %s 752 // CHECK-MIPS64EL: "{{.*}}ld{{(.exe)?}}" 753 // CHECK-MIPS64EL: "-m" "elf64ltsmip" 754 // CHECK-MIPS64EL: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld.so.1" 755 // CHECK-MIPS64EL-NOT: "--hash-style={{gnu|both}}" 756 // 757 // RUN: %clang %s -### -o %t.o 2>&1 --target=mips64el-linux-gnu -mnan=2008 \ 758 // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL-NAN2008 %s 759 // CHECK-MIPS64EL-NAN2008: "{{.*}}ld{{(.exe)?}}" 760 // CHECK-MIPS64EL-NAN2008: "-m" "elf64ltsmip" 761 // CHECK-MIPS64EL-NAN2008: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld-linux-mipsn8.so.1" 762 // CHECK-MIPS64EL-NAN2008-NOT: "--hash-style={{gnu|both}}" 763 // 764 // RUN: %clang %s -### -o %t.o 2>&1 --target=mips64el-linux-gnu -mcpu=mips64r6 \ 765 // RUN: | FileCheck --check-prefix=CHECK-MIPS64R6EL %s 766 // CHECK-MIPS64R6EL: "{{.*}}ld{{(.exe)?}}" 767 // CHECK-MIPS64R6EL: "-m" "elf64ltsmip" 768 // CHECK-MIPS64R6EL: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld-linux-mipsn8.so.1" 769 // CHECK-MIPS64R6EL-NOT: "--hash-style={{gnu|both}}" 770 // 771 // RUN: %clang %s -### -o %t.o 2>&1 \ 772 // RUN: --target=mips64-linux-gnu -mabi=n32 \ 773 // RUN: | FileCheck --check-prefix=CHECK-MIPS64-N32 %s 774 // CHECK-MIPS64-N32: "{{.*}}ld{{(.exe)?}}" 775 // CHECK-MIPS64-N32: "-m" "elf32btsmipn32" 776 // CHECK-MIPS64-N32: "-dynamic-linker" "{{.*}}/lib{{(32)?}}/ld.so.1" 777 // CHECK-MIPS64-N32-NOT: "--hash-style={{gnu|both}}" 778 // 779 // RUN: %clang %s -### -o %t.o 2>&1 \ 780 // RUN: --target=mips64el-linux-gnu -mabi=n32 \ 781 // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL-N32 %s 782 // CHECK-MIPS64EL-N32: "{{.*}}ld{{(.exe)?}}" 783 // CHECK-MIPS64EL-N32: "-m" "elf32ltsmipn32" 784 // CHECK-MIPS64EL-N32: "-dynamic-linker" "{{.*}}/lib{{(32)?}}/ld.so.1" 785 // CHECK-MIPS64EL-N32-NOT: "--hash-style={{gnu|both}}" 786 // 787 // RUN: %clang %s -### -o %t.o 2>&1 --target=mips64el-linux-gnu -mabi=n32 \ 788 // RUN: -mnan=2008 | FileCheck --check-prefix=CHECK-MIPS64EL-N32-NAN2008 %s 789 // CHECK-MIPS64EL-N32-NAN2008: "{{.*}}ld{{(.exe)?}}" 790 // CHECK-MIPS64EL-N32-NAN2008: "-m" "elf32ltsmipn32" 791 // CHECK-MIPS64EL-N32-NAN2008: "-dynamic-linker" "{{.*}}/lib{{(32)?}}/ld-linux-mipsn8.so.1" 792 // CHECK-MIPS64EL-N32-NAN2008-NOT: "--hash-style={{gnu|both}}" 793 // 794 // RUN: %clang %s -### -o %t.o 2>&1 --target=mips64el-redhat-linux \ 795 // RUN: | FileCheck --check-prefix=CHECK-MIPS64EL-REDHAT %s 796 // CHECK-MIPS64EL-REDHAT: "{{.*}}ld{{(.exe)?}}" 797 // CHECK-MIPS64EL-REDHAT: "-m" "elf64ltsmip" 798 // CHECK-MIPS64EL-REDHAT: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld.so.1" 799 // CHECK-MIPS64EL-REDHAT-NOT: "-dynamic-linker" "{{.*}}/lib{{(64)?}}/ld-musl-mipsel.so.1" 800 // CHECK-MIPS64EL-REDHAT-NOT: "--hash-style={{gnu|both}}" 801 // 802 // RUN: %clang %s -### -o %t.o 2>&1 \ 803 // RUN: --target=sparc-unknown-linux-gnu \ 804 // RUN: | FileCheck --check-prefix=CHECK-SPARCV8 %s 805 // CHECK-SPARCV8: "{{.*}}ld{{(.exe)?}}" 806 // CHECK-SPARCV8: "-m" "elf32_sparc" 807 // CHECK-SPARCV8: "-dynamic-linker" "{{(/usr/sparc-unknown-linux-gnu)?}}/lib/ld-linux.so.2" 808 // 809 // RUN: %clang %s -### -o %t.o 2>&1 \ 810 // RUN: --target=sparcel-unknown-linux-gnu \ 811 // RUN: | FileCheck --check-prefix=CHECK-SPARCV8EL %s 812 // CHECK-SPARCV8EL: "{{.*}}ld{{(.exe)?}}" 813 // CHECK-SPARCV8EL: "-m" "elf32_sparc" 814 // CHECK-SPARCV8EL: "-dynamic-linker" "{{(/usr/sparcel-unknown-linux-gnu)?}}/lib/ld-linux.so.2" 815 // 816 // RUN: %clang %s -### -o %t.o 2>&1 \ 817 // RUN: --target=sparcv9-unknown-linux-gnu \ 818 // RUN: | FileCheck --check-prefix=CHECK-SPARCV9 %s 819 // CHECK-SPARCV9: "{{.*}}ld{{(.exe)?}}" 820 // CHECK-SPARCV9: "-m" "elf64_sparc" 821 // CHECK-SPARCV9: "-dynamic-linker" "{{(/usr/sparcv9-unknown-linux-gnu)?}}/lib{{(64)?}}/ld-linux.so.2" 822 // 823 // Thoroughly exercise the Debian multiarch environment. 824 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 825 // RUN: --target=i686-linux-gnu \ 826 // RUN: --gcc-toolchain="" \ 827 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 828 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86 %s 829 // CHECK-DEBIAN-X86: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 830 // CHECK-DEBIAN-X86: "{{.*}}/usr/lib/gcc/i686-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 831 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5" 832 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../../i386-linux-gnu" 833 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/usr/lib/i386-linux-gnu" 834 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/usr/lib/gcc/i686-linux-gnu/4.5/../../.." 835 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/lib" 836 // CHECK-DEBIAN-X86: "-L[[SYSROOT]]/usr/lib" 837 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 838 // RUN: --target=x86_64-linux-gnu \ 839 // RUN: --gcc-toolchain="" \ 840 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 841 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-X86-64 %s 842 // CHECK-DEBIAN-X86-64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 843 // CHECK-DEBIAN-X86-64: "{{.*}}/usr/lib/gcc/x86_64-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 844 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5" 845 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../../x86_64-linux-gnu" 846 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/usr/lib/x86_64-linux-gnu" 847 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-linux-gnu/4.5/../../.." 848 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/lib" 849 // CHECK-DEBIAN-X86-64: "-L[[SYSROOT]]/usr/lib" 850 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 851 // RUN: --target=powerpc-linux-gnu \ 852 // RUN: --gcc-toolchain="" \ 853 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 854 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC %s 855 // CHECK-DEBIAN-PPC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 856 // CHECK-DEBIAN-PPC: "{{.*}}/usr/lib/gcc/powerpc-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 857 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5" 858 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../../powerpc-linux-gnu" 859 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/usr/lib/powerpc-linux-gnu" 860 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/usr/lib/gcc/powerpc-linux-gnu/4.5/../../.." 861 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/lib" 862 // CHECK-DEBIAN-PPC: "-L[[SYSROOT]]/usr/lib" 863 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 864 // RUN: --target=powerpc64le-linux-gnu \ 865 // RUN: --gcc-toolchain="" \ 866 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 867 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC64LE %s 868 // CHECK-DEBIAN-PPC64LE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 869 // CHECK-DEBIAN-PPC64LE: "{{.*}}/usr/lib/gcc/powerpc64le-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 870 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.5" 871 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.5/../../../powerpc64le-linux-gnu" 872 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/usr/lib/powerpc64le-linux-gnu" 873 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64le-linux-gnu/4.5/../../.." 874 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/lib" 875 // CHECK-DEBIAN-PPC64LE: "-L[[SYSROOT]]/usr/lib" 876 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 877 // RUN: --target=powerpc64-linux-gnu \ 878 // RUN: --gcc-toolchain="" \ 879 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 880 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-PPC64 %s 881 // CHECK-DEBIAN-PPC64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 882 // CHECK-DEBIAN-PPC64: "{{.*}}/usr/lib/gcc/powerpc64-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 883 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5" 884 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../../powerpc64-linux-gnu" 885 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/usr/lib/powerpc64-linux-gnu" 886 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/usr/lib/gcc/powerpc64-linux-gnu/4.5/../../.." 887 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/lib" 888 // CHECK-DEBIAN-PPC64: "-L[[SYSROOT]]/usr/lib" 889 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 890 // RUN: --target=mips-linux-gnu \ 891 // RUN: --gcc-toolchain="" \ 892 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 893 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS %s 894 // CHECK-DEBIAN-MIPS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 895 // CHECK-DEBIAN-MIPS: "{{.*}}/usr/lib/gcc/mips-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 896 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5" 897 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/../../../mips-linux-gnu" 898 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/mips-linux-gnu" 899 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/../../.." 900 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/lib" 901 // CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib" 902 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 903 // RUN: --target=mipsel-linux-gnu \ 904 // RUN: --gcc-toolchain="" \ 905 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 906 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPSEL %s 907 // CHECK-DEBIAN-MIPSEL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 908 // CHECK-DEBIAN-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.5{{/|\\\\}}crtbegin.o" 909 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5" 910 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/../../../mipsel-linux-gnu" 911 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/mipsel-linux-gnu" 912 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/../../.." 913 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/lib" 914 // CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib" 915 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 916 // RUN: --target=mips64-linux-gnu \ 917 // RUN: --gcc-toolchain="" \ 918 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 919 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS64 %s 920 // CHECK-DEBIAN-MIPS64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 921 // CHECK-DEBIAN-MIPS64: "{{.*}}/usr/lib/gcc/mips-linux-gnu/4.5/64{{/|\\\\}}crtbegin.o" 922 // CHECK-DEBIAN-MIPS64: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/64" 923 // CHECK-DEBIAN-MIPS64: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5" 924 // CHECK-DEBIAN-MIPS64: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/../../.." 925 // CHECK-DEBIAN-MIPS64: "-L[[SYSROOT]]/lib" 926 // CHECK-DEBIAN-MIPS64: "-L[[SYSROOT]]/usr/lib" 927 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 928 // RUN: --target=mips64el-linux-gnu \ 929 // RUN: --gcc-toolchain="" \ 930 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 931 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS64EL %s 932 // CHECK-DEBIAN-MIPS64EL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 933 // CHECK-DEBIAN-MIPS64EL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.5/64{{/|\\\\}}crtbegin.o" 934 // CHECK-DEBIAN-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/64" 935 // CHECK-DEBIAN-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5" 936 // CHECK-DEBIAN-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/../../.." 937 // CHECK-DEBIAN-MIPS64EL: "-L[[SYSROOT]]/lib" 938 // CHECK-DEBIAN-MIPS64EL: "-L[[SYSROOT]]/usr/lib" 939 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 940 // RUN: --target=mips64-linux-gnu -mabi=n32 \ 941 // RUN: --gcc-toolchain="" \ 942 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 943 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS64-N32 %s 944 // CHECK-DEBIAN-MIPS64-N32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 945 // CHECK-DEBIAN-MIPS64-N32: "{{.*}}/usr/lib/gcc/mips-linux-gnu/4.5/n32{{/|\\\\}}crtbegin.o" 946 // CHECK-DEBIAN-MIPS64-N32: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/n32" 947 // CHECK-DEBIAN-MIPS64-N32: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5" 948 // CHECK-DEBIAN-MIPS64-N32: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.5/../../.." 949 // CHECK-DEBIAN-MIPS64-N32: "-L[[SYSROOT]]/lib" 950 // CHECK-DEBIAN-MIPS64-N32: "-L[[SYSROOT]]/usr/lib" 951 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 952 // RUN: --target=mips64el-linux-gnu -mabi=n32 \ 953 // RUN: --gcc-toolchain="" \ 954 // RUN: --sysroot=%S/Inputs/debian_multiarch_tree \ 955 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS64EL-N32 %s 956 // CHECK-DEBIAN-MIPS64EL-N32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 957 // CHECK-DEBIAN-MIPS64EL-N32: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.5/n32{{/|\\\\}}crtbegin.o" 958 // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/n32" 959 // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5" 960 // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.5/../../.." 961 // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/lib" 962 // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib" 963 // 964 // Check linker paths on Debian 8 / Sparc 965 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 966 // RUN: --target=sparc-linux-gnu \ 967 // RUN: --gcc-toolchain="" \ 968 // RUN: --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \ 969 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32 %s 970 // CHECK-DEBIAN-SPARC32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 971 // CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu{{/|\\\\}}crt1.o" 972 // CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu{{/|\\\\}}crti.o" 973 // CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9{{/|\\\\}}crtbegin.o" 974 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9" 975 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu" 976 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib" 977 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/lib/sparc-linux-gnu" 978 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/sparc-linux-gnu" 979 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/lib" 980 // CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib" 981 // CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9{{/|\\\\}}crtend.o" 982 // CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu{{/|\\\\}}crtn.o" 983 // 984 // Check linker paths on Debian 8 / Sparc, with the oldstyle multilib packages 985 // RUN: %clang -no-canonical-prefixes -m64 %s -### -o %t.o 2>&1 \ 986 // RUN: --target=sparc-linux-gnu \ 987 // RUN: --gcc-toolchain="" \ 988 // RUN: --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \ 989 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32-LIB64 %s 990 // CHECK-DEBIAN-SPARC32-LIB64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 991 // CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64{{/|\\\\}}crt1.o" 992 // CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64{{/|\\\\}}crti.o" 993 // CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64{{/|\\\\}}crtbegin.o" 994 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64" 995 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64" 996 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/lib/../lib64" 997 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/../lib64" 998 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9" 999 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/lib" 1000 // CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib" 1001 // CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64{{/|\\\\}}crtend.o" 1002 // CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64{{/|\\\\}}crtn.o" 1003 // 1004 // Check linker paths on Debian 8 / Sparc64 1005 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1006 // RUN: --target=sparc64-linux-gnu \ 1007 // RUN: --gcc-toolchain="" \ 1008 // RUN: --sysroot=%S/Inputs/debian_8_sparc64_tree \ 1009 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-SPARC64 %s 1010 // CHECK-DEBIAN-SPARC64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1011 // CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu{{/|\\\\}}crt1.o" 1012 // CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu{{/|\\\\}}crti.o" 1013 // CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9{{/|\\\\}}crtbegin.o" 1014 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9" 1015 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu" 1016 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib/sparc64-linux-gnu" 1017 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib/../lib64" 1018 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/sparc64-linux-gnu" 1019 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../.." 1020 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib" 1021 // CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib" 1022 // CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9{{/|\\\\}}crtend.o" 1023 // CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu{{/|\\\\}}crtn.o" 1024 // 1025 // Test linker invocation on Android. 1026 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1027 // RUN: --target=arm-linux-androideabi -rtlib=platform \ 1028 // RUN: --gcc-toolchain="" \ 1029 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1030 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1031 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1032 // RUN: --target=arm-linux-android -rtlib=platform \ 1033 // RUN: --gcc-toolchain="" \ 1034 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1035 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1036 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1037 // RUN: --target=aarch64-linux-android -rtlib=platform \ 1038 // RUN: --gcc-toolchain="" \ 1039 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1040 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1041 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1042 // RUN: --target=arm64-linux-android -rtlib=platform \ 1043 // RUN: --gcc-toolchain="" \ 1044 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1045 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1046 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1047 // RUN: --target=mipsel-linux-android -rtlib=platform \ 1048 // RUN: --gcc-toolchain="" \ 1049 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1050 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1051 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1052 // RUN: --target=mips64el-linux-android -rtlib=platform \ 1053 // RUN: --gcc-toolchain="" \ 1054 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1055 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1056 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1057 // RUN: --target=i686-linux-android -rtlib=platform \ 1058 // RUN: --gcc-toolchain="" \ 1059 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1060 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1061 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1062 // RUN: --target=x86_64-linux-android -rtlib=platform \ 1063 // RUN: --gcc-toolchain="" \ 1064 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1065 // RUN: | FileCheck --check-prefix=CHECK-ANDROID %s 1066 // CHECK-ANDROID: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1067 // CHECK-ANDROID: "{{.*}}{{/|\\\\}}crtbegin_dynamic.o" 1068 // CHECK-ANDROID: "-L[[SYSROOT]]/usr/lib" 1069 // CHECK-ANDROID-NOT: "gcc_s" 1070 // CHECK-ANDROID: "-lgcc" 1071 // CHECK-ANDROID: "-ldl" 1072 // CHECK-ANDROID-NOT: "gcc_s" 1073 // CHECK-ANDROID: "{{.*}}{{/|\\\\}}crtend_android.o" 1074 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1075 // RUN: --target=arm-linux-androideabi -rtlib=platform \ 1076 // RUN: --gcc-toolchain="" \ 1077 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1078 // RUN: -shared \ 1079 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1080 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1081 // RUN: --target=arm-linux-android -rtlib=platform \ 1082 // RUN: --gcc-toolchain="" \ 1083 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1084 // RUN: -shared \ 1085 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1086 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1087 // RUN: --target=aarch64-linux-android -rtlib=platform \ 1088 // RUN: --gcc-toolchain="" \ 1089 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1090 // RUN: -shared \ 1091 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1092 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1093 // RUN: --target=arm64-linux-android -rtlib=platform \ 1094 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1095 // RUN: -shared \ 1096 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1097 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1098 // RUN: --target=mipsel-linux-android -rtlib=platform \ 1099 // RUN: --gcc-toolchain="" \ 1100 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1101 // RUN: -shared \ 1102 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1103 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1104 // RUN: --target=mips64el-linux-android -rtlib=platform \ 1105 // RUN: --gcc-toolchain="" \ 1106 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1107 // RUN: -shared \ 1108 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1109 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1110 // RUN: --target=i686-linux-android -rtlib=platform \ 1111 // RUN: --gcc-toolchain="" \ 1112 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1113 // RUN: -shared \ 1114 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1115 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1116 // RUN: --target=x86_64-linux-android -rtlib=platform \ 1117 // RUN: --gcc-toolchain="" \ 1118 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1119 // RUN: -shared \ 1120 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-SO %s 1121 // CHECK-ANDROID-SO: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1122 // CHECK-ANDROID-SO-NOT: "-Bsymbolic" 1123 // CHECK-ANDROID-SO: "{{.*}}{{/|\\\\}}crtbegin_so.o" 1124 // CHECK-ANDROID-SO: "-L[[SYSROOT]]/usr/lib" 1125 // CHECK-ANDROID-SO-NOT: "gcc_s" 1126 // CHECK-ANDROID-SO: "-lgcc" 1127 // CHECK-ANDROID-SO: "-ldl" 1128 // CHECK-ANDROID-SO-NOT: "gcc_s" 1129 // CHECK-ANDROID-SO: "{{.*}}{{/|\\\\}}crtend_so.o" 1130 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1131 // RUN: --target=arm-linux-androideabi -rtlib=platform \ 1132 // RUN: --gcc-toolchain="" \ 1133 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1134 // RUN: -static \ 1135 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1136 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1137 // RUN: --target=arm-linux-android -rtlib=platform \ 1138 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1139 // RUN: -static \ 1140 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1141 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1142 // RUN: --target=aarch64-linux-android -rtlib=platform \ 1143 // RUN: --gcc-toolchain="" \ 1144 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1145 // RUN: -static \ 1146 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1147 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1148 // RUN: --target=arm64-linux-android -rtlib=platform \ 1149 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1150 // RUN: -static \ 1151 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1152 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1153 // RUN: --target=mipsel-linux-android -rtlib=platform \ 1154 // RUN: --gcc-toolchain="" \ 1155 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1156 // RUN: -static \ 1157 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1158 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1159 // RUN: --target=mips64el-linux-android -rtlib=platform \ 1160 // RUN: --gcc-toolchain="" \ 1161 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1162 // RUN: -static \ 1163 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1164 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1165 // RUN: --target=i686-linux-android -rtlib=platform \ 1166 // RUN: --gcc-toolchain="" \ 1167 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1168 // RUN: -static \ 1169 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1170 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1171 // RUN: --target=x86_64-linux-android -rtlib=platform \ 1172 // RUN: --gcc-toolchain="" \ 1173 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1174 // RUN: -static \ 1175 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-STATIC %s 1176 // CHECK-ANDROID-STATIC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1177 // CHECK-ANDROID-STATIC: "{{.*}}{{/|\\\\}}crtbegin_static.o" 1178 // CHECK-ANDROID-STATIC: "-L[[SYSROOT]]/usr/lib" 1179 // CHECK-ANDROID-STATIC-NOT: "gcc_s" 1180 // CHECK-ANDROID-STATIC: "-lgcc" 1181 // CHECK-ANDROID-STATIC-NOT: "-ldl" 1182 // CHECK-ANDROID-STATIC-NOT: "gcc_s" 1183 // CHECK-ANDROID-STATIC: "{{.*}}{{/|\\\\}}crtend_android.o" 1184 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1185 // RUN: --target=arm-linux-androideabi -rtlib=platform \ 1186 // RUN: --gcc-toolchain="" \ 1187 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1188 // RUN: -pie \ 1189 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1190 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1191 // RUN: --target=arm-linux-android -rtlib=platform \ 1192 // RUN: --gcc-toolchain="" \ 1193 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1194 // RUN: -pie \ 1195 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1196 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1197 // RUN: --target=aarch64-linux-android -rtlib=platform \ 1198 // RUN: --gcc-toolchain="" \ 1199 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1200 // RUN: -pie \ 1201 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1202 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1203 // RUN: --target=arm64-linux-android -rtlib=platform \ 1204 // RUN: --gcc-toolchain="" \ 1205 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1206 // RUN: -pie \ 1207 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1208 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1209 // RUN: --target=mipsel-linux-android -rtlib=platform \ 1210 // RUN: --gcc-toolchain="" \ 1211 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1212 // RUN: -pie \ 1213 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1214 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1215 // RUN: --target=mips64el-linux-android -rtlib=platform \ 1216 // RUN: --gcc-toolchain="" \ 1217 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1218 // RUN: -pie \ 1219 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1220 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1221 // RUN: --target=i686-linux-android -rtlib=platform \ 1222 // RUN: --gcc-toolchain="" \ 1223 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1224 // RUN: -pie \ 1225 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1226 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1227 // RUN: --target=x86_64-linux-android -rtlib=platform \ 1228 // RUN: --gcc-toolchain="" \ 1229 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1230 // RUN: -pie \ 1231 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PIE %s 1232 // CHECK-ANDROID-PIE: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1233 // CHECK-ANDROID-PIE: "{{.*}}{{/|\\\\}}crtbegin_dynamic.o" 1234 // CHECK-ANDROID-PIE: "-L[[SYSROOT]]/usr/lib" 1235 // CHECK-ANDROID-PIE-NOT: "gcc_s" 1236 // CHECK-ANDROID-PIE: "-lgcc" 1237 // CHECK-ANDROID-PIE-NOT: "gcc_s" 1238 // CHECK-ANDROID-PIE: "{{.*}}{{/|\\\\}}crtend_android.o" 1239 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1240 // RUN: --target=arm-linux-androideabi \ 1241 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1242 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1243 // RUN: --target=arm-linux-android \ 1244 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1245 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1246 // RUN: --target=aarch64-linux-android \ 1247 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1248 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1249 // RUN: --target=arm64-linux-android \ 1250 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1251 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1252 // RUN: --target=mipsel-linux-android \ 1253 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1254 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1255 // RUN: --target=mips64el-linux-android \ 1256 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1257 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1258 // RUN: --target=i686-linux-android \ 1259 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1260 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1261 // RUN: --target=x86_64-linux-android \ 1262 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-NO-DEFAULT-PIE %s 1263 // CHECK-ANDROID-NO-DEFAULT-PIE-NOT: -pie 1264 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1265 // RUN: --target=arm-linux-androideabi \ 1266 // RUN: --gcc-toolchain="" \ 1267 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1268 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-32 %s 1269 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1270 // RUN: --target=arm-linux-android \ 1271 // RUN: --gcc-toolchain="" \ 1272 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1273 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-32 %s 1274 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1275 // RUN: --target=mipsel-linux-android \ 1276 // RUN: --gcc-toolchain="" \ 1277 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1278 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-32 %s 1279 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1280 // RUN: --target=aarch64-linux-android \ 1281 // RUN: --gcc-toolchain="" \ 1282 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1283 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-64 %s 1284 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1285 // RUN: --target=arm64-linux-android \ 1286 // RUN: --gcc-toolchain="" \ 1287 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1288 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-64 %s 1289 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1290 // RUN: --target=mips64el-linux-android \ 1291 // RUN: --gcc-toolchain="" \ 1292 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1293 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-64 %s 1294 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1295 // RUN: --target=i686-linux-android \ 1296 // RUN: --gcc-toolchain="" \ 1297 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1298 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-32 %s 1299 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1300 // RUN: --target=x86_64-linux-android \ 1301 // RUN: --gcc-toolchain="" \ 1302 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1303 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-64 %s 1304 // CHECK-ANDROID-32: "-dynamic-linker" "/system/bin/linker" 1305 // CHECK-ANDROID-64: "-dynamic-linker" "/system/bin/linker64" 1306 // 1307 // Test that -pthread does not add -lpthread on Android. 1308 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1309 // RUN: --target=arm-linux-androideabi -pthread \ 1310 // RUN: --gcc-toolchain="" \ 1311 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1312 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1313 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1314 // RUN: --target=arm-linux-android -pthread \ 1315 // RUN: --gcc-toolchain="" \ 1316 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1317 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1318 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1319 // RUN: --target=aarch64-linux-android -pthread \ 1320 // RUN: --gcc-toolchain="" \ 1321 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1322 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1323 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1324 // RUN: --target=arm64-linux-android -pthread \ 1325 // RUN: --gcc-toolchain="" \ 1326 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1327 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1328 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1329 // RUN: --target=mipsel-linux-android -pthread \ 1330 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1331 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1332 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1333 // RUN: --target=mips64el-linux-android -pthread \ 1334 // RUN: --gcc-toolchain="" \ 1335 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1336 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1337 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1338 // RUN: --target=i686-linux-android -pthread \ 1339 // RUN: --gcc-toolchain="" \ 1340 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1341 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1342 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1343 // RUN: --target=x86_64-linux-android -pthread \ 1344 // RUN: --gcc-toolchain="" \ 1345 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1346 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1347 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1348 // RUN: --target=arm-linux-androideabi -pthread \ 1349 // RUN: --gcc-toolchain="" \ 1350 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1351 // RUN: -shared \ 1352 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1353 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1354 // RUN: --target=arm-linux-android -pthread \ 1355 // RUN: --gcc-toolchain="" \ 1356 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1357 // RUN: -shared \ 1358 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1359 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1360 // RUN: --target=aarch64-linux-android -pthread \ 1361 // RUN: --gcc-toolchain="" \ 1362 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1363 // RUN: -shared \ 1364 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1365 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1366 // RUN: --target=arm64-linux-android -pthread \ 1367 // RUN: --gcc-toolchain="" \ 1368 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1369 // RUN: -shared \ 1370 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1371 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1372 // RUN: --target=mipsel-linux-android -pthread \ 1373 // RUN: --gcc-toolchain="" \ 1374 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1375 // RUN: -shared \ 1376 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1377 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1378 // RUN: --target=mips64el-linux-android -pthread \ 1379 // RUN: --gcc-toolchain="" \ 1380 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1381 // RUN: -shared \ 1382 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1383 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1384 // RUN: --target=i686-linux-android -pthread \ 1385 // RUN: --gcc-toolchain="" \ 1386 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1387 // RUN: -shared \ 1388 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1389 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1390 // RUN: --target=x86_64-linux-android -pthread \ 1391 // RUN: --gcc-toolchain="" \ 1392 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1393 // RUN: -shared \ 1394 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD %s 1395 // CHECK-ANDROID-PTHREAD-NOT: -lpthread 1396 // 1397 // RUN: %clang -no-canonical-prefixes %t.o -### -o %t 2>&1 \ 1398 // RUN: --target=arm-linux-androideabi -pthread \ 1399 // RUN: --gcc-toolchain="" \ 1400 // RUN: --sysroot=%S/Inputs/basic_android_tree/sysroot \ 1401 // RUN: | FileCheck --check-prefix=CHECK-ANDROID-PTHREAD-LINK %s 1402 // CHECK-ANDROID-PTHREAD-LINK-NOT: argument unused during compilation: '-pthread' 1403 // 1404 // Check linker invocation on Debian 6 MIPS 32/64-bit. 1405 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1406 // RUN: --target=mipsel-linux-gnu \ 1407 // RUN: --gcc-toolchain="" \ 1408 // RUN: --sysroot=%S/Inputs/debian_6_mips_tree \ 1409 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-ML-MIPSEL %s 1410 // CHECK-DEBIAN-ML-MIPSEL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1411 // CHECK-DEBIAN-ML-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib{{/|\\\\}}crt1.o" 1412 // CHECK-DEBIAN-ML-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib{{/|\\\\}}crti.o" 1413 // CHECK-DEBIAN-ML-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4{{/|\\\\}}crtbegin.o" 1414 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4" 1415 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib" 1416 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/lib/../lib" 1417 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/usr/lib/../lib" 1418 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../.." 1419 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/lib" 1420 // CHECK-DEBIAN-ML-MIPSEL: "-L[[SYSROOT]]/usr/lib" 1421 // 1422 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1423 // RUN: --target=mips64el-linux-gnu \ 1424 // RUN: --gcc-toolchain="" \ 1425 // RUN: --sysroot=%S/Inputs/debian_6_mips_tree \ 1426 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-ML-MIPS64EL %s 1427 // CHECK-DEBIAN-ML-MIPS64EL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1428 // CHECK-DEBIAN-ML-MIPS64EL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib64{{/|\\\\}}crt1.o" 1429 // CHECK-DEBIAN-ML-MIPS64EL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib64{{/|\\\\}}crti.o" 1430 // CHECK-DEBIAN-ML-MIPS64EL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/64{{/|\\\\}}crtbegin.o" 1431 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/64" 1432 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib64" 1433 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/lib/../lib64" 1434 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/usr/lib/../lib64" 1435 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../.." 1436 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/lib" 1437 // CHECK-DEBIAN-ML-MIPS64EL: "-L[[SYSROOT]]/usr/lib" 1438 // 1439 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1440 // RUN: --target=mips64el-linux-gnu -mabi=n32 \ 1441 // RUN: --gcc-toolchain="" \ 1442 // RUN: --sysroot=%S/Inputs/debian_6_mips_tree \ 1443 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-ML-MIPS64EL-N32 %s 1444 // CHECK-DEBIAN-ML-MIPS64EL-N32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1445 // CHECK-DEBIAN-ML-MIPS64EL-N32: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib32{{/|\\\\}}crt1.o" 1446 // CHECK-DEBIAN-ML-MIPS64EL-N32: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib32{{/|\\\\}}crti.o" 1447 // CHECK-DEBIAN-ML-MIPS64EL-N32: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.4/n32{{/|\\\\}}crtbegin.o" 1448 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/n32" 1449 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../../../lib32" 1450 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/lib/../lib32" 1451 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/../lib32" 1452 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.4/../../.." 1453 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/lib" 1454 // CHECK-DEBIAN-ML-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib" 1455 // 1456 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1457 // RUN: --target=mips64-linux-gnuabi64 -mabi=n64 \ 1458 // RUN: --gcc-toolchain="" \ 1459 // RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \ 1460 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-ML-MIPS64-GNUABI %s 1461 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1462 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../mips64-linux-gnuabi64{{/|\\\\}}crt1.o" 1463 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../mips64-linux-gnuabi64{{/|\\\\}}crti.o" 1464 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}/usr/lib/gcc/mips64-linux-gnuabi64/4.9{{/|\\\\}}crtbegin.o" 1465 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9" 1466 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../mips64-linux-gnuabi64" 1467 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/lib/mips64-linux-gnuabi64" 1468 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib/mips64-linux-gnuabi64" 1469 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9" 1470 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../.." 1471 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/lib" 1472 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "-L[[SYSROOT]]/usr/lib" 1473 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}/usr/lib/gcc/mips64-linux-gnuabi64/4.9{{/|\\\\}}crtend.o" 1474 // CHECK-DEBIAN-ML-MIPS64-GNUABI: "{{.*}}/usr/lib/gcc/mips64-linux-gnuabi64/4.9/../../../mips64-linux-gnuabi64{{/|\\\\}}crtn.o" 1475 // 1476 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1477 // RUN: --target=mips64el-linux-gnuabi64 -mabi=n64 \ 1478 // RUN: --gcc-toolchain="" \ 1479 // RUN: --sysroot=%S/Inputs/debian_6_mips64_tree \ 1480 // RUN: | FileCheck --check-prefix=CHECK-DEBIAN-ML-MIPS64EL-GNUABI %s 1481 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1482 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../mips64el-linux-gnuabi64{{/|\\\\}}crt1.o" 1483 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../mips64el-linux-gnuabi64{{/|\\\\}}crti.o" 1484 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}/usr/lib/gcc/mips64el-linux-gnuabi64/4.9{{/|\\\\}}crtbegin.o" 1485 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9" 1486 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../mips64el-linux-gnuabi64" 1487 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/lib/mips64el-linux-gnuabi64" 1488 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib/mips64el-linux-gnuabi64" 1489 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9" 1490 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../.." 1491 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/lib" 1492 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "-L[[SYSROOT]]/usr/lib" 1493 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}/usr/lib/gcc/mips64el-linux-gnuabi64/4.9{{/|\\\\}}crtend.o" 1494 // CHECK-DEBIAN-ML-MIPS64EL-GNUABI: "{{.*}}/usr/lib/gcc/mips64el-linux-gnuabi64/4.9/../../../mips64el-linux-gnuabi64{{/|\\\\}}crtn.o" 1495 // 1496 // Test linker invocation for Freescale SDK (OpenEmbedded). 1497 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1498 // RUN: --target=powerpc-fsl-linux \ 1499 // RUN: --gcc-toolchain="" \ 1500 // RUN: --sysroot=%S/Inputs/freescale_ppc_tree \ 1501 // RUN: | FileCheck --check-prefix=CHECK-FSL-PPC %s 1502 // CHECK-FSL-PPC: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1503 // CHECK-FSL-PPC: "-m" "elf32ppclinux" 1504 // CHECK-FSL-PPC: "{{.*}}{{/|\\\\}}crt1.o" 1505 // CHECK-FSL-PPC: "{{.*}}{{/|\\\\}}crtbegin.o" 1506 // CHECK-FSL-PPC: "-L[[SYSROOT]]/usr/lib" 1507 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1508 // RUN: --target=powerpc64-fsl-linux \ 1509 // RUN: --gcc-toolchain="" \ 1510 // RUN: --sysroot=%S/Inputs/freescale_ppc64_tree \ 1511 // RUN: | FileCheck --check-prefix=CHECK-FSL-PPC64 %s 1512 // CHECK-FSL-PPC64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1513 // CHECK-FSL-PPC64: "-m" "elf64ppc" 1514 // CHECK-FSL-PPC64: "{{.*}}{{/|\\\\}}crt1.o" 1515 // CHECK-FSL-PPC64: "{{.*}}{{/|\\\\}}crtbegin.o" 1516 // CHECK-FSL-PPC64: "-L[[SYSROOT]]/usr/lib64/powerpc64-fsl-linux/4.6.2/../.." 1517 // 1518 // Check that crtfastmath.o is linked with -ffast-math and with -Ofast. 1519 // RUN: %clang --target=x86_64-unknown-linux -### %s \ 1520 // RUN: --gcc-toolchain="" \ 1521 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1522 // RUN: | FileCheck --check-prefix=CHECK-NOCRTFASTMATH %s 1523 // RUN: %clang --target=x86_64-unknown-linux -### %s -ffast-math \ 1524 // RUN: --gcc-toolchain="" \ 1525 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1526 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1527 // RUN: %clang --target=x86_64-unknown-linux -### %s -funsafe-math-optimizations\ 1528 // RUN: --gcc-toolchain="" \ 1529 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1530 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1531 // RUN: %clang --target=x86_64-unknown-linux -### %s -Ofast\ 1532 // RUN: --gcc-toolchain="" \ 1533 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1534 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1535 // RUN: %clang --target=x86_64-unknown-linux -### %s -Ofast -O3\ 1536 // RUN: --gcc-toolchain="" \ 1537 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1538 // RUN: | FileCheck --check-prefix=CHECK-NOCRTFASTMATH %s 1539 // RUN: %clang --target=x86_64-unknown-linux -### %s -O3 -Ofast\ 1540 // RUN: --gcc-toolchain="" \ 1541 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1542 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1543 // RUN: %clang --target=x86_64-unknown-linux -### %s -ffast-math -fno-fast-math \ 1544 // RUN: --gcc-toolchain="" \ 1545 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1546 // RUN: | FileCheck --check-prefix=CHECK-NOCRTFASTMATH %s 1547 // RUN: %clang --target=x86_64-unknown-linux -### %s -Ofast -fno-fast-math \ 1548 // RUN: --gcc-toolchain="" \ 1549 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1550 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1551 // RUN: %clang --target=x86_64-unknown-linux -### %s -Ofast -fno-unsafe-math-optimizations \ 1552 // RUN: --gcc-toolchain="" \ 1553 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1554 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1555 // RUN: %clang --target=x86_64-unknown-linux -### %s -fno-fast-math -Ofast \ 1556 // RUN: --gcc-toolchain="" \ 1557 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1558 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1559 // RUN: %clang --target=x86_64-unknown-linux -### %s -fno-unsafe-math-optimizations -Ofast \ 1560 // RUN: --gcc-toolchain="" \ 1561 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1562 // RUN: | FileCheck --check-prefix=CHECK-CRTFASTMATH %s 1563 // We don't have crtfastmath.o in the i386 tree, use it to check that file 1564 // detection works. 1565 // RUN: %clang --target=i386-unknown-linux -### %s -ffast-math \ 1566 // RUN: --gcc-toolchain="" \ 1567 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>&1 \ 1568 // RUN: | FileCheck --check-prefix=CHECK-NOCRTFASTMATH %s 1569 // CHECK-CRTFASTMATH: usr/lib/gcc/x86_64-unknown-linux/4.6.0{{/|\\\\}}crtfastmath.o 1570 // CHECK-NOCRTFASTMATH-NOT: crtfastmath.o 1571 1572 // Check that we link in gcrt1.o when compiling with -pg 1573 // RUN: %clang -pg --target=x86_64-unknown-linux -### %s \ 1574 // RUN: --gcc-toolchain="" \ 1575 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>& 1 \ 1576 // RUN: | FileCheck --check-prefix=CHECK-PG %s 1577 // CHECK-PG: gcrt1.o 1578 1579 // GCC forwards -u to the linker. 1580 // RUN: %clang -u asdf --target=x86_64-unknown-linux -### %s \ 1581 // RUN: --gcc-toolchain="" \ 1582 // RUN: --sysroot=%S/Inputs/basic_linux_tree 2>& 1 \ 1583 // RUN: | FileCheck --check-prefix=CHECK-u %s 1584 // CHECK-u: "-u" "asdf" 1585 1586 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1587 // RUN: --target=armeb-unknown-linux \ 1588 // RUN: --gcc-toolchain="" \ 1589 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 1590 // RUN: | FileCheck --check-prefix=CHECK-ARMEB %s 1591 // CHECK-ARMEB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1592 // CHECK-ARMEB-NOT: "--be8" 1593 // CHECK-ARMEB: "-m" "armelfb_linux_eabi" 1594 1595 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1596 // RUN: --target=armebv7-unknown-linux \ 1597 // RUN: --gcc-toolchain="" \ 1598 // RUN: --sysroot=%S/Inputs/basic_linux_tree \ 1599 // RUN: | FileCheck --check-prefix=CHECK-ARMV7EB %s 1600 // CHECK-ARMV7EB: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1601 // CHECK-ARMV7EB: "--be8" 1602 // CHECK-ARMV7EB: "-m" "armelfb_linux_eabi" 1603 1604 // Check dynamic-linker for musl-libc 1605 // RUN: %clang %s -### -o %t.o 2>&1 \ 1606 // RUN: --target=i386-pc-linux-musl \ 1607 // RUN: | FileCheck --check-prefix=CHECK-MUSL-X86 %s 1608 // RUN: %clang %s -### -o %t.o 2>&1 \ 1609 // RUN: --target=x86_64-pc-linux-musl \ 1610 // RUN: | FileCheck --check-prefix=CHECK-MUSL-X86_64 %s 1611 // RUN: %clang %s -### -o %t.o 2>&1 \ 1612 // RUN: --target=mips-pc-linux-musl \ 1613 // RUN: | FileCheck --check-prefix=CHECK-MUSL-MIPS %s 1614 // RUN: %clang %s -### -o %t.o 2>&1 \ 1615 // RUN: --target=mipsel-pc-linux-musl \ 1616 // RUN: | FileCheck --check-prefix=CHECK-MUSL-MIPSEL %s 1617 // RUN: %clang %s -### -o %t.o 2>&1 \ 1618 // RUN: --target=mips64-pc-linux-musl \ 1619 // RUN: | FileCheck --check-prefix=CHECK-MUSL-MIPS64 %s 1620 // RUN: %clang %s -### -o %t.o 2>&1 \ 1621 // RUN: --target=mips64el-pc-linux-musl \ 1622 // RUN: | FileCheck --check-prefix=CHECK-MUSL-MIPS64EL %s 1623 // RUN: %clang %s -### -o %t.o 2>&1 \ 1624 // RUN: --target=powerpc-pc-linux-musl \ 1625 // RUN: | FileCheck --check-prefix=CHECK-MUSL-PPC %s 1626 // RUN: %clang %s -### -o %t.o 2>&1 \ 1627 // RUN: --target=powerpc64-pc-linux-musl \ 1628 // RUN: | FileCheck --check-prefix=CHECK-MUSL-PPC64 %s 1629 // RUN: %clang %s -### -o %t.o 2>&1 \ 1630 // RUN: --target=thumb-pc-linux-musleabi \ 1631 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARM %s 1632 // RUN: %clang %s -### -o %t.o 2>&1 \ 1633 // RUN: --target=thumb-pc-linux-musleabihf \ 1634 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMHF %s 1635 // RUN: %clang %s -### -o %t.o 2>&1 \ 1636 // RUN: --target=thumbv7-pc-linux-musleabi -mhard-float \ 1637 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMHF %s 1638 // RUN: %clang %s -### -o %t.o 2>&1 \ 1639 // RUN: --target=thumbeb-pc-linux-musleabi \ 1640 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEB %s 1641 // RUN: %clang %s -### -o %t.o 2>&1 \ 1642 // RUN: --target=thumbeb-pc-linux-musleabihf \ 1643 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEBHF %s 1644 // RUN: %clang %s -### -o %t.o 2>&1 \ 1645 // RUN: --target=thumbv7eb-pc-linux-musleabi -mhard-float \ 1646 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEBHF %s 1647 // RUN: %clang %s -### -o %t.o 2>&1 \ 1648 // RUN: --target=arm-pc-linux-musleabi \ 1649 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARM %s 1650 // RUN: %clang %s -### -o %t.o 2>&1 \ 1651 // RUN: --target=arm-pc-linux-musleabihf \ 1652 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMHF %s 1653 // RUN: %clang %s -### -o %t.o 2>&1 \ 1654 // RUN: --target=armv7-pc-linux-musleabi -mhard-float \ 1655 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMHF %s 1656 // RUN: %clang %s -### -o %t.o 2>&1 \ 1657 // RUN: --target=armeb-pc-linux-musleabi \ 1658 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEB %s 1659 // RUN: %clang %s -### -o %t.o 2>&1 \ 1660 // RUN: --target=armeb-pc-linux-musleabihf \ 1661 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEBHF %s 1662 // RUN: %clang %s -### -o %t.o 2>&1 \ 1663 // RUN: --target=armv7eb-pc-linux-musleabi -mhard-float \ 1664 // RUN: | FileCheck --check-prefix=CHECK-MUSL-ARMEBHF %s 1665 // RUN: %clang %s -### -o %t.o 2>&1 \ 1666 // RUN: --target=aarch64-pc-linux-musleabi \ 1667 // RUN: | FileCheck --check-prefix=CHECK-MUSL-AARCH64 %s 1668 // RUN: %clang %s -### -o %t.o 2>&1 \ 1669 // RUN: --target=aarch64_be-pc-linux-musleabi \ 1670 // RUN: | FileCheck --check-prefix=CHECK-MUSL-AARCH64_BE %s 1671 // CHECK-MUSL-X86: "-dynamic-linker" "/lib/ld-musl-i386.so.1" 1672 // CHECK-MUSL-X86_64: "-dynamic-linker" "/lib/ld-musl-x86_64.so.1" 1673 // CHECK-MUSL-MIPS: "-dynamic-linker" "/lib/ld-musl-mips.so.1" 1674 // CHECK-MUSL-MIPSEL: "-dynamic-linker" "/lib/ld-musl-mipsel.so.1" 1675 // CHECK-MUSL-MIPS64: "-dynamic-linker" "/lib/ld-musl-mips64.so.1" 1676 // CHECK-MUSL-MIPS64EL: "-dynamic-linker" "/lib/ld-musl-mips64el.so.1" 1677 // CHECK-MUSL-PPC: "-dynamic-linker" "/lib/ld-musl-powerpc.so.1" 1678 // CHECK-MUSL-PPC64: "-dynamic-linker" "/lib/ld-musl-powerpc64.so.1" 1679 // CHECK-MUSL-ARM: "-dynamic-linker" "/lib/ld-musl-arm.so.1" 1680 // CHECK-MUSL-ARMHF: "-dynamic-linker" "/lib/ld-musl-armhf.so.1" 1681 // CHECK-MUSL-ARMEB: "-dynamic-linker" "/lib/ld-musl-armeb.so.1" 1682 // CHECK-MUSL-ARMEBHF: "-dynamic-linker" "/lib/ld-musl-armebhf.so.1" 1683 // CHECK-MUSL-AARCH64: "-dynamic-linker" "/lib/ld-musl-aarch64.so.1" 1684 // CHECK-MUSL-AARCH64_BE: "-dynamic-linker" "/lib/ld-musl-aarch64_be.so.1" 1685 1686 // Check whether multilib gcc install works fine on Gentoo with gcc-config 1687 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1688 // RUN: --target=x86_64-unknown-linux-gnu -rtlib=platform \ 1689 // RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \ 1690 // RUN: --gcc-toolchain="" \ 1691 // RUN: | FileCheck --check-prefix=CHECK-LD-GENTOO %s 1692 // CHECK-LD-GENTOO-NOT: warning: 1693 // CHECK-LD-GENTOO: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1694 // CHECK-LD-GENTOO: "--eh-frame-hdr" 1695 // CHECK-LD-GENTOO: "-m" "elf_x86_64" 1696 // CHECK-LD-GENTOO: "-dynamic-linker" 1697 // CHECK-LD-GENTOO: "{{.*}}/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3{{/|\\\\}}crtbegin.o" 1698 // CHECK-LD-GENTOO: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3" 1699 // CHECK-LD-GENTOO: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/lib" 1700 // CHECK-LD-GENTOO: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../.." 1701 // CHECK-LD-GENTOO: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1702 // CHECK-LD-GENTOO: "-lc" 1703 // CHECK-LD-GENTOO: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1704 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1705 // RUN: --target=i686-unknown-linux-gnu -rtlib=platform \ 1706 // RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \ 1707 // RUN: --gcc-toolchain="" \ 1708 // RUN: | FileCheck --check-prefix=CHECK-LD-GENTOO-32 %s 1709 // CHECK-LD-GENTOO-32-NOT: warning: 1710 // CHECK-LD-GENTOO-32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1711 // CHECK-LD-GENTOO-32: "--eh-frame-hdr" 1712 // CHECK-LD-GENTOO-32: "-m" "elf_i386" 1713 // CHECK-LD-GENTOO-32: "-dynamic-linker" 1714 // CHECK-LD-GENTOO-32: "{{.*}}/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/32{{/|\\\\}}crtbegin.o" 1715 // CHECK-LD-GENTOO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/32" 1716 // CHECK-LD-GENTOO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/lib" 1717 // CHECK-LD-GENTOO-32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../.." 1718 // CHECK-LD-GENTOO-32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1719 // CHECK-LD-GENTOO-32: "-lc" 1720 // CHECK-LD-GENTOO-32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1721 // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ 1722 // RUN: --target=x86_64-unknown-linux-gnux32 -rtlib=platform \ 1723 // RUN: --sysroot=%S/Inputs/gentoo_linux_gcc_multi_version_tree \ 1724 // RUN: --gcc-toolchain="" \ 1725 // RUN: | FileCheck --check-prefix=CHECK-LD-GENTOO-X32 %s 1726 // CHECK-LD-GENTOO-X32-NOT: warning: 1727 // CHECK-LD-GENTOO-X32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" 1728 // CHECK-LD-GENTOO-X32: "--eh-frame-hdr" 1729 // CHECK-LD-GENTOO-X32: "-m" "elf32_x86_64" 1730 // CHECK-LD-GENTOO-X32: "-dynamic-linker" 1731 // CHECK-LD-GENTOO-X32: "{{.*}}/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/x32{{/|\\\\}}crtbegin.o" 1732 // CHECK-LD-GENTOO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/x32" 1733 // CHECK-LD-GENTOO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/lib" 1734 // CHECK-LD-GENTOO-X32: "-L[[SYSROOT]]/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../.." 1735 // CHECK-LD-GENTOO-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1736 // CHECK-LD-GENTOO-X32: "-lc" 1737 // CHECK-LD-GENTOO-X32: "-lgcc" "--as-needed" "-lgcc_s" "--no-as-needed" 1738