Repository navigation
Tracking Issue for defaulting to DWARF 5 format #75890
Description
Activity
What new features would Rust benefit from with this?
I think one improvement would be split dwarf (#34651). I believe this would help reduce the size of executables when using the pre-compiled standard library (or at least not require stripping), and may have a performance improvement. Unfortunately it looks like there is still a long road to support that. It would be interesting to see an overview of what modern tooling supports (gcc, clang, gnu ld, lldb, gdb, etc.), since it seems like support has been spotty at best.
Reacted by tesuji, memoryruins and LifeIsStrange- addedA-LLVMArea: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.Area: Code generation parts specific to LLVM. Both correctness bugs and optimization-related issues.C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCCategory: An issue tracking the progress of sth. like the implementation of an RFC
on Oct 20, 2020 Update: LLVM Clang has switched to DWARFv5 by default.
@davidtwco friendly pingsee #98350; you can now (unstably, i.e. on nightly) opt-into DWARF5 on Linux
discussed at T-compiler steering meeting
we are not currently in a position to change all targets to DWARF5; it seems clear from issues like #98746 that support for DWARF 5 is inconsistent at best.
there is on-going work to allow one to opt-into using DWARF5, e.g. in already mentioned #98350. We should open a different tracking issue regarding offering stable support for that opt-in.
but defaulting to DWARF5 seems premature.
thus, closing this tracking issue.
Filed #103057 for the desire for a stable way to opt into DWARF5
https://www.phoronix.com/scan.php?page=news_item&px=GCC-11-DWARF-5-Possible-Default
GCC 11 will enable DWARF 5 by default.
LLVM supports should be good as many backends already enable DWARF 5 by default, such as amdgpu or fuschia.
What are the blockers if any?
I don't think there is a flag to even enable it in an opt-in manner currently?
I think this could be a great improvement to rust as it could affect debug binaries performance, size and even correctness/allow things that weren't possible before, thus enabling future lldb/Gdb features.