svn commit: r303031 - head/contrib/llvm/tools/clang/lib/Driver

Ed Maste emaste at FreeBSD.org
Tue Jul 19 17:15:09 UTC 2016


Author: emaste
Date: Tue Jul 19 17:15:07 2016
New Revision: 303031
URL: https://svnweb.freebsd.org/changeset/base/303031

Log:
  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.
  
  Reviewed by:	dim
  Obtained from:	Clang commit r266123
  MFC after:	3 days
  Relnotes:	yes
  Sponsored by:	The FreeBSD Foundation
  Differential Revision:	https://reviews.freebsd.org/D7250

Modified:
  head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp

Modified: head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Tue Jul 19 16:55:16 2016	(r303030)
+++ head/contrib/llvm/tools/clang/lib/Driver/Tools.cpp	Tue Jul 19 17:15:07 2016	(r303031)
@@ -7922,12 +7922,12 @@ void freebsd::Linker::ConstructJob(Compi
   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 {


More information about the svn-src-all mailing list