diff --git a/include/base/SMPFunction.h b/include/base/SMPFunction.h index bbc9603cabbec033f3f96395782e2eba9fb7b61d..9d14a673cedf83789082094ec1931057cb9d84ec 100644 --- a/include/base/SMPFunction.h +++ b/include/base/SMPFunction.h @@ -693,6 +693,7 @@ private: void EmitReturnTargetAnnotations(void); // Emit Indirect Branch Target destinations for return instructions in this func. void EmitFuncPtrShadowingAnnotations(FILE *InfoAnnotFile); // Emit annotations for func ptr shadowing defense bool IsAlreadyShadowed(const ShadowPoint &CriticalOp); // Is CriticalOp already represented in AlreadyShadowed set? + void EmitFuncPtrHelper(FILE *InfoAnnotFile, SMPInstr *CurrInst); // common code for different cases void EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile); // Emit annotations for func ptr shadowing defense int FindInArgNumFromCopyAddr(STARS_ea_t CopyInstAddr); // return -1 if not found in InArgPointerCopyAddrs, InArg position # otherwise bool MDFindReturnTypes(void); // Fill ReturnRegTypes[] diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp index 6a35111e957c014dfa8397d225035c7c34a70a5d..6e71fade7d6e46e6d28b02c512f688a8a40d4b95 100644 --- a/src/base/SMPFunction.cpp +++ b/src/base/SMPFunction.cpp @@ -9583,7 +9583,7 @@ bool SMPFunction::FindShadowingPoint2(const ShadowPoint CriticalOp, ShadowSet &S } #endif // If we are starting a NewCriticalOps chain, we need to start with a USE of the same SSA name as the DEF. -#if 0 // find memory corruption +#if 1 // find memory corruption STARSDefUseIter NewUseIter = CurrInst->FindUse(UseOp); if (NewUseIter != CurrInst->GetLastUse()) { // We have a starting point for a new shadowing operation. @@ -11424,6 +11424,84 @@ int SMPFunction::FindFollowBlockNum(SMPBasicBlock *CurrBlock, bool StartAtLastIn return FollowBlockNum; } // end of SMPFunction::FindFollowBlockNum() +// common code for different cases in EmitFuncPtrShadowingAnnotations2() +void SMPFunction::EmitFuncPtrHelper(FILE *InfoAnnotFile, SMPInstr *CurrInst) { + STARS_ea_t ShadowCheckAddr = CurrInst->GetAddr(); + this->AlreadyShadowed.clear(); + ShadowPoint CriticalOp(ShadowCheckAddr, 0); // Checking point before indirect call + list<ShadowPoint> WorkList; + WorkList.push_back(CriticalOp); + + while (!WorkList.empty()) { + ShadowSet ShadowUses; // set of addr+USE pairs to shadow values that will be checked at ShadowCheckAddr + ShadowSet NewCriticalOps; // worklist of new shadow USEs and their addresses + CriticalOp = WorkList.front(); + WorkList.pop_front(); + + bool UnsafeCodePointerChain = false; + bool ValidShadowing = this->FindShadowingPoint2(CriticalOp, ShadowUses, UnsafeCodePointerChain, NewCriticalOps); + if (ValidShadowing && UnsafeCodePointerChain) { + // Need to shadow ShadowDefs right before their addrs, validate CriticalOp USE at ShadowCheckAddr + unsigned int CurrentShadowID = global_STARS_program->GetShadowID(); +#if STARS_DEBUG_FPTR_SHADOW_LIST + SMP_msg("DEBUGINFO: ShadowUses cardinality is %zu\n", ShadowUses.size()); +#endif + for (ShadowSet::const_iterator ShadowIter = ShadowUses.cbegin(); ShadowIter != ShadowUses.cend(); ++ShadowIter) { + STARS_ea_t ShadowAddr = ShadowIter->first; + assert(STARS_BADADDR != ShadowAddr); +#if STARS_DEBUG_FPTR_SHADOW_LIST + SMP_msg("DEBUGINFO: ShadowUses entry ShadowAddr: %llx\n", (uint64_t) ShadowAddr); +#endif + STARSOpndTypePtr ShadowOp = this->TempShadowList.GetRefNum(ShadowIter->second)->GetOp(); + assert((nullptr != ShadowOp) && (!ShadowOp->IsVoidOp())); + SMPInstr *ShadowInst = this->GetInstFromAddr(ShadowAddr); + STARSOpndTypePtr UnnormalizedUseOp = CloneIfNecessary(ShadowOp, this->UsesFramePointer()); + if (ShadowOp->IsMemOp()) { + // Un-normalize stack ops for annotation printing. + ShadowInst->MDGetUnnormalizedOp(UnnormalizedUseOp); + } + + // Emit the annotation to shadow the InArg value at the top of the function. + SMP_fprintf(InfoAnnotFile, "%18llx %6zu INSTR FPTRSHADOW ", + (unsigned long long) ShadowAddr, ShadowInst->GetSize()); + AnnotPrintOperand(UnnormalizedUseOp, InfoAnnotFile, UseFP, ShadowInst->MDHas64BitOperands()); + SMP_fprintf(InfoAnnotFile, " SHADOWID %u\n", CurrentShadowID); + + // Emit the annotation to check the shadowed value before the INDIR_CALL. + SMP_fprintf(InfoAnnotFile, "%18llx %6zu INSTR FPTRCHECK ", + (unsigned long long) ShadowCheckAddr, CurrInst->GetSize()); + STARSOpndTypePtr UseOp = CurrInst->GetFirstRightOperandNoNorm(); // for annotation printing + AnnotPrintOperand(UseOp, InfoAnnotFile, UseFP, CurrInst->MDHas64BitOperands()); + SMP_fprintf(InfoAnnotFile, " SHADOWID %u\n", CurrentShadowID); + + AlreadyShadowed.insert(*ShadowIter); + } // end for all ShadowUses + + // Increment the unique shadowing index + if (!ShadowUses.empty()) { // we used the current ShadowID + global_STARS_program->IncrementShadowID(); + } + } // end if (ValidShadowing && UnsafeCodePointerChain) + + // Now we need to find shadowing points for the NewCriticalOps. + if (!NewCriticalOps.empty()) { + for (ShadowSet::const_iterator NewIter = NewCriticalOps.cbegin(); NewIter != NewCriticalOps.cend(); ++NewIter) { + ShadowPoint CurrPoint = *NewIter; + if (this->AlreadyShadowed.find(CurrPoint) == this->AlreadyShadowed.end()) { + // Only add to WorkList if not already shadowed. + WorkList.push_back(CurrPoint); + } + } + NewCriticalOps.clear(); + } + ShadowUses.clear(); + this->AlreadyShadowed.clear(); + this->TempShadowList.clear(); + } // end while (!WorkList.empty()) + + return; +} // end of SMPFunction::EmitFuncPtrHelper() + // Emit annotations for func ptr shadowing defense void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) { if (this->HasGoodRTLs() && this->HasUnsafeIndirectWrites && (!this->IsLeaf())) { @@ -11442,83 +11520,10 @@ void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) { STARSOpndTypePtr UseOp = CurrInst->GetFirstRightOperand(); STARSDefUseIter UseIter = CurrInst->FindUse(UseOp); assert(UseIter != CurrInst->GetLastUse()); - STARS_ea_t ShadowCheckAddr = CurrInst->GetAddr(); - this->AlreadyShadowed.clear(); this->TempShadowList.clear(); this->TempShadowList.SetRef(UseIter->GetOp(), UseIter->GetType(), UseIter->GetSSANum()); - DefUseListIter UseListIter = this->TempShadowList.GetLastRef(); - --UseListIter; - ShadowPoint CriticalOp(ShadowCheckAddr, 0); // Checking point before indirect call - list<ShadowPoint> WorkList; - WorkList.push_back(CriticalOp); - - while (!WorkList.empty()) { - ShadowSet ShadowUses; // set of addr+USE pairs to shadow values that will be checked at ShadowCheckAddr - ShadowSet NewCriticalOps; // worklist of new shadow USEs and their addresses - CriticalOp = WorkList.front(); - WorkList.pop_front(); - - bool UnsafeCodePointerChain = false; - bool ValidShadowing = this->FindShadowingPoint2(CriticalOp, ShadowUses, UnsafeCodePointerChain, NewCriticalOps); - if (ValidShadowing && UnsafeCodePointerChain) { - // Need to shadow ShadowDefs right before their addrs, validate CriticalOp USE at ShadowCheckAddr - unsigned int CurrentShadowID = global_STARS_program->GetShadowID(); - assert(STARS_BADADDR != ShadowCheckAddr); -#if STARS_DEBUG_FPTR_SHADOW_LIST - SMP_msg("DEBUGINFO: ShadowUses cardinality is %zu\n", ShadowUses.size()); -#endif - for (ShadowSet::const_iterator ShadowIter = ShadowUses.cbegin(); ShadowIter != ShadowUses.cend(); ++ShadowIter) { - STARS_ea_t ShadowAddr = ShadowIter->first; - assert(STARS_BADADDR != ShadowAddr); -#if STARS_DEBUG_FPTR_SHADOW_LIST - SMP_msg("DEBUGINFO: ShadowUses entry ShadowAddr: %llx\n", (uint64_t) ShadowAddr); -#endif - STARSOpndTypePtr ShadowOp = this->TempShadowList.GetRefNum(ShadowIter->second)->GetOp(); - assert((nullptr != ShadowOp) && (!ShadowOp->IsVoidOp())); - SMPInstr *ShadowInst = this->GetInstFromAddr(ShadowAddr); - STARSOpndTypePtr UnnormalizedUseOp = CloneIfNecessary(ShadowOp, this->UsesFramePointer()); - if (ShadowOp->IsMemOp()) { - // Un-normalize stack ops for annotation printing. - ShadowInst->MDGetUnnormalizedOp(UnnormalizedUseOp); - } - - // Emit the annotation to shadow the InArg value at the top of the function. - SMP_fprintf(InfoAnnotFile, "%18llx %6zu INSTR FPTRSHADOW ", - (unsigned long long) ShadowAddr, ShadowInst->GetSize()); - AnnotPrintOperand(UnnormalizedUseOp, InfoAnnotFile, UseFP, ShadowInst->MDHas64BitOperands()); - SMP_fprintf(InfoAnnotFile, " SHADOWID %u\n", CurrentShadowID); - - // Emit the annotation to check the shadowed value before the INDIR_CALL. - SMP_fprintf(InfoAnnotFile, "%18llx %6zu INSTR FPTRCHECK ", - (unsigned long long) ShadowCheckAddr, CurrInst->GetSize()); - UseOp = CurrInst->GetFirstRightOperandNoNorm(); // for annotation printing - AnnotPrintOperand(UseOp, InfoAnnotFile, UseFP, CurrInst->MDHas64BitOperands()); - SMP_fprintf(InfoAnnotFile, " SHADOWID %u\n", CurrentShadowID); - - AlreadyShadowed.insert(*ShadowIter); - } // end for all ShadowUses - // Increment the unique shadowing index - if (!ShadowUses.empty()) { // we used the current ShadowID - global_STARS_program->IncrementShadowID(); - } - } // end if (ValidShadowing && UnsafeCodePointerChain) - - // Now we need to find shadowing points for the NewCriticalOps. - if (!NewCriticalOps.empty()) { - for (ShadowSet::const_iterator NewIter = NewCriticalOps.cbegin(); NewIter != NewCriticalOps.cend(); ++NewIter) { - ShadowPoint CurrPoint = *NewIter; - if (AlreadyShadowed.find(CurrPoint) == AlreadyShadowed.end()) { - // Only add to WorkList if not already shadowed. - WorkList.push_back(CurrPoint); - } - } - NewCriticalOps.clear(); - } - ShadowUses.clear(); - this->AlreadyShadowed.clear(); - this->TempShadowList.clear(); - } // end while (!WorkList.empty()) + this->EmitFuncPtrHelper(InfoAnnotFile, CurrInst); } // end if INDIR_CALL else if (CALL == CurrInst->GetDataFlowType()) { // Search for case 3: CODEPTR passed as outgoing arg. @@ -11527,6 +11532,17 @@ void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) { else if (Case3Search && CurrInst->MDIsArgumentPass(ArgNum)) { STARSDefUseIter ArgIter = CurrInst->GetFirstNonFlagsDef(); if ((ArgIter != CurrInst->GetLastDef()) && IsEqType(CODEPTR, ArgIter->GetType())) { + STARSOpndTypePtr ArgOp = nullptr; + if (CurrInst->MDIsMoveInstr()) { + ArgOp = CurrInst->GetMoveSource(); // Need a USE for FindShadowingPoint2() + assert((nullptr != ArgOp) && !ArgOp->IsVoidOp()); + STARSDefUseIter UseIter = CurrInst->FindUse(ArgOp); + assert(UseIter != CurrInst->GetLastUse()); + this->TempShadowList.clear(); + this->TempShadowList.SetRef(ArgOp, UseIter->GetType(), UseIter->GetSSANum()); + this->EmitFuncPtrHelper(InfoAnnotFile, CurrInst); + } +#if 0 STARSOpndTypePtr DefOp = ArgIter->GetOp(); STARS_ea_t ShadowCheckAddr = CurrInst->GetAddr(); STARS_ea_t ShadowAddr; @@ -11563,6 +11579,7 @@ void SMPFunction::EmitFuncPtrShadowingAnnotations2(FILE *InfoAnnotFile) { global_STARS_program->IncrementShadowID(); } // end if UnsafeCodePointerChain } // end if move inst +#endif } // end if CODEPTR ArgIter } // end if INDIR_CALL elsif CALL elsif Case3 arg pass } // end for all insts in reverse order diff --git a/tests/commit/save-busybox.psexe.infoannot b/tests/commit/save-busybox.psexe.infoannot index 0ae8aad15dfefe8810e5c7fca84f89b8193c4db4..af349637fad0b4a07d5521e37c73c3d80dc785b9 100644 --- a/tests/commit/save-busybox.psexe.infoannot +++ b/tests/commit/save-busybox.psexe.infoannot @@ -2220,8 +2220,6 @@ 427834 6 INSTR CHECK OVERFLOW SIGNED 32 EDX ZZ imul edx, ebx, 3E8h ; timeout 42793d 272 FUNC RETURNTYPE RAX 0 42793d 272 FUNC INARGS 6 ARG0 2 ARG1 1 ARG2 0 ARG3 0 ARG4 0 ARG5 0 - 42793d 2 INSTR FPTRSHADOW RDI SHADOWID 2 - 4279d2 3 INSTR FPTRCHECK R12 SHADOWID 2 427a4d 60 FUNC RETURNTYPE RAX 0 427a4d 60 FUNC INARGS 6 ARG0 1 ARG1 0 ARG2 0 ARG3 1 ARG4 0 ARG5 0 427a89 260 FUNC RETURNTYPE RAX 1 @@ -2494,17 +2492,17 @@ 42ed9e 355 FUNC RETURNTYPE RAX 96 42ed9e 355 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 2 ARG3 1 ARG4 1 ARG5 0 42ed9e 355 FUNC PROBLEM sub_42ED9E CALLUNRESOLVED - 42ed9e 2 INSTR FPTRSHADOW RDX SHADOWID 3 - 42eebc 4 INSTR FPTRCHECK [RSP+8] SHADOWID 3 + 42ed9e 2 INSTR FPTRSHADOW RDX SHADOWID 2 + 42eebc 4 INSTR FPTRCHECK [RSP+8] SHADOWID 2 42ef01 503 FUNC RETURNTYPE RAX 0 42ef01 503 FUNC INARGS 6 ARG0 96 ARG1 2 ARG2 2 ARG3 1 ARG4 2 ARG5 1 42ef01 503 FUNC PROBLEM sub_42EF01 CALLUNRESOLVED 42ef9f 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea rsi, [rbp+38h] ; src 42efbb 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+184 ZZ IDIOM 18 MEMORYSINK lea rsi, [rbp+0B8h] ; src - 42ef01 2 INSTR FPTRSHADOW RDX SHADOWID 4 - 42f0b3 5 INSTR FPTRCHECK RDX SHADOWID 4 - 42ef01 2 INSTR FPTRSHADOW R8 SHADOWID 5 - 42f08e 4 INSTR FPTRCHECK [RSP+8] SHADOWID 5 + 42ef01 2 INSTR FPTRSHADOW RDX SHADOWID 3 + 42f0b3 5 INSTR FPTRCHECK [RSP+24] SHADOWID 3 + 42ef01 2 INSTR FPTRSHADOW R8 SHADOWID 4 + 42f08e 4 INSTR FPTRCHECK [RSP+8] SHADOWID 4 42f0f8 175 FUNC RETURNTYPE RAX 0 42f0f8 175 FUNC PROBLEM sub_42F0F8 STACKANALYSIS 42f1a7 64 FUNC RETURNTYPE RAX 0 @@ -4401,14 +4399,14 @@ 4572fb 1167 FUNC PROBLEM sub_4572FB CALLUNRESOLVED 4574fd 6 INSTR CHECK OVERFLOW UNKNOWNSIGN 32 RSI ZZ add esi, 101h 45751e 2 INSTR CHECK UNDERFLOW SIGNED 32 RDX ZZ sub edx, eax ; timeout + 4572fb 2 INSTR FPTRSHADOW RDI SHADOWID 5 + 45761b 4 INSTR FPTRCHECK [RSP+24] SHADOWID 5 4572fb 2 INSTR FPTRSHADOW RDI SHADOWID 6 - 45761b 4 INSTR FPTRCHECK [RSP+24] SHADOWID 6 + 4576fe 4 INSTR FPTRCHECK [RSP+24] SHADOWID 6 4572fb 2 INSTR FPTRSHADOW RDI SHADOWID 7 - 4576fe 4 INSTR FPTRCHECK [RSP+24] SHADOWID 7 + 4576b8 4 INSTR FPTRCHECK [RSP+24] SHADOWID 7 4572fb 2 INSTR FPTRSHADOW RDI SHADOWID 8 - 4576b8 4 INSTR FPTRCHECK [RSP+24] SHADOWID 8 - 4572fb 2 INSTR FPTRSHADOW RDI SHADOWID 9 - 4576c3 4 INSTR FPTRCHECK [RSP+24] SHADOWID 9 + 4576c3 4 INSTR FPTRCHECK [RSP+24] SHADOWID 8 45778a 570 FUNC RETURNTYPE RAX 1 45778a 570 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 457864 7 INSTR CHECK OVERFLOW UNKNOWNSIGN 64 RSI ZZ IDIOM 18 GLOBALMEMSINK add rsi, 6C9478h ; bufp @@ -5183,10 +5181,10 @@ 468604 581 FUNC INARGS 6 ARG0 4 ARG1 2 ARG2 2 ARG3 96 ARG4 0 ARG5 0 468604 581 FUNC PROBLEM sub_468604 CALLUNRESOLVED 4687de 4 INSTR CHECK OVERFLOW UNSIGNED 64 R13 ZZ IDIOM 18 MEMORYSINK add r13, 8 - 468604 2 INSTR FPTRSHADOW RDX SHADOWID 10 - 4686ae 3 INSTR FPTRCHECK [RSP] SHADOWID 10 - 468604 2 INSTR FPTRSHADOW RSI SHADOWID 11 - 46873b 4 INSTR FPTRCHECK [RSP+8] SHADOWID 11 + 468604 2 INSTR FPTRSHADOW RDX SHADOWID 9 + 4686ae 3 INSTR FPTRCHECK [RSP] SHADOWID 9 + 468604 2 INSTR FPTRSHADOW RSI SHADOWID 10 + 46873b 4 INSTR FPTRCHECK [RSP+8] SHADOWID 10 468849 88 FUNC RETURNTYPE RAX 0 468849 88 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4688a1 88 FUNC RETURNTYPE RAX 0 @@ -5732,8 +5730,8 @@ 481108 2 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov edi, eax 481185 2 INSTR CHECK TRUNCATION UNKNOWNSIGN 64 RAX 32 EAX ZZ mov edi, eax 4811f4 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+1 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbx+1] ; s2 - 480f24 9 INSTR FPTRSHADOW 4721960 SHADOWID 12 - 4811dc 4 INSTR FPTRCHECK [RSP+16] SHADOWID 12 + 480f24 9 INSTR FPTRSHADOW 4721960 SHADOWID 11 + 4811dc 4 INSTR FPTRCHECK [RSP+16] SHADOWID 11 477063 229 FUNC RETURNTYPE RAX 0 477063 229 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4770df 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+2 ZZ IDIOM 18 STACKMEMSINK lea rdx, [rbx+2] @@ -6111,8 +6109,8 @@ 47fdf3 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+3 ZZ lea rdi, [rax+3] 47fe1d 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+1 ZZ IDIOM 18 MEMORYSINK lea rdi, [rax+1] ; s 47fe2c 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RAX+1 ZZ lea rcx, [rax+1] - 47fdc8 2 INSTR FPTRSHADOW RDX SHADOWID 13 - 47fe7e 4 INSTR FPTRCHECK [RSP+8] SHADOWID 13 + 47fdc8 2 INSTR FPTRSHADOW RDX SHADOWID 12 + 47fe7e 4 INSTR FPTRCHECK [RSP+8] SHADOWID 12 47feb3 150 FUNC RETURNTYPE RAX 1 47feb3 150 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 47feb3 150 FUNC PROBLEM sub_47FEB3 CALLUNRESOLVED @@ -7000,8 +6998,8 @@ 4947a5 4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R15+1 ZZ lea edi, [r15+1] 4947e3 6 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+-384 ZZ IDIOM 18 MEMORYSINK lea edx, [rax-180h] 494826 6 INSTR CHECK OVERFLOW SIGNED 32 RDI ZZ add edi, 0FFh - 494707 6 INSTR FPTRSHADOW RAX SHADOWID 14 - 494881 4 INSTR FPTRCHECK [RSP+24] SHADOWID 14 + 494707 6 INSTR FPTRSHADOW RAX SHADOWID 13 + 494881 4 INSTR FPTRCHECK [RSP+24] SHADOWID 13 4949eb 120 FUNC RETURNTYPE RAX 4 4949eb 120 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 4 ARG3 0 ARG4 0 ARG5 0 494a63 296 FUNC RETURNTYPE RAX 4 @@ -7582,26 +7580,26 @@ 49eeb2 3 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 32 RCX+-10 ZZ lea edx, [rcx-0Ah] 49ef11 3 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 32 RCX+42 ZZ lea edx, [rcx+2Ah] 49ef83 5 INSTR MEMSET STACKOFFSET_ESP 96 SIZE 544 ZZ call _memset - 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 15 - 49ec5e 4 INSTR FPTRCHECK [RSP+48] SHADOWID 15 + 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 14 + 49ec5e 4 INSTR FPTRCHECK [RSP+48] SHADOWID 14 + 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 15 + 49ec2c 4 INSTR FPTRCHECK [RSP+40] SHADOWID 15 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 16 - 49ec2c 4 INSTR FPTRCHECK [RSP+40] SHADOWID 16 + 49ec04 4 INSTR FPTRCHECK [RSP+40] SHADOWID 16 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 17 - 49ec04 4 INSTR FPTRCHECK [RSP+40] SHADOWID 17 - 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 18 - 49ece6 4 INSTR FPTRCHECK [RSP+40] SHADOWID 18 + 49ece6 4 INSTR FPTRCHECK [RSP+40] SHADOWID 17 + 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 18 + 49ecd9 4 INSTR FPTRCHECK [RSP+48] SHADOWID 18 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 19 - 49ecd9 4 INSTR FPTRCHECK [RSP+48] SHADOWID 19 - 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 20 - 49ed12 4 INSTR FPTRCHECK [RSP+48] SHADOWID 20 - 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 21 - 49ed54 4 INSTR FPTRCHECK [RSP+40] SHADOWID 21 - 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 22 - 49ed8e 4 INSTR FPTRCHECK [RSP+48] SHADOWID 22 - 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 23 - 49edde 4 INSTR FPTRCHECK [RSP+40] SHADOWID 23 - 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 24 - 49ee86 4 INSTR FPTRCHECK [RSP+48] SHADOWID 24 + 49ed12 4 INSTR FPTRCHECK [RSP+48] SHADOWID 19 + 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 20 + 49ed54 4 INSTR FPTRCHECK [RSP+40] SHADOWID 20 + 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 21 + 49ed8e 4 INSTR FPTRCHECK [RSP+48] SHADOWID 21 + 49ebb7 9 INSTR FPTRSHADOW 4821426 SHADOWID 22 + 49edde 4 INSTR FPTRCHECK [RSP+40] SHADOWID 22 + 49ebc0 9 INSTR FPTRSHADOW 4822364 SHADOWID 23 + 49ee86 4 INSTR FPTRCHECK [RSP+48] SHADOWID 23 49efc8 1179 FUNC RETURNTYPE RAX 4 49efc8 1179 FUNC INARGS 4 ARG0 4 ARG1 4 ARG2 4 ARG3 4 49effa 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RSI+8 ZZ IDIOM 18 STACKMEMSINK lea rax, [rsi+8] diff --git a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id index 14036cbcead45f859cc49afac47324d761d4ecf8..11950bb48341941109b4b9a6ea5b50bf4260f474 100644 --- a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id +++ b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id @@ -1 +1 @@ -af8dac4676b89e0d0e8711766b3015aa9d0f39b9 \ No newline at end of file +9cdd293d4b8a94d1269207e0752a74219eb1e567 \ No newline at end of file diff --git a/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id b/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id index 2d3f9b95e4fffdbb3990926c020443746f622faf..45d8cdf42b40cacf7391501f7abdc87d28c72a00 100644 --- a/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id +++ b/tests/commit/save-gimp.psexe.infoannot.REMOVED.git-id @@ -1 +1 @@ -5a9208da92707e8a80bb16b2dcbf868d24ef3025 \ No newline at end of file +6a7c1a09b8038ec9bcc2e44c38393aa62eaf17c3 \ No newline at end of file diff --git a/tests/commit/save-lt-svn.psexe.infoannot b/tests/commit/save-lt-svn.psexe.infoannot index 9f337cf25b4d27f3484a9b12bd248cdedf4befa2..bf8ae9b3108c88e42b803b7c47c0c44722e5fa68 100644 --- a/tests/commit/save-lt-svn.psexe.infoannot +++ b/tests/commit/save-lt-svn.psexe.infoannot @@ -777,6 +777,8 @@ 41758b 4 INSTR CHECK OVERFLOW UNKNOWNSIGN 64 R13 ZZ add r13d, 1 4176a0 1317 FUNC RETURNTYPE RAX 96 4176a0 1317 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 + 4178de 7 INSTR FPTRSHADOW 4289744 SHADOWID 1 + 417972 5 INSTR FPTRCHECK [RSP+40] SHADOWID 1 417bd0 251 FUNC RETURNTYPE RAX 1 417bd0 251 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 417c40 5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+16 ZZ IDIOM 18 MEMORYSINK lea rdx, [context+10h] diff --git a/tests/commit/save-nginx.psexe.infoannot b/tests/commit/save-nginx.psexe.infoannot index 3c37aa1a596224aa592abc82d9f930e7afe285a6..8b7810c17511976702c9b89f253ee2208084d0a7 100644 --- a/tests/commit/save-nginx.psexe.infoannot +++ b/tests/commit/save-nginx.psexe.infoannot @@ -12932,8 +12932,8 @@ 52ee50 60 FUNC INARGS 6 ARG0 0 ARG1 1 ARG2 16 ARG3 1 ARG4 0 ARG5 0 52ee90 236 FUNC RETURNTYPE RAX 0 52ee90 236 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 - 52eeb6 4 INSTR FPTRSHADOW EAX SHADOWID 45 - 52ef36 4 INSTR FPTRCHECK ECX SHADOWID 45 + 52ee99 2 INSTR FPTRSHADOW RAX SHADOWID 45 + 52ef36 4 INSTR FPTRCHECK [ESP+20] SHADOWID 45 52ef80 631 FUNC RETURNTYPE RAX 0 52ef80 631 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 52f09d 3 INSTR CHECK OVERFLOW UNKNOWNSIGN 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, r12 @@ -16119,11 +16119,13 @@ 580e61 4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R10+2 ZZ lea esi, [r10+2] 580ea0 3 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+1 ZZ lea esi, [rax+1] 580992 4 INSTR FPTRSHADOW [R15+8] SHADOWID 48 - 580f16 4 INSTR FPTRCHECK ECX SHADOWID 48 - 580ab2 4 INSTR FPTRSHADOW EAX SHADOWID 49 - 580b4f 4 INSTR FPTRCHECK ECX SHADOWID 49 + 580f16 4 INSTR FPTRCHECK [ESP+104] SHADOWID 48 + 580ab2 4 INSTR FPTRSHADOW RAX SHADOWID 49 + 580b4f 4 INSTR FPTRCHECK [ESP+88] SHADOWID 49 580992 4 INSTR FPTRSHADOW [R15+8] SHADOWID 50 - 580ca1 4 INSTR FPTRCHECK ECX SHADOWID 50 + 580b4f 4 INSTR FPTRCHECK [ESP+88] SHADOWID 50 + 580992 4 INSTR FPTRSHADOW [R15+8] SHADOWID 51 + 580ca1 4 INSTR FPTRCHECK [ESP+104] SHADOWID 51 580f60 672 FUNC RETURNTYPE RAX 1 580f60 672 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 96 581200 2198 FUNC RETURNTYPE RAX 4 @@ -16401,10 +16403,10 @@ 589d70 1061 FUNC PROBLEM BIO_dump_indent_cb CALLUNRESOLVED 58a003 3 INSTR CHECK TRUNCATION UNSIGNED 64 RCX 8 CL ZZ IDIOM 5 movzx ecx, cl 58a0de 3 INSTR CHECK OVERFLOW SIGNED 64 R8 ZZ add r8d, r14d - 589d70 2 INSTR FPTRSHADOW RDI SHADOWID 51 - 58a08b 4 INSTR FPTRCHECK [RSP+48] SHADOWID 51 589d70 2 INSTR FPTRSHADOW RDI SHADOWID 52 - 58a126 4 INSTR FPTRCHECK [RSP+48] SHADOWID 52 + 58a08b 4 INSTR FPTRCHECK [RSP+48] SHADOWID 52 + 589d70 2 INSTR FPTRSHADOW RDI SHADOWID 53 + 58a126 4 INSTR FPTRCHECK [RSP+48] SHADOWID 53 58a1a0 8 FUNC RETURNTYPE RAX 0 58a1a0 8 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 58a1b0 21 FUNC RETURNTYPE RAX 0 @@ -17020,32 +17022,32 @@ 59861d 4 INSTR CHECK OVERFLOW UNSIGNED 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, 38h 5986a2 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+152 ZZ IDIOM 18 MEMORYSINK lea rdx, [rbp+98h] 5986c0 5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+8 ZZ IDIOM 18 MEMORYSINK lea rdx, [r12+8] - 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 53 - 598654 4 INSTR FPTRCHECK [RSP+8] SHADOWID 53 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 54 - 59835a 4 INSTR FPTRCHECK [RSP+8] SHADOWID 54 + 598654 4 INSTR FPTRCHECK [RSP+8] SHADOWID 54 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 55 - 5983bc 4 INSTR FPTRCHECK [RSP+8] SHADOWID 55 - 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 56 - 59871f 4 INSTR FPTRCHECK [RSP+56] SHADOWID 56 - 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 57 - 598409 4 INSTR FPTRCHECK [RSP+8] SHADOWID 57 + 59835a 4 INSTR FPTRCHECK [RSP+8] SHADOWID 55 + 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 56 + 5983bc 4 INSTR FPTRCHECK [RSP+8] SHADOWID 56 + 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 57 + 59871f 4 INSTR FPTRCHECK [RSP+56] SHADOWID 57 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 58 - 598423 4 INSTR FPTRCHECK [RSP+8] SHADOWID 58 - 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 59 - 598444 4 INSTR FPTRCHECK [RSP+56] SHADOWID 59 + 598409 4 INSTR FPTRCHECK [RSP+8] SHADOWID 58 + 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 59 + 598423 4 INSTR FPTRCHECK [RSP+8] SHADOWID 59 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 60 - 5987a5 4 INSTR FPTRCHECK [RSP+56] SHADOWID 60 - 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 61 - 5984d1 4 INSTR FPTRCHECK [RSP+8] SHADOWID 61 - 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 62 - 5984f0 4 INSTR FPTRCHECK [RSP+56] SHADOWID 62 - 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 63 - 59854d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 63 + 598444 4 INSTR FPTRCHECK [RSP+56] SHADOWID 60 + 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 61 + 5987a5 4 INSTR FPTRCHECK [RSP+56] SHADOWID 61 + 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 62 + 5984d1 4 INSTR FPTRCHECK [RSP+8] SHADOWID 62 + 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 63 + 5984f0 4 INSTR FPTRCHECK [RSP+56] SHADOWID 63 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 64 - 598582 4 INSTR FPTRCHECK [RSP+8] SHADOWID 64 - 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 65 - 5985dc 4 INSTR FPTRCHECK [RSP+56] SHADOWID 65 + 59854d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 64 + 5982d1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 65 + 598582 4 INSTR FPTRCHECK [RSP+8] SHADOWID 65 + 5982ca 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 66 + 5985dc 4 INSTR FPTRCHECK [RSP+56] SHADOWID 66 5987c0 537 FUNC RETURNTYPE RAX 1 5987c0 537 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 5987c0 537 FUNC PROBLEM ec_GFp_simple_set_Jprojective_coordinates_GFp CALLUNRESOLVED @@ -17125,38 +17127,38 @@ 59a27d 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+32 ZZ IDIOM 18 MEMORYSINK lea rdi, [r14+20h] 59a2a3 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea rsi, [rbp+38h] 59a2e3 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+56 ZZ IDIOM 18 MEMORYSINK lea rdi, [r14+38h] - 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 66 - 599d68 4 INSTR FPTRCHECK [RSP+40] SHADOWID 66 - 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 67 - 59a01c 4 INSTR FPTRCHECK [RSP+72] SHADOWID 67 + 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 67 + 599d68 4 INSTR FPTRCHECK [RSP+40] SHADOWID 67 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 68 - 59a03b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 68 + 59a01c 4 INSTR FPTRCHECK [RSP+72] SHADOWID 68 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 69 - 59a05b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 69 - 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 70 - 599f8c 4 INSTR FPTRCHECK [RSP+40] SHADOWID 70 - 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 71 - 599fb4 4 INSTR FPTRCHECK [RSP+72] SHADOWID 71 + 59a03b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 69 + 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 70 + 59a05b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 70 + 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 71 + 599f8c 4 INSTR FPTRCHECK [RSP+40] SHADOWID 71 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 72 - 599fd3 4 INSTR FPTRCHECK [RSP+72] SHADOWID 72 + 599fb4 4 INSTR FPTRCHECK [RSP+72] SHADOWID 72 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 73 - 599ff3 4 INSTR FPTRCHECK [RSP+72] SHADOWID 73 + 599fd3 4 INSTR FPTRCHECK [RSP+72] SHADOWID 73 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 74 - 59a2cd 4 INSTR FPTRCHECK [RSP+72] SHADOWID 74 + 599ff3 4 INSTR FPTRCHECK [RSP+72] SHADOWID 74 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 75 - 59a10a 4 INSTR FPTRCHECK [RSP+72] SHADOWID 75 - 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 76 - 59a136 4 INSTR FPTRCHECK [RSP+40] SHADOWID 76 + 59a2cd 4 INSTR FPTRCHECK [RSP+72] SHADOWID 75 + 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 76 + 59a10a 4 INSTR FPTRCHECK [RSP+72] SHADOWID 76 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 77 - 59a15a 4 INSTR FPTRCHECK [RSP+40] SHADOWID 77 - 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 78 - 59a17b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 78 + 59a136 4 INSTR FPTRCHECK [RSP+40] SHADOWID 77 + 599cc1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 78 + 59a15a 4 INSTR FPTRCHECK [RSP+40] SHADOWID 78 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 79 - 59a1f6 4 INSTR FPTRCHECK [RSP+72] SHADOWID 79 + 59a17b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 79 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 80 - 59a215 4 INSTR FPTRCHECK [RSP+72] SHADOWID 80 + 59a1f6 4 INSTR FPTRCHECK [RSP+72] SHADOWID 80 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 81 - 59a236 4 INSTR FPTRCHECK [RSP+72] SHADOWID 81 + 59a215 4 INSTR FPTRCHECK [RSP+72] SHADOWID 81 + 599cba 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 82 + 59a236 4 INSTR FPTRCHECK [RSP+72] SHADOWID 82 59a330 174 FUNC RETURNTYPE RAX 96 59a330 174 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 59a3e0 548 FUNC RETURNTYPE RAX 1 diff --git a/tests/commit/save-openssl.psexe.infoannot b/tests/commit/save-openssl.psexe.infoannot index 9cd4f63e421ca00e8a8447315af18a45968c59e2..76b449fb675d14e9f79637dd7bd93679e615a56e 100644 --- a/tests/commit/save-openssl.psexe.infoannot +++ b/tests/commit/save-openssl.psexe.infoannot @@ -4219,8 +4219,8 @@ 4b9b40 1292 FUNC PROBLEM BN_is_prime_fasttest_ex CALLUNRESOLVED 4ba050 236 FUNC RETURNTYPE RAX 0 4ba050 236 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 - 4ba076 4 INSTR FPTRSHADOW EAX SHADOWID 26 - 4ba0f6 4 INSTR FPTRCHECK ECX SHADOWID 26 + 4ba059 2 INSTR FPTRSHADOW RAX SHADOWID 26 + 4ba0f6 4 INSTR FPTRCHECK [ESP+20] SHADOWID 26 4ba140 631 FUNC RETURNTYPE RAX 0 4ba140 631 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 4 ARG4 1 ARG5 96 4ba25d 3 INSTR CHECK OVERFLOW UNKNOWNSIGN 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, r12 @@ -8751,7 +8751,7 @@ 50e1a0 1748 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 2 ARG3 96 ARG4 96 ARG5 96 50e742 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+24 ZZ IDIOM 18 MEMORYSINK lea rsi, [rbx+18h] 50e1a0 2 INSTR FPTRSHADOW RDX SHADOWID 32 - 50e561 5 INSTR FPTRCHECK RCX SHADOWID 32 + 50e561 5 INSTR FPTRCHECK [RSP+32] SHADOWID 32 50e880 179 FUNC RETURNTYPE RAX 4 50e880 179 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 50e940 672 FUNC RETURNTYPE RAX 96 @@ -13217,11 +13217,13 @@ 570371 4 INSTR CHECK OVERFLOW NOFLAGSIGNED 64 R10+2 ZZ lea esi, [r10+2] 5703b0 3 INSTR CHECK OVERFLOW NOFLAGSIGNED 32 RAX+1 ZZ lea esi, [rax+1] 56fea2 4 INSTR FPTRSHADOW [R15+8] SHADOWID 50 - 570426 4 INSTR FPTRCHECK ECX SHADOWID 50 - 56ffc2 4 INSTR FPTRSHADOW EAX SHADOWID 51 - 57005f 4 INSTR FPTRCHECK ECX SHADOWID 51 + 570426 4 INSTR FPTRCHECK [ESP+104] SHADOWID 50 + 56ffc2 4 INSTR FPTRSHADOW RAX SHADOWID 51 + 57005f 4 INSTR FPTRCHECK [ESP+88] SHADOWID 51 56fea2 4 INSTR FPTRSHADOW [R15+8] SHADOWID 52 - 5701b1 4 INSTR FPTRCHECK ECX SHADOWID 52 + 57005f 4 INSTR FPTRCHECK [ESP+88] SHADOWID 52 + 56fea2 4 INSTR FPTRSHADOW [R15+8] SHADOWID 53 + 5701b1 4 INSTR FPTRCHECK [ESP+104] SHADOWID 53 570470 508 FUNC RETURNTYPE RAX 4 570470 508 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 0 570549 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+40 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbx+28h] @@ -14009,10 +14011,10 @@ 582d60 801 FUNC RETURNTYPE RAX 0 582d60 801 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 582d60 801 FUNC PROBLEM ASN1_sign CALLUNRESOLVED - 582d60 2 INSTR FPTRSHADOW RDI SHADOWID 53 - 582e6d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 53 582d60 2 INSTR FPTRSHADOW RDI SHADOWID 54 - 582f46 4 INSTR FPTRCHECK [RSP+8] SHADOWID 54 + 582e6d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 54 + 582d60 2 INSTR FPTRSHADOW RDI SHADOWID 55 + 582f46 4 INSTR FPTRCHECK [RSP+8] SHADOWID 55 583090 870 FUNC RETURNTYPE RAX 0 583090 870 FUNC INARGS 6 ARG0 16 ARG1 4 ARG2 4 ARG3 0 ARG4 4 ARG5 4 583090 870 FUNC PROBLEM ASN1_item_sign_ctx CALLUNRESOLVED @@ -14863,32 +14865,32 @@ 599c4d 4 INSTR CHECK OVERFLOW UNSIGNED 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, 38h 599cd2 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+152 ZZ IDIOM 18 MEMORYSINK lea rdx, [rbp+98h] 599cf0 5 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+8 ZZ IDIOM 18 MEMORYSINK lea rdx, [r12+8] - 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 55 - 599c84 4 INSTR FPTRCHECK [RSP+8] SHADOWID 55 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 56 - 59998a 4 INSTR FPTRCHECK [RSP+8] SHADOWID 56 + 599c84 4 INSTR FPTRCHECK [RSP+8] SHADOWID 56 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 57 - 5999ec 4 INSTR FPTRCHECK [RSP+8] SHADOWID 57 - 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 58 - 599d4f 4 INSTR FPTRCHECK [RSP+56] SHADOWID 58 - 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 59 - 599a39 4 INSTR FPTRCHECK [RSP+8] SHADOWID 59 + 59998a 4 INSTR FPTRCHECK [RSP+8] SHADOWID 57 + 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 58 + 5999ec 4 INSTR FPTRCHECK [RSP+8] SHADOWID 58 + 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 59 + 599d4f 4 INSTR FPTRCHECK [RSP+56] SHADOWID 59 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 60 - 599a53 4 INSTR FPTRCHECK [RSP+8] SHADOWID 60 - 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 61 - 599a74 4 INSTR FPTRCHECK [RSP+56] SHADOWID 61 + 599a39 4 INSTR FPTRCHECK [RSP+8] SHADOWID 60 + 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 61 + 599a53 4 INSTR FPTRCHECK [RSP+8] SHADOWID 61 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 62 - 599dd5 4 INSTR FPTRCHECK [RSP+56] SHADOWID 62 - 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 63 - 599b01 4 INSTR FPTRCHECK [RSP+8] SHADOWID 63 - 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 64 - 599b20 4 INSTR FPTRCHECK [RSP+56] SHADOWID 64 - 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 65 - 599b7d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 65 + 599a74 4 INSTR FPTRCHECK [RSP+56] SHADOWID 62 + 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 63 + 599dd5 4 INSTR FPTRCHECK [RSP+56] SHADOWID 63 + 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 64 + 599b01 4 INSTR FPTRCHECK [RSP+8] SHADOWID 64 + 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 65 + 599b20 4 INSTR FPTRCHECK [RSP+56] SHADOWID 65 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 66 - 599bb2 4 INSTR FPTRCHECK [RSP+8] SHADOWID 66 - 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 67 - 599c0c 4 INSTR FPTRCHECK [RSP+56] SHADOWID 67 + 599b7d 4 INSTR FPTRCHECK [RSP+8] SHADOWID 66 + 599901 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 67 + 599bb2 4 INSTR FPTRCHECK [RSP+8] SHADOWID 67 + 5998fa 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 68 + 599c0c 4 INSTR FPTRCHECK [RSP+56] SHADOWID 68 599df0 537 FUNC RETURNTYPE RAX 1 599df0 537 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 599df0 537 FUNC PROBLEM ec_GFp_simple_set_Jprojective_coordinates_GFp CALLUNRESOLVED @@ -14968,38 +14970,38 @@ 59b8ad 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+32 ZZ IDIOM 18 MEMORYSINK lea rdi, [r14+20h] 59b8d3 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+56 ZZ IDIOM 18 MEMORYSINK lea rsi, [rbp+38h] 59b913 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R14+56 ZZ IDIOM 18 MEMORYSINK lea rdi, [r14+38h] - 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 68 - 59b398 4 INSTR FPTRCHECK [RSP+40] SHADOWID 68 - 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 69 - 59b64c 4 INSTR FPTRCHECK [RSP+72] SHADOWID 69 + 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 69 + 59b398 4 INSTR FPTRCHECK [RSP+40] SHADOWID 69 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 70 - 59b66b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 70 + 59b64c 4 INSTR FPTRCHECK [RSP+72] SHADOWID 70 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 71 - 59b68b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 71 - 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 72 - 59b5bc 4 INSTR FPTRCHECK [RSP+40] SHADOWID 72 - 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 73 - 59b5e4 4 INSTR FPTRCHECK [RSP+72] SHADOWID 73 + 59b66b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 71 + 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 72 + 59b68b 4 INSTR FPTRCHECK [RSP+72] SHADOWID 72 + 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 73 + 59b5bc 4 INSTR FPTRCHECK [RSP+40] SHADOWID 73 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 74 - 59b603 4 INSTR FPTRCHECK [RSP+72] SHADOWID 74 + 59b5e4 4 INSTR FPTRCHECK [RSP+72] SHADOWID 74 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 75 - 59b623 4 INSTR FPTRCHECK [RSP+72] SHADOWID 75 + 59b603 4 INSTR FPTRCHECK [RSP+72] SHADOWID 75 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 76 - 59b8fd 4 INSTR FPTRCHECK [RSP+72] SHADOWID 76 + 59b623 4 INSTR FPTRCHECK [RSP+72] SHADOWID 76 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 77 - 59b73a 4 INSTR FPTRCHECK [RSP+72] SHADOWID 77 - 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 78 - 59b766 4 INSTR FPTRCHECK [RSP+40] SHADOWID 78 + 59b8fd 4 INSTR FPTRCHECK [RSP+72] SHADOWID 77 + 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 78 + 59b73a 4 INSTR FPTRCHECK [RSP+72] SHADOWID 78 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 79 - 59b78a 4 INSTR FPTRCHECK [RSP+40] SHADOWID 79 - 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 80 - 59b7ab 4 INSTR FPTRCHECK [RSP+72] SHADOWID 80 + 59b766 4 INSTR FPTRCHECK [RSP+40] SHADOWID 79 + 59b2f1 7 INSTR FPTRSHADOW [RAX+264] SHADOWID 80 + 59b78a 4 INSTR FPTRCHECK [RSP+40] SHADOWID 80 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 81 - 59b826 4 INSTR FPTRCHECK [RSP+72] SHADOWID 81 + 59b7ab 4 INSTR FPTRCHECK [RSP+72] SHADOWID 81 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 82 - 59b845 4 INSTR FPTRCHECK [RSP+72] SHADOWID 82 + 59b826 4 INSTR FPTRCHECK [RSP+72] SHADOWID 82 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 83 - 59b866 4 INSTR FPTRCHECK [RSP+72] SHADOWID 83 + 59b845 4 INSTR FPTRCHECK [RSP+72] SHADOWID 83 + 59b2ea 7 INSTR FPTRSHADOW [RAX+256] SHADOWID 84 + 59b866 4 INSTR FPTRCHECK [RSP+72] SHADOWID 84 59b960 174 FUNC RETURNTYPE RAX 96 59b960 174 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 59ba10 548 FUNC RETURNTYPE RAX 1