Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 25 Jan 2019 14:46:13 +0000 (UTC)
From:      Ed Maste <emaste@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r343429 - head/contrib/llvm/tools/clang/lib/Driver/ToolChains
Message-ID:  <201901251446.x0PEkDKi020318@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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; }



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201901251446.x0PEkDKi020318>