diff options
author | Emre Kultursay <emrekultursay@google.com> | 2021-09-27 12:56:53 +0200 |
---|---|---|
committer | Pavel Labath <pavel@labath.sk> | 2021-09-27 13:27:27 +0200 |
commit | d5629b5d4d41ce71703105362f58dfcdbb6cc175 (patch) | |
tree | aa6200204c3b4c540c09db8245d733dbd957fb76 /llvm/lib/Transforms/Utils/Local.cpp | |
parent | 7424deb7433180ecb1c4722259f151c5c252be64 (diff) | |
download | llvm-d5629b5d4d41ce71703105362f58dfcdbb6cc175.zip llvm-d5629b5d4d41ce71703105362f58dfcdbb6cc175.tar.gz llvm-d5629b5d4d41ce71703105362f58dfcdbb6cc175.tar.bz2 |
Fix rendezvous for rebase_exec=true case
When rebase_exec=true in DidAttach(), all modules are loaded
before the rendezvous breakpoint is set, which means the
LoadInterpreterModule() method is not called and m_interpreter_module
is not initialized.
This causes the very first rendezvous breakpoint hit with
m_initial_modules_added=false to accidentally unload the
module_sp that corresponds to the dynamic loader.
This bug (introduced in D92187) was causing the rendezvous
mechanism to not work in Android 28. The mechanism works
fine on older/newer versions of Android.
Test: Verified rendezvous on Android 28 and 29
Test: Added dlopen test
Reviewed By: labath
Differential Revision: https://reviews.llvm.org/D109797
Diffstat (limited to 'llvm/lib/Transforms/Utils/Local.cpp')
0 files changed, 0 insertions, 0 deletions