diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp index 889264d97e238976183c07c4a149d33b85b609d5..b38b9406d0b8ddecff2c2adf220c5200835c88ca 100644 --- a/src/base/SMPFunction.cpp +++ b/src/base/SMPFunction.cpp @@ -2010,7 +2010,7 @@ void SMPFunction::SetStackFrameInfo(void) { #endif // Get callee-saved regs info for remediation use. - if (STARS_BADADDR != this->GetFirstFrameAllocInstAddr()) { + if ((STARS_BADADDR != this->GetFirstFrameAllocInstAddr()) && this->StackPtrAnalysisSucceeded()) { this->MDFindSavedRegs(); } @@ -2401,7 +2401,7 @@ void SMPFunction::MDFindSavedRegs(void) { if (!(CurrInst->MDIsPushInstr())) continue; - STARS_sval_t CurrOffset = SMP_get_spd(CurrFunc, CurrInst->GetAddr()); + STARS_sval_t CurrOffset = CurrInst->GetStackPtrOffset(); if (CurrInst->GetIDAOpcode() == STARS_NN_push) { STARSOpndTypePtr PushedReg = CurrInst->GetPushedOpnd(); if (PushedReg->IsRegOp()) { @@ -3611,7 +3611,7 @@ bool SMPFunction::IsInIncomingArgsRegion(SMPInstr *SourceInst, const STARSOpndTy if (InArg) { MDExtractAddressFields(SourceOp, BaseReg, IndexReg, ScaleFactor, offset); int SignedOffset = (int) offset; - if (((BaseReg != STARS_x86_R_sp) && (IndexReg != STARS_x86_R_sp)) || (SignedOffset < 4)) { + if (((BaseReg != STARS_x86_R_sp) && (IndexReg != STARS_x86_R_sp)) || (SignedOffset < global_STARS_program->GetSTARS_ISA_Bytewidth())) { InArg = false; } } diff --git a/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id index fcc44084f63f067fd413f81fb14c34d904ffa2b8..1eee2b48dc8c9027f7417aa61d74e6f80a50b7c8 100644 --- a/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-busybox.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -721972b7347ad6f796cf5c23192665f5835c7b01 \ No newline at end of file +701f544c2d7e8228add6810fb5833b5ea4955fc6 \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id index 4f6efa0dad11aab4c0202bcf0aa39db347f4e858..546db70164f317db224ef447e63e734b71a58718 100644 --- a/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-ffmpeg.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -dab5d65a2ccd7482f0ef123cff720df36a28579e \ No newline at end of file +39fe85441a5a3bcacfaa407c53fb0bd3a4f5b93d \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id index 9761098c9779199a98c8cd8a408104f81f5c216f..d788e685d66be8899081e467795c6d2f9f61e925 100644 --- a/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-gnome-keyring-daemon.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -aa780fa24fda825cff368512de7d3a3fbfeadca6 \ No newline at end of file +1c3d5552e247cbda44aacd98b23f696d00e9cec3 \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot index 2a448db96bfd579a523ba0ffad7dc64e58927cb8..be3e6fd1b3c63b3a126cfe757c6bfd2487835001 100644 --- a/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot +++ b/tests/commit/trimmed-sorted-save-gnome-screenshot.psexe.annot @@ -6040,7 +6040,7 @@ 4099ba 4 INSTR DEADREGS EFLAGS R8 R9 R10 R11 R13 R15 ZZ mov [r14+28h], rax 4099be -1 INSTR LOCAL NoMetaUpdate jmp loc_40988B 4099be 5 INSTR BELONGTO 409780 - 4099d0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -8 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ + 4099d0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ 4099d0 0 FUNC MMSAFENESS SAFE 4099d0 171 FUNC GLOBAL sub_4099D0 FUNC_UNSAFE NOFP RET 409a7a 4099d0 1 INSTR BELONGTO 4099d0 @@ -8149,7 +8149,7 @@ 40a8a0 1 INSTR DEADREGS EFLAGS RBX R8 R9 R10 R11 ZZ pop rbx 40a8a1 1 INSTR BELONGTO 40a890 40a8a1 1 INSTR DEADREGS EFLAGS R8 R9 R10 R11 ZZ retn - 40a8b0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -8 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ + 40a8b0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ 40a8b0 0 FUNC MMSAFENESS UNSAFE 40a8b0 1 INSTR BELONGTO 40a8b0 40a8b0 209 FUNC GLOBAL sub_40A8B0 FUNC_UNSAFE NOFP RET 40a980 diff --git a/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot index a5907cb52c02fc8fbaae0c0d50f5dae2fb688e13..7404ddb950f58959f975dcf70cd1e1eb6017a8ef 100644 --- a/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot +++ b/tests/commit/trimmed-sorted-save-gnome-settings-daemon.psexe.annot @@ -2169,7 +2169,7 @@ 403cba -1 INSTR LOCAL NoMetaUpdate jmp _g_log_default_handler 403cc6 -1 INSTR LOCAL NoMetaUpdate test eax, eax 403cc8 -1 INSTR LOCAL NoMetaUpdate jnz short loc_403CBA - 403cd0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -16 0 4 0 0 5 -8 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ + 403cd0 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ 403cd0 0 FUNC MMSAFENESS SAFE 403cd0 1 INSTR BELONGTO 403cd0 403cd0 336 FUNC GLOBAL sub_403CD0 FUNC_UNSAFE NOFP RET 403e1f diff --git a/tests/commit/trimmed-sorted-save-gnome-sound-applet.psexe.annot b/tests/commit/trimmed-sorted-save-gnome-sound-applet.psexe.annot index f014e8d35163c3627e14b90ffd625f29a8d5821d..7a6a52fa838e8e9b895219edbf0756f61a3e915a 100644 --- a/tests/commit/trimmed-sorted-save-gnome-sound-applet.psexe.annot +++ b/tests/commit/trimmed-sorted-save-gnome-sound-applet.psexe.annot @@ -4824,7 +4824,7 @@ 12e24 -2 INSTR LOCAL n EAX ZZ AlwaysNUM xor eax, eax 12e26 -1 INSTR LOCAL NoMetaUpdate jmp loc_12D4D 12e26 5 INSTR BELONGTO 12d00 - 12e30 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 -16 0 4 0 0 5 -8 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ + 12e30 0 FUNC FRAMERESTORE 0 0 0 1 0 0 2 0 0 3 0 0 4 0 0 5 0 0 6 0 0 7 0 0 8 0 0 9 0 0 10 0 0 11 0 0 12 0 0 13 0 0 14 0 0 15 0 0 ZZ 12e30 0 FUNC MMSAFENESS SAFE 12e30 1 INSTR BELONGTO 12e30 12e30 -3 INSTR LOCAL NoWarn push rbp diff --git a/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id index 0b80445551f87ed538cde11be370aee96b6b5043..df046215d353e64bddfb84c7a07f8d6ad08047bc 100644 --- a/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-gnome-terminal.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -cba913d1b4abb2ac9f386847ae81828fdac62cea \ No newline at end of file +c9885a611a61b6cd7edba44bae4d63d24ae2b428 \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id index f1095eab38ee75b06f74f0e34ed9413f9017cdf9..e5a7af492454906984f901bd65642a12a6a8e3fd 100644 --- a/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-nginx.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -5995d07755f7d33260bfee9e6674cee6cbdce4d2 \ No newline at end of file +080f585bfe04307c6ab2d219c579dc9151093e69 \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id index 381bc91f16cd5dce879aa318e30593f6e678fbfc..3ff9bc5c2de28fa27dc753079838a065e05d1261 100644 --- a/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-openssl.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -a800cfe5026abd23ef35a3696caf45016f208a8e \ No newline at end of file +22a1af3717d5f8260c7459f37b4d5145cfa52a40 \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id index f33f5a7341d34b35dff3e80a2add21e1452a358f..6399d051fb9952d21584cd90a6b4144e5091d209 100644 --- a/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-synaptic.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -8b020f9de6c1499a711a97e2c3b17bedcd11a749 \ No newline at end of file +572f3110b68a52c6b76d19c89d5893b5b1e91b0d \ No newline at end of file diff --git a/tests/commit/trimmed-sorted-save-toy.exe.annot b/tests/commit/trimmed-sorted-save-toy.exe.annot index c3f8dc1504d8658c8763d6c1766584e0ebf0aa45..4bd824d4cd85f5980ff1c6f959707ec10bebc2a0 100644 --- a/tests/commit/trimmed-sorted-save-toy.exe.annot +++ b/tests/commit/trimmed-sorted-save-toy.exe.annot @@ -237,7 +237,7 @@ 80483b2 1 INSTR BELONGTO 8048390 80483b2 1 INSTR DEADREGS EFLAGS ZZ retn 80483b2 8 DEALLOC STACK esp - 8 retn - 80483b4 0 FUNC FRAMERESTORE 0 0 1 1 -8 8 2 0 0 3 0 0 4 0 8 5 -4 0 6 0 0 7 0 0 ZZ + 80483b4 0 FUNC FRAMERESTORE 0 0 1 1 -12 8 2 0 0 3 0 0 4 0 8 5 -8 0 6 0 0 7 0 0 ZZ 80483b4 0 FUNC MMSAFENESS UNSAFE 80483b4 163 FUNC GLOBAL main FUNC_UNSAFE USEFP RET 8048456 80483b4 4 INSTR BELONGTO 80483b4 diff --git a/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id b/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id index 4afe87bc1922f04201b7fae4d6594706f942b9e2..94df3c57c6c7c509cca4696a6924ca2540915a0f 100644 --- a/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id +++ b/tests/commit/trimmed-sorted-save-xedit.psexe.annot.REMOVED.git-id @@ -1 +1 @@ -bdab1b34cb54fdbdb6f66d06adc4ee3bcd93e6fc \ No newline at end of file +969f66c04ca2d4c241dd93af61a3d5de3e24c0d6 \ No newline at end of file