summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordim <dim@FreeBSD.org>2012-05-29 20:21:24 +0000
committerdim <dim@FreeBSD.org>2012-05-29 20:21:24 +0000
commit3d7265cd8102879c148defab187a106d71ed3b6d (patch)
tree202c5301edeae9483d3f8fd2d0a8428f842a7da9
parentd6062cd9dd0c7b75df177b4ee6e4da3ee1819271 (diff)
downloadFreeBSD-src-3d7265cd8102879c148defab187a106d71ed3b6d.zip
FreeBSD-src-3d7265cd8102879c148defab187a106d71ed3b6d.tar.gz
For clang, similar to r236137, enable gnu hash generation for dynamic
ELF binaries on x86.
-rw-r--r--contrib/llvm/tools/clang/lib/Driver/Tools.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
index 04fa8a1..00aa6c7 100644
--- a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
+++ b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
@@ -4760,6 +4760,9 @@ void freebsd::Link::ConstructJob(Compilation &C, const JobAction &JA,
CmdArgs.push_back("-dynamic-linker");
CmdArgs.push_back("/libexec/ld-elf.so.1");
}
+ llvm::Triple::ArchType Arch = getToolChain().getArch();
+ if (Arch == llvm::Triple::x86 || Arch == llvm::Triple::x86_64)
+ CmdArgs.push_back("--hash-style=both");
}
// When building 32-bit code on FreeBSD/amd64, we have to explicitly
OpenPOWER on IntegriCloud