Page MenuHomePhabricator

Fix TestNamespace and TestThreadJump for remote Windows to Android.
ClosedPublic

Authored by chaoren on Jun 4 2015, 7:39 PM.

Details

Summary

Update DYLDRendezvous and SOEntry to use FileSpecs instead of storing paths as
strings, which caused incorrect comparison results due to denormalization.

Diff Detail

Repository
rL LLVM

Event Timeline

chaoren updated this revision to Diff 27170.Jun 4 2015, 7:39 PM
chaoren retitled this revision from to Fix TestNamespace and TestThreadJump for remote Windows to Android..
chaoren updated this object.
chaoren edited the test plan for this revision. (Show Details)
chaoren added a reviewer: clayborg.
chaoren added a subscriber: Unknown Object (MLST).
emaste added a subscriber: emaste.Jun 5 2015, 10:58 AM

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.

jwolfe added a subscriber: jwolfe.Jun 5 2015, 12:29 PM
ovyalov added inline comments.Jun 5 2015, 1:08 PM
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?

emaste added inline comments.Jun 5 2015, 2:07 PM
source/Plugins/DynamicLoader/POSIX-DYLD/DYLDRendezvous.cpp
410 ↗(On Diff #27170)

I think this is what's responsible for fixing PR 17880?

emaste added inline comments.Jun 5 2015, 2:10 PM
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.

chaoren updated this revision to Diff 27234.Jun 5 2015, 2:55 PM
  • Address review comments.
ovyalov accepted this revision.Jun 5 2015, 3:04 PM
ovyalov edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jun 5 2015, 3:04 PM
This revision was automatically updated to reflect the committed changes.