A *.dwo file itself can have DW_AT_GNU_dwo_name (but no DW_AT_comp_dir)
(clang 4.0 generates such DWOs). In this case there is no need to try to get a new module,
and, more over, if we try (below) the method ModuleList::GetSharedModule will return
an error + nullptr since the path is ill-formed (because comp_dir is null (since DW_AT_comp_dir is not present)).
Test plan: built a toy example + "br set --name f" + ... + "p LocalVariable" (lldb will search recursively for types and will call UpdateExternalModuleListIfNeeded)
So this is checking if the extension is ".dwo" and if the object file's path is the same as the .dwo file's path? Can you give an example of what fails? I'm having a hard time understanding what this is doing. Skipping a dwo file because it doesn't have a DW_AT_comp_dir? If the DW_AT_GNU_dwo_name is relative, then there really should be a DW_AT_comp_dir. Otherwise unless we run from the directory things are relative to, we don't find the .dwo file.