Re: Multi-threaded dwarf parsing

Simon Marchi
2016-02-24T20:37:28Z

On 2016-02-24 15:25, Jan Kratochvil wrote:
> On Wed, 24 Feb 2016 17:43:03 +0100, Simon Marchi wrote:
>> instead of blocking on the psymtabs creation at startup
> [...]
>> then the main code will have to block until the corresponding task is
>> complete (dwarf2_require_psymtabs).
>
> If really your concern are psymtabs then use Tom's .gdb_index:
> gdb/contrib/gdb-add-index.sh
>
> With .gdb_index GDB still has startup performance problems during full
> CU
> expansions, that is struct symtab and struct symbol. That happens with
> C++
> inferiors which have very interlinked CUs and thus expanding one CU
> means for
> GDB expanding 100+ CUs due to the inter-type dependencies which cannot
> be left
> opaque in such cases. And as each C++ CU is usually very large...

What can cause CUs to be interlinked with each other?