Skip to content

Commit 4827887

Browse files
jiminghamGeorgeARM
authored andcommitted
Revert "Handle step-in over a Darwin "branch island". (llvm#138330)" (llvm#138569)
This reverts commit 1ba89ad. This was failing on the Green Dragon bot, which has an older OS than have on hand, so I'll have to dig up one and see why it's failing there.
1 parent 1a892c7 commit 4827887

File tree

7 files changed

+7
-86
lines changed

7 files changed

+7
-86
lines changed

lldb/source/Plugins/DynamicLoader/MacOSX-DYLD/DynamicLoaderDarwin.cpp

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@
2626
#include "lldb/Target/Thread.h"
2727
#include "lldb/Target/ThreadPlanCallFunction.h"
2828
#include "lldb/Target/ThreadPlanRunToAddress.h"
29-
#include "lldb/Target/ThreadPlanStepInstruction.h"
3029
#include "lldb/Utility/DataBuffer.h"
3130
#include "lldb/Utility/DataBufferHeap.h"
3231
#include "lldb/Utility/LLDBLog.h"
@@ -924,15 +923,15 @@ DynamicLoaderDarwin::GetStepThroughTrampolinePlan(Thread &thread,
924923
if (current_symbol != nullptr) {
925924
std::vector<Address> addresses;
926925

927-
ConstString current_name =
928-
current_symbol->GetMangled().GetName(Mangled::ePreferMangled);
929926
if (current_symbol->IsTrampoline()) {
927+
ConstString trampoline_name =
928+
current_symbol->GetMangled().GetName(Mangled::ePreferMangled);
930929

931-
if (current_name) {
930+
if (trampoline_name) {
932931
const ModuleList &images = target_sp->GetImages();
933932

934933
SymbolContextList code_symbols;
935-
images.FindSymbolsWithNameAndType(current_name, eSymbolTypeCode,
934+
images.FindSymbolsWithNameAndType(trampoline_name, eSymbolTypeCode,
936935
code_symbols);
937936
for (const SymbolContext &context : code_symbols) {
938937
Address addr = context.GetFunctionOrSymbolAddress();
@@ -946,8 +945,8 @@ DynamicLoaderDarwin::GetStepThroughTrampolinePlan(Thread &thread,
946945
}
947946

948947
SymbolContextList reexported_symbols;
949-
images.FindSymbolsWithNameAndType(current_name, eSymbolTypeReExported,
950-
reexported_symbols);
948+
images.FindSymbolsWithNameAndType(
949+
trampoline_name, eSymbolTypeReExported, reexported_symbols);
951950
for (const SymbolContext &context : reexported_symbols) {
952951
if (context.symbol) {
953952
Symbol *actual_symbol =
@@ -969,7 +968,7 @@ DynamicLoaderDarwin::GetStepThroughTrampolinePlan(Thread &thread,
969968
}
970969

971970
SymbolContextList indirect_symbols;
972-
images.FindSymbolsWithNameAndType(current_name, eSymbolTypeResolver,
971+
images.FindSymbolsWithNameAndType(trampoline_name, eSymbolTypeResolver,
973972
indirect_symbols);
974973

975974
for (const SymbolContext &context : indirect_symbols) {
@@ -1029,18 +1028,6 @@ DynamicLoaderDarwin::GetStepThroughTrampolinePlan(Thread &thread,
10291028
thread_plan_sp = std::make_shared<ThreadPlanRunToAddress>(
10301029
thread, load_addrs, stop_others);
10311030
}
1032-
// One more case we have to consider is "branch islands". These are regular
1033-
// TEXT symbols but their names end in .island. They are to allow arm64
1034-
// code to branch further than the size of the address slot allows. We
1035-
// just need to single-instruction step in that case.
1036-
if (!thread_plan_sp && current_name.GetStringRef().ends_with(".island")) {
1037-
thread_plan_sp = std::make_shared<ThreadPlanStepInstruction>(
1038-
thread,
1039-
/* step_over= */ false, /* stop_others */ false, eVoteNoOpinion,
1040-
eVoteNoOpinion);
1041-
LLDB_LOG(log, "Stepping one instruction over branch island: '{0}'.",
1042-
current_name);
1043-
}
10441031
} else {
10451032
LLDB_LOGF(log, "Could not find symbol for step through.");
10461033
}

lldb/test/API/macosx/branch-islands/Makefile

Lines changed: 0 additions & 13 deletions
This file was deleted.

lldb/test/API/macosx/branch-islands/TestBranchIslands.py

Lines changed: 0 additions & 35 deletions
This file was deleted.

lldb/test/API/macosx/branch-islands/foo.c

Lines changed: 0 additions & 6 deletions
This file was deleted.

lldb/test/API/macosx/branch-islands/main.c

Lines changed: 0 additions & 6 deletions
This file was deleted.

lldb/test/API/macosx/branch-islands/padding1.s

Lines changed: 0 additions & 3 deletions
This file was deleted.

lldb/test/API/macosx/branch-islands/padding2.s

Lines changed: 0 additions & 3 deletions
This file was deleted.

0 commit comments

Comments
 (0)