summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTilmann Scheller <t.scheller@samsung.com>2014-05-06 16:58:14 +0000
committerTilmann Scheller <t.scheller@samsung.com>2014-05-06 16:58:14 +0000
commite914bc8d46d08ba6822a93b512266a4e17e76129 (patch)
tree2d3a39cc90aaddd6237cc3f720ab1224eda73f21
parentc7aea40ec67592a6be8314c509a9eae807daed5f (diff)
downloadbcm5719-llvm-e914bc8d46d08ba6822a93b512266a4e17e76129.tar.gz
bcm5719-llvm-e914bc8d46d08ba6822a93b512266a4e17e76129.zip
Add driver support for AArch64 Fedora.
Reviewed by Eric Christopher. llvm-svn: 208105
-rw-r--r--clang/lib/Driver/ToolChains.cpp5
-rw-r--r--clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtbegin.o0
-rw-r--r--clang/test/Driver/Inputs/fedora_21_tree/usr/lib/gcc/aarch64-redhat-linux/4.9.0/crtend.o0
-rw-r--r--clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crt1.o0
-rw-r--r--clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crti.o0
-rw-r--r--clang/test/Driver/Inputs/fedora_21_tree/usr/lib64/crtn.o0
-rw-r--r--clang/test/Driver/linux-ld.c18
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 \
OpenPOWER on IntegriCloud