charles-zablit wrote:

> You have to be careful never to change the way the user spelled the module 
> for the main binary, since some tricky Unix programs work by symlinking a 
> bunch of executables to the same one and switching the behavior off the value 
> of argv[0].
> 
> With your change, if you have a binary called `foo` and a symlink to it 
> called `bar` and we first made a target with `foo`, then made a new target 
> with `bar` - the second target will now reuse the Module we read in for 
> `foo`. But we still have to ensure that when the second target is run, we 
> pass argv0 of `bar` not `foo`. I can't tell whether this change will cause us 
> to make that mistake, but it opens the window for it so we should test that 
> that still works if we don't already.

This did introduce a regression. I added a test to catch it. The fix was to 
resolve the path the user used in Target.cpp and preserve it, but I don't think 
that's a strong solution and could break elsewhere.

https://github.com/llvm/llvm-project/pull/210041
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to