[Lldb-commits] [PATCH] D48393: Make DWARFParsing more thread-safe

Pavel Labath via lldb-commits lldb-commits at lists.llvm.org
Fri Jun 22 04:05:07 PDT 2018

On Wed, 20 Jun 2018 at 23:21, Jim Ingham <jingham at apple.com> wrote:
> It is not uncommon that you would be parsing the DWARF for module A and find a type that is only known as a forward declaration.  In that case, lldb will look through the other Modules' debug info for a real definition, parse that and import it into module A.  So you would need to suspend one task, start another and wait on its completion.

Taking a step back, I was wondering what are the situations when we do
this kind of cross-module debug info importing? I was under the
impression that we don't do this kind importing precisely because the
module can be shared between multiple targets (and we don't want
information from a module which is not loaded in a given target to
leak into it just because we happen to have a different target with
that module around). I think these kinds of things came up during the
discussions about why lldb behaves poorly under -fno-standalone-debug.

Am I misunderstanding something here? Because if this is true (parsing
debug info in a given module does not access other modules), then
maybe we could solve this by just taking some kind of a module lock
when parsing debug info in the given module.

More information about the lldb-commits mailing list