[Lldb-commits] [PATCH] D35734: Don't allow LLDB to try and parse .debug_types
Greg Clayton via Phabricator via lldb-commits
lldb-commits at lists.llvm.org
Mon Jul 24 09:42:10 PDT 2017
clayborg added a comment.
We have been hitting this at Facebook for server apps that statically link the entire world (libc, libc++, libstdc++, all other needed shared libraries) as the debug info is too large unless -fdebug-types-section is used.
Comment at: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:501
+ // On non Apple platforms we might have .debug_types debug info that
+ // is created by using "-fdebug-types". LLDB currently will try to
+ // load this debug info, but it causes crashes during debugging when
> I think the name of the flag is "-fdebug-types-section" but it might be platform dependent.
You are correct it is -fdebug-types-section
Comment at: source/Plugins/SymbolFile/DWARF/SymbolFileDWARF.cpp:513
+ return 0;
That patch would be a lot more intrusive as we would still need to be able to parse all compile unit DIEs just so we can get to the line tables. The only way to find the line table for a compile unit is to follow the DW_AT_stmt_list attribute in each top level compile unit DIE. Also, DWARF is useless to us unless we index the DWARF, which means parsing everything in all DIEs. I would like to keep this as simple as possible to just avoid the issue for now. This make it easy to cherry pick this where needed for anyone requiring this patch.
More information about the lldb-commits