@@ -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