[DebugInfo] Allow GNU macro extension to be emitted
Allow the GNU .debug_macro extension to be emitted for DWARF versions earlier than 5. The extension is basically what became DWARF 5's format, except that a DW_AT_GNU_macros attribute is emitted, and some entries like the strx entries are missing. In this patch I emit GNU's indirect entries, which are the same as DWARF 5's strp entries. This patch adds the extension behind a hidden LLVM flag, -use-gnu-debug-macro. I would later want to enable it by default when tuning for GDB and targeting DWARF versions earlier than 5. The size of a Clang 8.0 binary built with RelWithDebInfo and the flags "-gdwarf-4 -fdebug-macro" reduces from 1533 MB to 1349 MB with .debug_macro (compared to 1296 MB without -fdebug-macro). Reviewed By: SouraVX, dblaikie Differential Revision: https://reviews.llvm.org/D82975
Loading
Please sign in to comment