forked from OSchip/llvm-project
Driver: add multilibs for ARM EB
This improves the coverage for the multilib directories used for ARM. Also add tests covering the internal triple (thumbv7-*). The Juno board can be run in this configuration. llvm-svn: 255328
This commit is contained in:
parent
dad2b8f79a
commit
20f733acc4
|
@ -3954,6 +3954,10 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|||
"/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 MIPSMultiarchIncludeDirs[] = {"/usr/include/mips-linux-gnu"};
|
||||
const StringRef MIPSELMultiarchIncludeDirs[] = {
|
||||
"/usr/include/mipsel-linux-gnu"};
|
||||
|
@ -3987,11 +3991,19 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
|
|||
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::mips:
|
||||
MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
|
||||
break;
|
||||
|
|
|
@ -0,0 +1,17 @@
|
|||
// 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-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 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-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
|
||||
|
||||
// CHECK-ARM: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabi"
|
||||
// CHECK-ARMHF: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabihf"
|
||||
// CHECK-ARMEB: "-internal-externc-isystem" "{{.*}}/usr/include/armeb-linux-gnueabi"
|
||||
// CHECK-ARMEBHF: "-internal-externc-isystem" "{{.*}}/usr/include/armeb-linux-gnueabihf"
|
||||
|
Loading…
Reference in New Issue