labath accepted this revision. labath added inline comments. This revision is now accepted and ready to land.
================ Comment at: lldb/source/Commands/CommandObjectTarget.cpp:4059 if (!module_spec.GetFileSpec() && !module_spec.GetPlatformFileSpec()) - module_spec.GetFileSpec().GetFilename() = symbol_fspec.GetFilename(); + module_spec.GetFileSpec() = symbol_fspec; } ---------------- amccarth wrote: > labath wrote: > > This does change behavior because previously the symbol file directory > > wasn't being copied. I think that was intentional because the comment on > > line 4112 says "match up the file by basename" (and it also makes sense > > because if you're adding symbols in an external file, then the main module > > file cannot be the exact same path as the symbol file). > Oops. Thanks for catching that. > > ModuleSpec seems weird: It exposes an internal members to be tweaked in > arbitrary ways. I would have expected that it would have to react to certain > kinds of changes to keep itself consistent. If it has no invariants to > enforce, it could have been a plain struct with a bunch of public member > variables. This isn't really a matter of internal consistency. Both things make sense -- sometimes you want to match an actual full path, and sometimes only the basename. That said, module spec does not have any internal consistency checks, and I don't think any are needed, so I think that replacing all the getters with public members would be a good idea. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70458/new/ https://reviews.llvm.org/D70458 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits