Update DYLDRendezvous and SOEntry to use FileSpecs instead of storing paths as
strings, which caused incorrect comparison results due to denormalization.
Details
Details
Diff Detail
Diff Detail
- Repository
- rL LLVM
Event Timeline
Comment Actions
LGTM. It looks like this solves PR17880 too, at least for the basic case.
I want to confirm (by code inspection or testing) that the path resolution/normalization happens within DYLDRendezvous::DYLDRendezvous, if e.g. the process does chdir prior to the dyld rendezvous.
source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp | ||
---|---|---|
410 ↗ | (On Diff #27170) | Should resolve be false since this path might be SO path on remote machine? |
source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp | ||
---|---|---|
410 ↗ | (On Diff #27170) | I think this is what's responsible for fixing PR 17880? |
source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp | ||
---|---|---|
410 ↗ | (On Diff #27170) | Oh, scratch that. This is the entry returned by the dyld rendezvous, and I think should behave the same way wrt PR 17880 if it is true or false. |