<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>On Jun 4, 2015, at 12:45 PM, Rafael Espíndola <<a href="mailto:rafael.espindola@gmail.com">rafael.espindola@gmail.com</a>> wrote:</div><blockquote type="cite"><p dir="ltr">Testcase?</p></blockquote><div>Attached look okay to you? In addition to linux-ld.c tests, I've also included an include path fix, and linux-header-search.cpp tests covering that.</div><div><br></div><div><br></div><div><div>commit 1c6aca5bbebb98070b1f5439bce3a3651be146b2</div><div>Author: James Y Knight <<a href="mailto:jyknight@google.com">jyknight@google.com</a>></div><div>Date:   Fri Jun 5 00:06:43 2015 -0400</div><div><br></div><div>    [SPARC] Add multiarch include paths.</div><div>    </div><div>    Adds tests verifying the proper dirs are found in the Debian 8/GCC4.9</div><div>    layout for sparc (32bit), sparc (32bit) with lib64 multilib, and</div><div>    sparc64.</div><div>    </div><div>    The test cases added here also cover r239047, which fixed the linker</div><div>    paths.</div><div><br></div><div>diff --git a/lib/Driver/ToolChains.cpp b/lib/Driver/ToolChains.cpp</div><div>index 4eb8994..77ec5d1 100644</div><div>--- a/lib/Driver/ToolChains.cpp</div><div>+++ b/lib/Driver/ToolChains.cpp</div><div>@@ -3475,6 +3475,12 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,</div><div>   const StringRef PPC64LEMultiarchIncludeDirs[] = {</div><div>     "/usr/include/powerpc64le-linux-gnu"</div><div>   };</div><div>+  const StringRef SparcMultiarchIncludeDirs[] = {</div><div>+    "/usr/include/sparc-linux-gnu"</div><div>+  };</div><div>+  const StringRef Sparc64MultiarchIncludeDirs[] = {</div><div>+    "/usr/include/sparc64-linux-gnu"</div><div>+  };</div><div>   ArrayRef<StringRef> MultiarchIncludeDirs;</div><div>   if (getTriple().getArch() == llvm::Triple::x86_64) {</div><div>     MultiarchIncludeDirs = X86_64MultiarchIncludeDirs;</div><div>@@ -3502,6 +3508,10 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,</div><div>     MultiarchIncludeDirs = PPC64MultiarchIncludeDirs;</div><div>   } else if (getTriple().getArch() == llvm::Triple::ppc64le) {</div><div>     MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs;</div><div>+  } else if (getTriple().getArch() == llvm::Triple::sparc) {</div><div>+    MultiarchIncludeDirs = SparcMultiarchIncludeDirs;</div><div>+  } else if (getTriple().getArch() == llvm::Triple::sparcv9) {</div><div>+    MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs;</div><div>   }</div><div>   for (StringRef Dir : MultiarchIncludeDirs) {</div><div>     if (llvm::sys::fs::exists(SysRoot + Dir)) {</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/lib/sparc64-linux-gnu/.keep b/test/Driver/Inputs/debian_8_sparc64_tree/lib/sparc64-linux-gnu/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/lib64/.keep b/test/Driver/Inputs/debian_8_sparc64_tree/lib64/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/c++/4.9/.keep b/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/c++/4.9/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/sparc64-linux-gnu/c++/4.9/.keep b/test/Driver/Inputs/debian_8_sparc64_tree/usr/include/sparc64-linux-gnu/c++/4.9/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtbegin.o b/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtbegin.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtend.o b/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/gcc/sparc64-linux-gnu/4.9/crtend.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crt1.o b/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crt1.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crti.o b/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crti.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crtn.o b/test/Driver/Inputs/debian_8_sparc64_tree/usr/lib/sparc64-linux-gnu/crtn.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib/sparc-linux-gnu/.keep b/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib/sparc-linux-gnu/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib64/.keep b/test/Driver/Inputs/debian_8_sparc_multilib_tree/lib64/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/c++/4.9/backward/.keep b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/c++/4.9/backward/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/sparc-linux-gnu/c++/4.9/64/.keep b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/include/sparc-linux-gnu/c++/4.9/64/.keep</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtbegin.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtbegin.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtend.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtend.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtbegin.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtbegin.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtend.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/gcc/sparc-linux-gnu/4.9/crtend.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crt1.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crt1.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crti.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crti.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crtn.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib/sparc-linux-gnu/crtn.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crt1.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crt1.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crti.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crti.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crtn.o b/test/Driver/Inputs/debian_8_sparc_multilib_tree/usr/lib64/crtn.o</div><div>new file mode 100644</div><div>index 0000000..e69de29</div><div>diff --git a/test/Driver/linux-header-search.cpp b/test/Driver/linux-header-search.cpp</div><div>index 574ae22..23912cb 100644</div><div>--- a/test/Driver/linux-header-search.cpp</div><div>+++ b/test/Driver/linux-header-search.cpp</div><div>@@ -285,3 +285,60 @@</div><div> // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/mips64el-linux-gnuabi64"</div><div> // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/include"</div><div> // CHECK-MIPS64EL-GNUABI: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"</div><div>+</div><div>+// Check header search on Debian 8 / Sparc</div><div>+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \</div><div>+// RUN:     -target sparc-unknown-linux-gnu \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32 %s</div><div>+// CHECK-DEBIAN-SPARC32: "{{[^"]*}}clang{{[^"]*}}" "-cc1"</div><div>+// CHECK-DEBIAN-SPARC32: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32: "-isysroot" "[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/sparc-linux-gnu/c++/4.9"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9/backward"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[SYSROOT]]/usr/local/include"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/include"</div><div>+// CHECK-DEBIAN-SPARC32: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"</div><div>+</div><div>+// Check header search on Debian 8 / Sparc, with the oldstyle multilib packages</div><div>+// RUN: %clang -no-canonical-prefixes -m64 %s -### -fsyntax-only 2>&1 \</div><div>+// RUN:     -target sparc-unknown-linux-gnu \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32-LIB64 %s</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-isysroot" "[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/sparc-linux-gnu/c++/4.9/64"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../include/c++/4.9/backward"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"</div><div>+/* TODO: GCC 4.9 includes the following dir in its search path, which</div><div>+   seems questionable. Clang doesn't. Not sure if clang should be</div><div>+   doing that too. */</div><div>+// CHECK-DEBIAN-SPARC32-LIB64-todo: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-externc-isystem" "[[SYSROOT]]/include"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"</div><div>+</div><div>+// Check header search on Debian 8 / Sparc64</div><div>+// RUN: %clang -no-canonical-prefixes %s -### -fsyntax-only 2>&1 \</div><div>+// RUN:     -target sparc64-unknown-linux-gnu \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc64_tree \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC64 %s</div><div>+// CHECK-DEBIAN-SPARC64: "{{[^"]*}}clang{{[^"]*}}" "-cc1"</div><div>+// CHECK-DEBIAN-SPARC64: "-resource-dir" "[[RESOURCE_DIR:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC64: "-isysroot" "[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/c++/4.9"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/sparc64-linux-gnu/c++/4.9"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../../include/c++/4.9/backward"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[SYSROOT]]/usr/local/include"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-isystem" "[[RESOURCE_DIR]]{{/|\\\\}}include"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include/sparc64-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/include"</div><div>+// CHECK-DEBIAN-SPARC64: "-internal-externc-isystem" "[[SYSROOT]]/usr/include"</div><div>diff --git a/test/Driver/linux-ld.c b/test/Driver/linux-ld.c</div><div>index 38edb7f..5cfa3b7 100644</div><div>--- a/test/Driver/linux-ld.c</div><div>+++ b/test/Driver/linux-ld.c</div><div>@@ -904,6 +904,67 @@</div><div> // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/lib"</div><div> // CHECK-DEBIAN-MIPS64EL-N32: "-L[[SYSROOT]]/usr/lib"</div><div> //</div><div>+// Check linker paths on Debian 8 / Sparc</div><div>+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \</div><div>+// RUN:     --target=sparc-linux-gnu \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32 %s</div><div>+// CHECK-DEBIAN-SPARC32: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu/crt1.o"</div><div>+// CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu/crti.o"</div><div>+// CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/crtbegin.o"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/lib/sparc-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib/sparc-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/lib"</div><div>+// CHECK-DEBIAN-SPARC32: "-L[[SYSROOT]]/usr/lib"</div><div>+// CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/crtend.o"</div><div>+// CHECK-DEBIAN-SPARC32: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../sparc-linux-gnu/crtn.o"</div><div>+//</div><div>+// Check linker paths on Debian 8 / Sparc, with the oldstyle multilib packages</div><div>+// RUN: %clang -no-canonical-prefixes -m64 %s -### -o %t.o 2>&1 \</div><div>+// RUN:     --target=sparc-linux-gnu \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc_multilib_tree \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC32-LIB64 %s</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64/crt1.o"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64/crti.o"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtbegin.o"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/lib/../lib64"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/../lib64"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/lib"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "-L[[SYSROOT]]/usr/lib"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/64/crtend.o"</div><div>+// CHECK-DEBIAN-SPARC32-LIB64: "[[SYSROOT]]/usr/lib/gcc/sparc-linux-gnu/4.9/../../../../lib64/crtn.o"</div><div>+//</div><div>+// Check linker paths on Debian 8 / Sparc64</div><div>+// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \</div><div>+// RUN:     --target=sparc64-linux-gnu \</div><div>+// RUN:     --gcc-toolchain="" \</div><div>+// RUN:     --sysroot=%S/Inputs/debian_8_sparc64_tree \</div><div>+// RUN:   | FileCheck --check-prefix=CHECK-DEBIAN-SPARC64 %s</div><div>+// CHECK-DEBIAN-SPARC64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]"</div><div>+// CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu/crt1.o"</div><div>+// CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu/crti.o"</div><div>+// CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/crtbegin.o"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib/sparc64-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib/../lib64"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/sparc64-linux-gnu"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../.."</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/lib"</div><div>+// CHECK-DEBIAN-SPARC64: "-L[[SYSROOT]]/usr/lib"</div><div>+// CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/crtend.o"</div><div>+// CHECK-DEBIAN-SPARC64: "[[SYSROOT]]/usr/lib/gcc/sparc64-linux-gnu/4.9/../../../sparc64-linux-gnu/crtn.o"</div><div>+//</div><div> // Test linker invocation on Android.</div><div> // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \</div><div> // RUN:     --target=arm-linux-androideabi \</div></div><div><br></div></body></html>