diff options
author | emaste <emaste@FreeBSD.org> | 2016-07-22 12:55:31 +0000 |
---|---|---|
committer | emaste <emaste@FreeBSD.org> | 2016-07-22 12:55:31 +0000 |
commit | cb93e799b1349390dc8d665fbe5c78a7e2111668 (patch) | |
tree | 5b056851a4dece5d30a14fd5647e10dec795de10 /contrib | |
parent | 4c5eac9e1f4ae86ab381dae87cdb1c413b4eb2a7 (diff) | |
download | FreeBSD-src-cb93e799b1349390dc8d665fbe5c78a7e2111668.zip FreeBSD-src-cb93e799b1349390dc8d665fbe5c78a7e2111668.tar.gz |
MFC r303031: clang++: Always use --eh-frame-hdr on FreeBSD, even for -static
FreeBSD uses LLVM's libunwind on FreeBSD/arm64 today (and we expect to
use it more widely in the future) and it requires the EH frame segment
in static binaries.
Approved by: re (kib)
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/llvm/tools/clang/lib/Driver/Tools.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp index 0522d46..b139cd4 100644 --- a/contrib/llvm/tools/clang/lib/Driver/Tools.cpp +++ b/contrib/llvm/tools/clang/lib/Driver/Tools.cpp @@ -7922,12 +7922,12 @@ void freebsd::Linker::ConstructJob(Compilation &C, const JobAction &JA, if (IsPIE) CmdArgs.push_back("-pie"); + CmdArgs.push_back("--eh-frame-hdr"); if (Args.hasArg(options::OPT_static)) { CmdArgs.push_back("-Bstatic"); } else { if (Args.hasArg(options::OPT_rdynamic)) CmdArgs.push_back("-export-dynamic"); - CmdArgs.push_back("--eh-frame-hdr"); if (Args.hasArg(options::OPT_shared)) { CmdArgs.push_back("-Bshareable"); } else { |