[all-commits] [llvm/llvm-project] d5629b: Fix rendezvous for rebase_exec=true case
Emre Kultursay via All-commits
all-commits at lists.llvm.org
Mon Sep 27 04:27:49 PDT 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d5629b5d4d41ce71703105362f58dfcdbb6cc175
https://github.com/llvm/llvm-project/commit/d5629b5d4d41ce71703105362f58dfcdbb6cc175
Author: Emre Kultursay <emrekultursay at google.com>
Date: 2021-09-27 (Mon, 27 Sep 2021)
Changed paths:
M lldb/source/Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.cpp
A lldb/test/API/functionalities/load_after_attach/Makefile
A lldb/test/API/functionalities/load_after_attach/TestLoadAfterAttach.py
A lldb/test/API/functionalities/load_after_attach/b.cpp
A lldb/test/API/functionalities/load_after_attach/main.cpp
Log Message:
-----------
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
More information about the All-commits
mailing list