This is an archive of the discontinued LLVM Phabricator instance.

[asan] Do not unset DYLD_ROOT_PATH before calling atos on Darwin
ClosedPublic

Authored by zaks.anna on Jun 24 2015, 6:07 PM.

Details

Summary

We were unsetting DYLD_ROOT_PATH before calling atos on Darwin in order to address it not working for symbolicating 32 bit binaries. (atos essentially tries to respawn as a 32 bit binary and it's disallowed to respawn if DYLD_ROOT_PATH is set ... ) However, processes rely on having DYLD_ROOT_PATH set under certain conditions, so this is not the right fix. In particular, this always crashes when running ASanified process under the debugger in Xcode with iOS simulator, which is a very important workflow for us to support.

This patch reverts the unsetting of the DYLD_ROOT_PATH. The correct fix to the misbehavior on 32-bit binaries should happen inside atos.

Diff Detail

Event Timeline

zaks.anna updated this revision to Diff 28431.Jun 24 2015, 6:07 PM
zaks.anna retitled this revision from to [asan] Do not unset DYLD_ROOT_PATH before calling atos on Darwin.
zaks.anna updated this object.
zaks.anna edited the test plan for this revision. (Show Details)
zaks.anna added reviewers: samsonov, kubamracek.
zaks.anna added a subscriber: Unknown Object (MLST).
samsonov accepted this revision.Jun 24 2015, 6:12 PM
samsonov edited edge metadata.

LGTM

This revision is now accepted and ready to land.Jun 24 2015, 6:12 PM
zaks.anna closed this revision.Jun 25 2015, 6:16 PM

In r240724