diff options
| author | Simon Atanasyan <simon@atanasyan.com> | 2014-03-04 18:37:28 +0000 |
|---|---|---|
| committer | Simon Atanasyan <simon@atanasyan.com> | 2014-03-04 18:37:28 +0000 |
| commit | 738f85a20efc53e01787a3bc71a37fedd0f585fc (patch) | |
| tree | ec6c160b460a3425e76ae3b70faa6db98ff9f424 /clang/test/Driver | |
| parent | dafffbe2beb7e69aacb9c73a9ea173bb2563867d (diff) | |
| download | bcm5719-llvm-738f85a20efc53e01787a3bc71a37fedd0f585fc.tar.gz bcm5719-llvm-738f85a20efc53e01787a3bc71a37fedd0f585fc.zip | |
[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
Diffstat (limited to 'clang/test/Driver')
16 files changed, 28 insertions, 0 deletions
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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mips-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/lib/mipsel-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/backward/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mips-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/c++/4.7/mipsel-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mips-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/include/mipsel-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mips-linux-gnu/4.7/crtbegin.o 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/gcc/mipsel-linux-gnu/4.7/crtbegin.o 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mips-linux-gnu/.keep 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 --- /dev/null +++ b/clang/test/Driver/Inputs/debian_reduced_mips_tree/usr/lib/mipsel-linux-gnu/.keep 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" |

