Skip to content
This repository was archived by the owner on Mar 28, 2020. It is now read-only.

Commit b071a9a

Browse files
committed
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@255328 91177308-0d34-0410-b5e6-96231b3b80d8
1 parent 9d74796 commit b071a9a

File tree

6 files changed

+29
-0
lines changed
  • lib/Driver
  • test/Driver
    • Inputs
      • multilib_arm_linux_tree/usr/include/arm-linux-gnueabi
      • multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi
      • multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf
      • multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf

6 files changed

+29
-0
lines changed

lib/Driver/ToolChains.cpp

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3954,6 +3954,10 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
39543954
"/usr/include/arm-linux-gnueabi"};
39553955
const StringRef ARMHFMultiarchIncludeDirs[] = {
39563956
"/usr/include/arm-linux-gnueabihf"};
3957+
const StringRef ARMEBMultiarchIncludeDirs[] = {
3958+
"/usr/include/armeb-linux-gnueabi"};
3959+
const StringRef ARMEBHFMultiarchIncludeDirs[] = {
3960+
"/usr/include/armeb-linux-gnueabihf"};
39573961
const StringRef MIPSMultiarchIncludeDirs[] = {"/usr/include/mips-linux-gnu"};
39583962
const StringRef MIPSELMultiarchIncludeDirs[] = {
39593963
"/usr/include/mipsel-linux-gnu"};
@@ -3987,11 +3991,19 @@ void Linux::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
39873991
MultiarchIncludeDirs = AArch64MultiarchIncludeDirs;
39883992
break;
39893993
case llvm::Triple::arm:
3994+
case llvm::Triple::thumb:
39903995
if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
39913996
MultiarchIncludeDirs = ARMHFMultiarchIncludeDirs;
39923997
else
39933998
MultiarchIncludeDirs = ARMMultiarchIncludeDirs;
39943999
break;
4000+
case llvm::Triple::armeb:
4001+
case llvm::Triple::thumbeb:
4002+
if (getTriple().getEnvironment() == llvm::Triple::GNUEABIHF)
4003+
MultiarchIncludeDirs = ARMEBHFMultiarchIncludeDirs;
4004+
else
4005+
MultiarchIncludeDirs = ARMEBMultiarchIncludeDirs;
4006+
break;
39954007
case llvm::Triple::mips:
39964008
MultiarchIncludeDirs = MIPSMultiarchIncludeDirs;
39974009
break;

test/Driver/Inputs/multilib_arm_linux_tree/usr/include/arm-linux-gnueabi/.keep

Whitespace-only changes.

test/Driver/Inputs/multilib_armeb_linux_tree/usr/include/armeb-linux-gnueabi/.keep

Whitespace-only changes.

test/Driver/Inputs/multilib_armebhf_linux_tree/usr/include/armeb-linux-gnueabihf/.keep

Whitespace-only changes.

test/Driver/Inputs/multilib_armhf_linux_tree/usr/include/arm-linux-gnueabihf/.keep

Whitespace-only changes.

test/Driver/arm-multilibs.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// 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
2+
// 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
3+
4+
// 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
5+
// 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
6+
7+
// 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
8+
// 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
9+
10+
// 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
11+
// 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
12+
13+
// CHECK-ARM: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabi"
14+
// CHECK-ARMHF: "-internal-externc-isystem" "{{.*}}/usr/include/arm-linux-gnueabihf"
15+
// CHECK-ARMEB: "-internal-externc-isystem" "{{.*}}/usr/include/armeb-linux-gnueabi"
16+
// CHECK-ARMEBHF: "-internal-externc-isystem" "{{.*}}/usr/include/armeb-linux-gnueabihf"
17+

0 commit comments

Comments
 (0)