[Lldb-commits] [lldb] 0088575 - [lldb] Upstream missing FixCodeAddress in CPPLanguageRuntime (#186519)
via lldb-commits
lldb-commits at lists.llvm.org
Fri Mar 13 17:04:09 PDT 2026
Author: Jonas Devlieghere
Date: 2026-03-13T17:03:47-07:00
New Revision: 00885754d1af7b821e7ffa79248f0c3be48ec751
URL: https://github.com/llvm/llvm-project/commit/00885754d1af7b821e7ffa79248f0c3be48ec751
DIFF: https://github.com/llvm/llvm-project/commit/00885754d1af7b821e7ffa79248f0c3be48ec751.diff
LOG: [lldb] Upstream missing FixCodeAddress in CPPLanguageRuntime (#186519)
Added:
Modified:
lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
Removed:
################################################################################
diff --git a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
index 75527edca8fe4..c517ec8611932 100644
--- a/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
+++ b/lldb/source/Plugins/LanguageRuntime/CPlusPlus/CPPLanguageRuntime.cpp
@@ -250,12 +250,20 @@ CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(
lldb::addr_t vtable_address =
process->ReadPointerFromMemory(member_f_pointer_value, status);
+ ABISP abi_sp = process->GetABI();
+ if (abi_sp)
+ vtable_address = abi_sp->FixCodeAddress(vtable_address);
+
if (status.Fail())
return optional_info;
lldb::addr_t vtable_address_first_entry =
process->ReadPointerFromMemory(vtable_address + address_size, status);
+ if (abi_sp)
+ vtable_address_first_entry =
+ abi_sp->FixCodeAddress(vtable_address_first_entry);
+
if (status.Fail())
return optional_info;
@@ -265,6 +273,10 @@ CPPLanguageRuntime::FindLibCppStdFunctionCallableInfo(
lldb::addr_t possible_function_address =
process->ReadPointerFromMemory(address_after_vtable, status);
+ if (abi_sp)
+ possible_function_address =
+ abi_sp->FixCodeAddress(possible_function_address);
+
if (status.Fail())
return optional_info;
More information about the lldb-commits
mailing list