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