HomePhabricator

Fix rendezvous for rebase_exec=true case

Authored by emrekultursay on Sep 27 2021, 3:56 AM.

Description

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

Details

Committed
labathSep 27 2021, 4:27 AM
Reviewer
labath
Differential Revision
D109797: Fix rendezvous for rebase_exec=true case
Parents
rG7424deb74331: [X86][Costmodel] Load/store i16 Stride=2 VF=32 interleaving costs
Branches
Unknown
Tags
Unknown