Author: emaste
Date: Fri Jan 25 14:46:13 2019
New Revision: 343429
URL: https://svnweb.freebsd.org/changeset/base/343429

Log:
  clang: default to DWARF 4 as of FreeBSD 13
  
  FreeBSD previously defaulted to DWARF 2 because several tools (gdb,
  ctfconvert, etc.) did not support later versions.  These have either
  been fixed or are deprecated.
  
  Note that gdb 6 still exists but has been moved out of $PATH into
  /usr/libexec and is intended only for use by crashinfo(8).  The kernel
  build sets the DWARF version explicitly via -gdwarf2, so this should
  have no effect there.
  
  PR:           234887 [exp-run]
  Reviewed by:  markj
  Sponsored by: The FreeBSD Foundation
  Differential Revision:        https://reviews.freebsd.org/D17930

Modified:
  head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp
  head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.h

Modified: head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp     Fri Jan 
25 13:57:09 2019        (r343428)
+++ head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.cpp     Fri Jan 
25 14:46:13 2019        (r343429)
@@ -357,6 +357,13 @@ ToolChain::CXXStdlibType FreeBSD::GetDefaultCXXStdlibT
   return ToolChain::CST_Libstdcxx;
 }
 
+unsigned FreeBSD::GetDefaultDwarfVersion() const {
+  // Default to use DWARF 2 before FreeBSD 13.
+  if (getTriple().getOSMajorVersion() < 13)
+    return 2;
+  return 4;
+}
+
 void FreeBSD::addLibStdCxxIncludePaths(
     const llvm::opt::ArgList &DriverArgs,
     llvm::opt::ArgStringList &CC1Args) const {

Modified: head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.h
==============================================================================
--- head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.h       Fri Jan 
25 13:57:09 2019        (r343428)
+++ head/contrib/llvm/tools/clang/lib/Driver/ToolChains/FreeBSD.h       Fri Jan 
25 14:46:13 2019        (r343429)
@@ -70,7 +70,7 @@ class LLVM_LIBRARY_VISIBILITY FreeBSD : public Generic
       const llvm::opt::ArgList &Args) const override;
   bool isPIEDefault() const override;
   SanitizerMask getSupportedSanitizers() const override;
-  unsigned GetDefaultDwarfVersion() const override { return 2; }
+  unsigned GetDefaultDwarfVersion() const override;
   // Until dtrace (via CTF) and LLDB can deal with distributed debug info,
   // FreeBSD defaults to standalone/full debug info.
   bool GetDefaultStandaloneDebug() const override { return true; }
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to