diff options
| author | Tilmann Scheller <t.scheller@samsung.com> | 2014-05-06 16:58:14 +0000 |
|---|---|---|
| committer | Tilmann Scheller <t.scheller@samsung.com> | 2014-05-06 16:58:14 +0000 |
| commit | e914bc8d46d08ba6822a93b512266a4e17e76129 (patch) | |
| tree | 2d3a39cc90aaddd6237cc3f720ab1224eda73f21 | |
| parent | c7aea40ec67592a6be8314c509a9eae807daed5f (diff) | |
| download | bcm5719-llvm-e914bc8d46d08ba6822a93b512266a4e17e76129.tar.gz bcm5719-llvm-e914bc8d46d08ba6822a93b512266a4e17e76129.zip | |
Add driver support for AArch64 Fedora.
Reviewed by Eric Christopher.
llvm-svn: 208105
7 files changed, 21 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains.cpp b/clang/lib/Driver/ToolChains.cpp index 6e741c6ab2f..98cd927ad9a 100644 --- a/clang/lib/Driver/ToolChains.cpp +++ b/clang/lib/Driver/ToolChains.cpp @@ -1320,10 +1320,11 @@ bool Generic_GCC::GCCInstallationDetector::getBiarchSibling(Multilib &M) const { // Declare a bunch of static data sets that we'll select between below. These // are specifically designed to always refer to string literals to avoid any // lifetime or initialization issues. - static const char *const AArch64LibDirs[] = { "/lib" }; + static const char *const AArch64LibDirs[] = { "/lib64", "/lib" }; static const char *const AArch64Triples[] = { "aarch64-none-linux-gnu", "aarch64-linux-gnu", - "aarch64-linux-android" }; + "aarch64-linux-android", + "aarch64-redhat-linux" }; static const char *const AArch64beLibDirs[] = { "/lib" }; static const char *const AArch64beTriples[] = { "aarch64_be-none-linux-gnu", "aarch64_be-linux-gnu" }; diff --git a/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtbegin.o b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtbegin.o new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtbegin.o diff --git a/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtend.o b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtend.o new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtend.o diff --git a/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crt1.o b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crt1.o new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crt1.o diff --git a/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crti.o b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crti.o new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crti.o diff --git a/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crtn.o b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crtn.o new file mode 100644 index 00000000000..e69de29bb2d --- /dev/null +++ b/clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crtn.o diff --git a/clang/test/Driver/linux-ld.c b/clang/test/Driver/linux-ld.c index b7dbb5a37b3..4036635847b 100644 --- a/clang/test/Driver/linux-ld.c +++ b/clang/test/Driver/linux-ld.c @@ -361,6 +361,24 @@ // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2{{/|\\\\}}crtend.o" // CHECK-FEDORA-18-ARM-HF: "{{.*}}/usr/lib/gcc/armv7hl-redhat-linux-gnueabi/4.7.2/../../../../lib{{/|\\\\}}crtn.o" // +// Check Fedora 21 on AArch64. +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=arm64-unknown-linux-gnu \ +// RUN: --sysroot=%S/Inputs/fedora_21_tree \ +// RUN: | FileCheck --check-prefix=CHECK-FEDORA-21-AARCH64 %s +// RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ +// RUN: --target=aarch64-unknown-linux-gnu \ +// RUN: --sysroot=%S/Inputs/fedora_21_tree \ +// RUN: | FileCheck --check-prefix=CHECK-FEDORA-21-AARCH64 %s +// CHECK-FEDORA-21-AARCH64: "{{.*}}ld{{(.exe)?}}" "--sysroot=[[SYSROOT:[^"]+]]" +// CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crt1.o" +// CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crti.o" +// CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0{{/|\\\\}}crtbegin.o" +// CHECK-FEDORA-21-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-redhat-linux/4.9.0" +// CHECK-FEDORA-21-AARCH64: "-L[[SYSROOT]]/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64" +// CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0{{/|\\\\}}crtend.o" +// CHECK-FEDORA-21-AARCH64: "{{.*}}/usr/lib/gcc/aarch64-redhat-linux/4.9.0/../../../../lib64{{/|\\\\}}crtn.o" +// // RUN: %clang -no-canonical-prefixes %s -### -o %t.o 2>&1 \ // RUN: --target=arm-unknown-linux-gnueabi \ // RUN: --sysroot=%S/Inputs/ubuntu_12.04_LTS_multiarch_tree \ |

