From 55ee17bf9e598bd159de643e878af59425d59922 Mon Sep 17 00:00:00 2001 From: clc5q <clc5q@git.zephyr-software.com> Date: Thu, 6 Aug 2015 21:40:31 +0000 Subject: [PATCH] Perform Live Variable Analysis on functions with shared chunks. Former-commit-id: 45ace968d4ff4fc2b5d0470261345677b08e9f6d --- src/base/SMPFunction.cpp | 4 ++-- src/interfaces/idapro/STARSFunction.cpp | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp index fa641c17..b43cd7f2 100644 --- a/src/base/SMPFunction.cpp +++ b/src/base/SMPFunction.cpp @@ -2091,7 +2091,7 @@ bool SMPFunction::MDFixFrameInfo(void) { } break; // exit after stack deallocation of any kind } - else { // success + else { // success; normal allocation int AllocSize = (int) (0 - CurrentDelta); if (FoundAllocInstr) this->AllocSizeAfterFrameAlloc += AllocSize; @@ -3934,7 +3934,7 @@ void SMPFunction::AdvancedAnalysis(void) { this->TempReachingDefs.clear(); if (this->StackPtrAnalysisSucceeded() && this->HasGoodRTLs() - && (!this->HasUnresolvedIndirectJumps()) && (!this->HasSharedChunks())) { + && (!this->HasUnresolvedIndirectJumps())) { this->LiveVariableAnalysis(false); } diff --git a/src/interfaces/idapro/STARSFunction.cpp b/src/interfaces/idapro/STARSFunction.cpp index e23ee9ff..da2e34ec 100644 --- a/src/interfaces/idapro/STARSFunction.cpp +++ b/src/interfaces/idapro/STARSFunction.cpp @@ -69,7 +69,7 @@ void STARS_IDA_Function_t::MarkSharedChunks(void) { } else { // a tail chunk if (this->IsChunkUnshared(CurrChunk.startEA, FirstEA, FuncHeadLastAddr)) { -// this->UnsharedChunks = true; + this->UnsharedChunks = true; // SMP_msg("INFO: Interface Found unshared tail chunk for %s at %lx\n", // name, (unsigned long) CurrChunk.startEA); } -- GitLab