jingham added a comment.

In D57552#1381094 <https://reviews.llvm.org/D57552#1381094>, @ted wrote:

> In D57552#1381046 <https://reviews.llvm.org/D57552#1381046>, @jingham wrote:
>
> > In D57552#1380782 <https://reviews.llvm.org/D57552#1380782>, @ted wrote:
> >
> > > FYI, @jingham , this is also an issue with DYLD plugins, if the file in 
> > > the link map starts with ".". "image search-paths add . 
> > > /path/to/my/libraries" fails in this case, because "./library.so" gets 
> > > changed to "library.so".
> >
> >
> > This should fix that issue as well, since image search-paths are also 
> > PathMappingLists.  I don't see any tests for this, however.  Do you have 
> > something handy you could turn into a test?
>
>
> I don't think this will fix it, because the problem happens in the initial 
> FileSpec, before we get to search-paths.
>
> From source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp, 
> DYLDRendezvous::ReadSOEntryFromMemory():
>
>   std::string file_path = ReadStringFromMemory(entry.path_addr);
>   entry.file_spec.SetFile(file_path, false, FileSpec::Style::native);
>   
>
> FileSpec::SetFile normalizes the path, which will remove a leading "./", so 
> "image search-paths add . /path/to/my/lib", which would work with 
> "./mylib.so", won't work with "mylib.so".
>
> I think I can write a test that uses LD_LIBRARY_PATH and a subdirectory so 
> the target can load "./mylib.so", but LLDB won't be able to see it without a 
> search-path.


That sounds like it will have to be fixed somewhere else, and not part of this 
patch then.  Can you file a bug to get that fixed?


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D57552/new/

https://reviews.llvm.org/D57552



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to