From 874bdc8e61662b5f39a9626b9132e0979fae556f Mon Sep 17 00:00:00 2001 From: Fangrui Song Date: Sun, 21 Mar 2021 22:40:38 -0700 Subject: [PATCH] [Driver] Clean up Debian multiarch /usr/include/ madness Debian multiarch additionally adds /usr/include/ and somehow Android borrowed the idea. (Note /usr//include is already an include dir...). On Debian, we should just assume a GCC installation is available and use its triple. --- clang/lib/Driver/ToolChains/Gnu.cpp | 2 - clang/lib/Driver/ToolChains/Linux.cpp | 174 ++------------------- .../lib/arm-linux-gnueabi/crt1.o} | 0 .../lib/arm-linux-gnueabi/crti.o} | 0 .../lib/arm-linux-gnueabi/crtn.o} | 0 .../lib/arm-linux-gnueabihf/crt1.o | 0 .../lib/arm-linux-gnueabihf/crti.o | 0 .../lib/arm-linux-gnueabihf/crtn.o | 0 .../lib/armeb-linux-gnueabi/crt1.o | 0 .../lib/armeb-linux-gnueabi/crti.o | 0 .../lib/armeb-linux-gnueabi/crtn.o | 0 .../lib/armeb-linux-gnueabihf/crt1.o | 0 .../lib/armeb-linux-gnueabihf/crti.o | 0 .../lib/armeb-linux-gnueabihf/crtn.o | 0 .../lib/gcc/arm-linux-gnueabi/10/crtbegin.o | 0 .../lib/gcc/arm-linux-gnueabihf/10/crtbegin.o | 0 .../lib/gcc/armeb-linux-gnueabi/10/crtbegin.o | 0 .../lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o | 0 .../usr/include/arm-linux-gnueabihf/.keep | 0 .../usr/include/armeb-linux-gnueabi/.keep | 0 .../usr/include/armeb-linux-gnueabihf/.keep | 0 clang/test/Driver/arm-multilibs.c | 16 +- 22 files changed, 17 insertions(+), 175 deletions(-) rename clang/test/Driver/Inputs/{multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep => multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o} (100%) rename clang/test/Driver/Inputs/{multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep => multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o} (100%) rename clang/test/Driver/Inputs/{multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep => multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o} (100%) create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep create mode 100644 clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep diff --git a/clang/lib/Driver/ToolChains/Gnu.cpp b/clang/lib/Driver/ToolChains/Gnu.cpp index c554047..972044f 100644 --- a/clang/lib/Driver/ToolChains/Gnu.cpp +++ b/clang/lib/Driver/ToolChains/Gnu.cpp @@ -2999,8 +2999,6 @@ Generic_GCC::addGCCLibStdCxxIncludePaths(const llvm::opt::ArgList &DriverArgs, const Multilib &Multilib = GCCInstallation.getMultilib(); const std::string Triple = getMultiarchTriple( getDriver(), GCCInstallation.getTriple(), getDriver().SysRoot); - const std::string TargetMultiarchTriple = - getMultiarchTriple(getDriver(), getTriple(), getDriver().SysRoot); const GCCVersion &Version = GCCInstallation.getVersion(); // Try /../$triple/include/c++/$version then /../include/c++/$version. diff --git a/clang/lib/Driver/ToolChains/Linux.cpp b/clang/lib/Driver/ToolChains/Linux.cpp index cbfa515..e889791 100644 --- a/clang/lib/Driver/ToolChains/Linux.cpp +++ b/clang/lib/Driver/ToolChains/Linux.cpp @@ -604,172 +604,16 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs, return; } - // Implement generic Debian multiarch support. - const StringRef X86_64MultiarchIncludeDirs[] = { - "/usr/include/x86_64-linux-gnu", - - // FIXME: These are older forms of multiarch. It's not clear that they're - // in use in any released version of Debian, so we should consider - // removing them. - "/usr/include/i686-linux-gnu/64", "/usr/include/i486-linux-gnu/64"}; - const StringRef X86MultiarchIncludeDirs[] = { - "/usr/include/i386-linux-gnu", - - // FIXME: These are older forms of multiarch. It's not clear that they're - // in use in any released version of Debian, so we should consider - // removing them. - "/usr/include/x86_64-linux-gnu/32", "/usr/include/i686-linux-gnu", - "/usr/include/i486-linux-gnu"}; - const StringRef AArch64MultiarchIncludeDirs[] = { - "/usr/include/aarch64-linux-gnu"}; - const StringRef ARMMultiarchIncludeDirs[] = { - "/usr/include/arm-linux-gnueabi"}; - const StringRef ARMHFMultiarchIncludeDirs[] = { - "/usr/include/arm-linux-gnueabihf"}; - const StringRef ARMEBMultiarchIncludeDirs[] = { - "/usr/include/armeb-linux-gnueabi"}; - const StringRef ARMEBHFMultiarchIncludeDirs[] = { - "/usr/include/armeb-linux-gnueabihf"}; - const StringRef M68kMultiarchIncludeDirs[] = {"/usr/include/m68k-linux-gnu"}; - const StringRef MIPSMultiarchIncludeDirs[] = {"/usr/include/mips-linux-gnu"}; - const StringRef MIPSELMultiarchIncludeDirs[] = { - "/usr/include/mipsel-linux-gnu"}; - const StringRef MIPS64MultiarchIncludeDirs[] = { - "/usr/include/mips64-linux-gnuabi64"}; - const StringRef MIPS64ELMultiarchIncludeDirs[] = { - "/usr/include/mips64el-linux-gnuabi64"}; - const StringRef MIPSN32MultiarchIncludeDirs[] = { - "/usr/include/mips64-linux-gnuabin32"}; - const StringRef MIPSN32ELMultiarchIncludeDirs[] = { - "/usr/include/mips64el-linux-gnuabin32"}; - const StringRef MIPSR6MultiarchIncludeDirs[] = { - "/usr/include/mipsisa32-linux-gnu"}; - const StringRef MIPSR6ELMultiarchIncludeDirs[] = { - "/usr/include/mipsisa32r6el-linux-gnu"}; - const StringRef MIPS64R6MultiarchIncludeDirs[] = { - "/usr/include/mipsisa64r6-linux-gnuabi64"}; - const StringRef MIPS64R6ELMultiarchIncludeDirs[] = { - "/usr/include/mipsisa64r6el-linux-gnuabi64"}; - const StringRef MIPSN32R6MultiarchIncludeDirs[] = { - "/usr/include/mipsisa64r6-linux-gnuabin32"}; - const StringRef MIPSN32R6ELMultiarchIncludeDirs[] = { - "/usr/include/mipsisa64r6el-linux-gnuabin32"}; - const StringRef PPCMultiarchIncludeDirs[] = { - "/usr/include/powerpc-linux-gnu", - "/usr/include/powerpc-linux-gnuspe"}; - const StringRef PPCLEMultiarchIncludeDirs[] = { - "/usr/include/powerpcle-linux-gnu"}; - const StringRef PPC64MultiarchIncludeDirs[] = { - "/usr/include/powerpc64-linux-gnu"}; - const StringRef PPC64LEMultiarchIncludeDirs[] = { - "/usr/include/powerpc64le-linux-gnu"}; - const StringRef SparcMultiarchIncludeDirs[] = { - "/usr/include/sparc-linux-gnu"}; - const StringRef Sparc64MultiarchIncludeDirs[] = { - "/usr/include/sparc64-linux-gnu"}; - const StringRef SYSTEMZMultiarchIncludeDirs[] = { - "/usr/include/s390x-linux-gnu"}; - ArrayRef MultiarchIncludeDirs; - switch (getTriple().getArch()) { - case llvm::Triple::x86_64: - MultiarchIncludeDirs = X86_64MultiarchIncludeDirs; - break; - case llvm::Triple::x86: - MultiarchIncludeDirs = X86MultiarchIncludeDirs; - break; - case llvm::Triple::aarch64: - case llvm::Triple::aarch64_be: - MultiarchIncludeDirs = AArch64MultiarchIncludeDirs; - break; - case llvm::Triple::arm: - case llvm::Triple::thumb: - if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) - MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs; - else - MultiarchIncludeDirs = ARMMultiarchIncludeDirs; - break; - case llvm::Triple::armeb: - case llvm::Triple::thumbeb: - if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF) - MultiarchIncludeDirs = ARMEBHFMultiarchIncludeDirs; - else - MultiarchIncludeDirs = ARMEBMultiarchIncludeDirs; - break; - case llvm::Triple::m68k: - MultiarchIncludeDirs = M68kMultiarchIncludeDirs; - break; - case llvm::Triple::mips: - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) - MultiarchIncludeDirs = MIPSR6MultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPSMultiarchIncludeDirs; - break; - case llvm::Triple::mipsel: - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) - MultiarchIncludeDirs = MIPSR6ELMultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPSELMultiarchIncludeDirs; - break; - case llvm::Triple::mips64: - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) - if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) - MultiarchIncludeDirs = MIPSN32R6MultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPS64R6MultiarchIncludeDirs; - else if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) - MultiarchIncludeDirs = MIPSN32MultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPS64MultiarchIncludeDirs; - break; - case llvm::Triple::mips64el: - if (getTriple().getSubArch() == llvm::Triple::MipsSubArch_r6) - if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) - MultiarchIncludeDirs = MIPSN32R6ELMultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPS64R6ELMultiarchIncludeDirs; - else if (getTriple().getEnvironment() == llvm::Triple::GNUABIN32) - MultiarchIncludeDirs = MIPSN32ELMultiarchIncludeDirs; - else - MultiarchIncludeDirs = MIPS64ELMultiarchIncludeDirs; - break; - case llvm::Triple::ppc: - MultiarchIncludeDirs = PPCMultiarchIncludeDirs; - break; - case llvm::Triple::ppcle: - MultiarchIncludeDirs = PPCLEMultiarchIncludeDirs; - break; - case llvm::Triple::ppc64: - MultiarchIncludeDirs = PPC64MultiarchIncludeDirs; - break; - case llvm::Triple::ppc64le: - MultiarchIncludeDirs = PPC64LEMultiarchIncludeDirs; - break; - case llvm::Triple::sparc: - MultiarchIncludeDirs = SparcMultiarchIncludeDirs; - break; - case llvm::Triple::sparcv9: - MultiarchIncludeDirs = Sparc64MultiarchIncludeDirs; - break; - case llvm::Triple::systemz: - MultiarchIncludeDirs = SYSTEMZMultiarchIncludeDirs; - break; - default: - break; - } - - const std::string AndroidMultiarchIncludeDir = - std::string("/usr/include/") + - getMultiarchTriple(D, getTriple(), SysRoot); - const StringRef AndroidMultiarchIncludeDirs[] = {AndroidMultiarchIncludeDir}; + // On Android and Debian, add /usr/include/$triple if exists. On Debian, we + // can assume a GCC installation is available. + std::string MultiarchIncludeDir; if (getTriple().isAndroid()) - MultiarchIncludeDirs = AndroidMultiarchIncludeDirs; - - for (StringRef Dir : MultiarchIncludeDirs) { - if (D.getVFS().exists(SysRoot + Dir)) { - addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + Dir); - break; - } - } + MultiarchIncludeDir = getMultiarchTriple(D, getTriple(), SysRoot); + else if (GCCInstallation.isValid()) + MultiarchIncludeDir = GCCInstallation.getTriple().str(); + if (!MultiarchIncludeDir.empty() && + D.getVFS().exists(SysRoot + "/usr/include/" + MultiarchIncludeDir)) + addExternCSystemInclude(DriverArgs, CC1Args, SysRoot + "/usr/include/" + MultiarchIncludeDir); if (getTriple().getOS() == llvm::Triple::RTEMS) return; diff --git a/clang/test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o similarity index 100% rename from clang/test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep rename to clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crt1.o diff --git a/clang/test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o similarity index 100% rename from clang/test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep rename to clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crti.o diff --git a/clang/test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o similarity index 100% rename from clang/test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep rename to clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabi/crtn.o diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crt1.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crti.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/arm-linux-gnueabihf/crtn.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crt1.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crti.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabi/crtn.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crt1.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crti.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/armeb-linux-gnueabihf/crtn.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabi/10/crtbegin.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/arm-linux-gnueabihf/10/crtbegin.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabi/10/crtbegin.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o b/clang/test/Driver/Inputs/multilib_arm_linux_tree/lib/gcc/armeb-linux-gnueabihf/10/crtbegin.o new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabihf/.keep new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabi/.keep new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep b/clang/test/Driver/Inputs/multilib_arm_linux_tree/usr/include/armeb-linux-gnueabihf/.keep new file mode 100644 index 0000000..e69de29 diff --git a/clang/test/Driver/arm-multilibs.c b/clang/test/Driver/arm-multilibs.c index bd9c80e..3ec9ea0 100644 --- a/clang/test/Driver/arm-multilibs.c +++ b/clang/test/Driver/arm-multilibs.c @@ -1,14 +1,14 @@ -// RUN: %clang -target armv7-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARM %s -// RUN: %clang -target thumbv7-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARM %s +// RUN: %clang --target=armv7-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s +// RUN: %clang --target=thumbv7-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARM %s -// RUN: %clang -target armv7-linux-gnueabihf --sysroot=%S/Inputs/multilib_armhf_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMHF %s -// RUN: %clang -target thumbv7-linux-gnueabihf --sysroot=%S/Inputs/multilib_armhf_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMHF %s +// RUN: %clang --target=armv7-linux-gnueabihf --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMHF %s +// RUN: %clang --target=thumbv7-linux-gnueabihf --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMHF %s -// RUN: %clang -target armv7eb-linux-gnueabi --sysroot=%S/Inputs/multilib_armeb_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMEB %s -// RUN: %clang -target thumbv7eb-linux-gnueabi --sysroot=%S/Inputs/multilib_armeb_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMEB %s +// RUN: %clang --target=armv7eb-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMEB %s +// RUN: %clang --target=thumbv7eb-linux-gnueabi --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMEB %s -// RUN: %clang -target armv7eb-linux-gnueabihf --sysroot=%S/Inputs/multilib_armebhf_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMEBHF %s -// RUN: %clang -target thumbv7eb-linux-gnueabihf --sysroot=%S/Inputs/multilib_armebhf_linux_tree -### -c %s -o /dev/null 2>&1 | FileCheck -check-prefix CHECK-ARMEBHF %s +// RUN: %clang --target=armv7eb-linux-gnueabihf --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMEBHF %s +// RUN: %clang --target=thumbv7eb-linux-gnueabihf --sysroot=%S/Inputs/multilib_arm_linux_tree -### -c %s 2>&1 | FileCheck --check-prefix=CHECK-ARMEBHF %s // CHECK-ARM: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabi" // CHECK-ARMHF: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabihf" -- 2.7.4