From 738f85a20efc53e01787a3bc71a37fedd0f585fc Mon Sep 17 00:00:00 2001 From: Simon Atanasyan Date: Tue, 4 Mar 2014 18:37:28 +0000 Subject: [Mips] Check all MIPS toolchains to find the one that best meets command line arguments and directories tree. The old toolchain selection heuristics worked incorrectly when user has a reduced MIPS toolchain supports the O32 ABI only. Patch reviewed by Jonathan Roelofs, David Majnemer. llvm-svn: 202873 --- .../Inputs/debian_reduced_mips_tree/lib/.keep | 0 .../lib/mips-linux-gnu/.keep | 0 .../lib/mipsel-linux-gnu/.keep | 0 .../debian_reduced_mips_tree/usr/include/.keep | 0 .../usr/include/c++/4.7/.keep | 0 .../usr/include/c++/4.7/backward/.keep | 0 .../usr/include/c++/4.7/mips-linux-gnu/.keep | 0 .../usr/include/c++/4.7/mipsel-linux-gnu/.keep | 0 .../usr/include/mips-linux-gnu/.keep | 0 .../usr/include/mipsel-linux-gnu/.keep | 0 .../Inputs/debian_reduced_mips_tree/usr/lib/.keep | 0 .../usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o | 0 .../usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o | 0 .../usr/lib/mips-linux-gnu/.keep | 0 .../usr/lib/mipsel-linux-gnu/.keep | 0 clang/test/Driver/mips-reduced-toolchain.cpp | 28 ++++++++++++++++++++++ 16 files changed, 28 insertions(+) create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep create mode 100644 clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep create mode 100644 clang/test/Driver/mips-reduced-toolchain.cpp (limited to 'clang/test/Driver') diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep new file mode 100644 index 00000000000..e69de29bb2d diff --git a/clang/test/Driver/mips-reduced-toolchain.cpp b/clang/test/Driver/mips-reduced-toolchain.cpp new file mode 100644 index 00000000000..fe7ed8ae045 --- /dev/null +++ b/clang/test/Driver/mips-reduced-toolchain.cpp @@ -0,0 +1,28 @@ +// Check frontend and linker invocations on reduced Debian MIPS toolchain. +// This toolchain icludes O32 ABI only. + +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mips-linux-gnu \ +// RUN: --sysroot=%S/Inputs/debian_reduced_mips_tree \ +// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPS %s +// CHECK-DEBIAN-MIPS: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-DEBIAN-MIPS: "{{.*}}/usr/lib/gcc/mips-linux-gnu/4.7{{/|\\\\}}crtbegin.o" +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7" +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7/../../../mips-linux-gnu" +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/mips-linux-gnu" +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib/gcc/mips-linux-gnu/4.7/../../.." +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/lib" +// CHECK-DEBIAN-MIPS: "-L[[SYSROOT]]/usr/lib" + +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=mipsel-linux-gnu \ +// RUN: --sysroot=%S/Inputs/debian_reduced_mips_tree \ +// RUN: | FileCheck --check-prefix=CHECK-DEBIAN-MIPSEL %s +// CHECK-DEBIAN-MIPSEL: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-DEBIAN-MIPSEL: "{{.*}}/usr/lib/gcc/mipsel-linux-gnu/4.7{{/|\\\\}}crtbegin.o" +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7" +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7/../../../mipsel-linux-gnu" +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/mipsel-linux-gnu" +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib/gcc/mipsel-linux-gnu/4.7/../../.." +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/lib" +// CHECK-DEBIAN-MIPSEL: "-L[[SYSROOT]]/usr/lib" -- cgit v1.2.3