Skip to content

Commit f247430

Browse files
committed
[SharedCache] Fix un-updated symbols list
There was a second BeginBulkModifySymbols after rebasing the new processing symbols commit
1 parent 5553126 commit f247430

File tree

1 file changed

+10
-11
lines changed

1 file changed

+10
-11
lines changed

view/sharedcache/core/SharedCache.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2357,11 +2357,11 @@ void SharedCache::ProcessSymbols(std::shared_ptr<MMappedFileAccessor> file, cons
23572357
if ((nlist.n_desc & N_ARM_THUMB_DEF) == N_ARM_THUMB_DEF)
23582358
symbolAddress++;
23592359

2360-
Ref<Symbol> sym = new Symbol(symbolType.value(), symbolName, symbolAddress, GlobalBinding);
2360+
Ref<Symbol> sym = new Symbol(symbolType.value(), symbolName, symbolAddress, nullptr, GlobalBinding);
23612361
symbolList.emplace_back(sym);
23622362
}
23632363

2364-
auto symListPtr = std::make_shared<std::vector<Ref<Symbol>>>(symbolList);
2364+
auto symListPtr = std::make_shared<std::vector<Ref<Symbol>>>(std::move(symbolList));
23652365
m_modifiedState->symbolInfos.emplace(header.textBase, symListPtr);
23662366
}
23672367

@@ -2376,18 +2376,18 @@ void SharedCache::ApplySymbol(Ref<BinaryView> view, Ref<TypeLibrary> typeLib, Re
23762376
func = view->AddFunctionForAnalysis(targetPlatform, symbolAddress);
23772377
}
23782378

2379-
if (!typeLib)
2379+
if (typeLib)
23802380
{
2381-
// No type library just define the symbol.
2382-
view->DefineAutoSymbol(symbol);
2383-
return;
2381+
auto type = m_dscView->ImportTypeLibraryObject(typeLib, {symbol->GetFullName()});
2382+
if (type)
2383+
view->DefineAutoSymbolAndVariableOrFunction(view->GetDefaultPlatform(), symbol, type);
2384+
else
2385+
view->DefineAutoSymbol(symbol);
23842386
}
2385-
2386-
auto type = m_dscView->ImportTypeLibraryObject(typeLib, {symbol->GetFullName()});
2387-
if (type)
2388-
view->DefineAutoSymbolAndVariableOrFunction(view->GetDefaultPlatform(), symbol, type);
23892387
else
2388+
{
23902389
view->DefineAutoSymbol(symbol);
2390+
}
23912391

23922392
if (!func)
23932393
func = view->GetAnalysisFunction(view->GetDefaultPlatform(), symbolAddress);
@@ -2707,7 +2707,6 @@ void SharedCache::InitializeHeader(
27072707
}
27082708
}
27092709

2710-
view->BeginBulkModifySymbols();
27112710
if (header.symtab.symoff != 0 && header.linkeditPresent && vm->AddressIsMapped(header.linkeditSegment.vmaddr))
27122711
{
27132712
// Mach-O View symtab processing with

0 commit comments

Comments
 (0)