summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorPetr Hosek <phosek@chromium.org>2017-08-04 02:39:27 +0000
committerPetr Hosek <phosek@chromium.org>2017-08-04 02:39:27 +0000
commit83214dfb01d45aa57e3cb0b1a9314e0e3d83e281 (patch)
tree069b346bd335099c778bc847ec4573cb7e4988e2 /clang
parent02aeadcf3d431f35941c628643e919c5aa2169a1 (diff)
downloadbcm5719-llvm-83214dfb01d45aa57e3cb0b1a9314e0e3d83e281.tar.gz
bcm5719-llvm-83214dfb01d45aa57e3cb0b1a9314e0e3d83e281.zip
[Driver][Fuchsia] Pass --hash-style=gnu to the linker
The .gnu_hash format is superior, and all versions of the Fuchsia dynamic linker support it. Differential Revision: https://reviews.llvm.org/D36254 llvm-svn: 310017
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Driver/ToolChains/Fuchsia.cpp6
-rw-r--r--clang/test/Driver/fuchsia.c1
2 files changed, 5 insertions, 2 deletions
diff --git a/clang/lib/Driver/ToolChains/Fuchsia.cpp b/clang/lib/Driver/ToolChains/Fuchsia.cpp
index a825c382711..368a8bc998e 100644
--- a/clang/lib/Driver/ToolChains/Fuchsia.cpp
+++ b/clang/lib/Driver/ToolChains/Fuchsia.cpp
@@ -64,10 +64,12 @@ void fuchsia::Linker::ConstructJob(Compilation &C, const JobAction &JA,
if (Args.hasArg(options::OPT_s))
CmdArgs.push_back("-s");
- if (Args.hasArg(options::OPT_r))
+ if (Args.hasArg(options::OPT_r)) {
CmdArgs.push_back("-r");
- else
+ } else {
CmdArgs.push_back("--build-id");
+ CmdArgs.push_back("--hash-style=gnu");
+ }
CmdArgs.push_back("--eh-frame-hdr");
diff --git a/clang/test/Driver/fuchsia.c b/clang/test/Driver/fuchsia.c
index 73154fb4f15..5b61bf424f5 100644
--- a/clang/test/Driver/fuchsia.c
+++ b/clang/test/Driver/fuchsia.c
@@ -9,6 +9,7 @@
// CHECK: "--sysroot=[[SYSROOT]]"
// CHECK: "-pie"
// CHECK: "--build-id"
+// CHECK: "--hash-style=gnu"
// CHECK: "-dynamic-linker" "ld.so.1"
// CHECK: Scrt1.o
// CHECK-NOT: crti.o
OpenPOWER on IntegriCloud