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
This commit is contained in:
parent
7dc90a1de0
commit
ade4db4d04
@ -357,6 +357,13 @@ ToolChain::CXXStdlibType FreeBSD::GetDefaultCXXStdlibType() const {
|
||||
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 {
|
||||
|
@ -70,7 +70,7 @@ public:
|
||||
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; }
|
||||
|
Loading…
x
Reference in New Issue
Block a user