Skip to content

Commit a123891

Browse files
Revert "Branch island with numbers (#138781)"
This reverts commit 11f33ab. This is failing on CI.
1 parent 69a0af3 commit a123891

File tree

9 files changed

+7
-100
lines changed

9 files changed

+7
-100
lines changed

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

Lines changed: 7 additions & 25 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,23 +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 plus maybe a .digit suffix.
1034-
// They are to allow arm64 code to branch further than the size of the
1035-
// address slot allows. We just need to single-instruction step in that
1036-
// case.
1037-
static const char *g_branch_island_pattern = "\\.island\\.?[0-9]*$";
1038-
static RegularExpression g_branch_island_regex(g_branch_island_pattern);
1039-
1040-
bool is_branch_island = g_branch_island_regex.Execute(current_name);
1041-
if (!thread_plan_sp && is_branch_island) {
1042-
thread_plan_sp = std::make_shared<ThreadPlanStepInstruction>(
1043-
thread,
1044-
/* step_over= */ false, /* stop_others */ false, eVoteNoOpinion,
1045-
eVoteNoOpinion);
1046-
LLDB_LOG(log, "Stepping one instruction over branch island: '{0}'.",
1047-
current_name);
1048-
}
10491031
} else {
10501032
LLDB_LOGF(log, "Could not find symbol for step through.");
10511033
}

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

Lines changed: 0 additions & 16 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.

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

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

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

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

0 commit comments

Comments
 (0)