From a3b6b166f86e8c6c64e7fdd2158d411278ead372 Mon Sep 17 00:00:00 2001 From: clc5q <clc5q@git.zephyr-software.com> Date: Sun, 17 Jan 2016 04:13:42 +0000 Subject: [PATCH] Replace uses of GetOpDataSize() with STARS_op_t::GetByteWidth() and continue to improve function pointer shadowing. Former-commit-id: d00329fbdffe72415d2749bfd49c507bf4b2bdf2 --- src/base/SMPBasicBlock.cpp | 12 ++-- src/base/SMPDataFlowAnalysis.cpp | 4 +- src/base/SMPFunction.cpp | 4 +- src/base/SMPInstr.cpp | 20 +++--- tests/commit/save-busybox.psexe.infoannot | 8 ++- ...save-ffmpeg.psexe.infoannot.REMOVED.git-id | 2 +- .../save-gnome-keyring-daemon.psexe.infoannot | 2 + tests/commit/save-nginx.psexe.infoannot | 72 +++++++++++++++++-- tests/commit/save-openssl.psexe.infoannot | 66 +++++++++++++++-- 9 files changed, 155 insertions(+), 35 deletions(-) diff --git a/src/base/SMPBasicBlock.cpp b/src/base/SMPBasicBlock.cpp index 91c2a462..c5dba8c7 100644 --- a/src/base/SMPBasicBlock.cpp +++ b/src/base/SMPBasicBlock.cpp @@ -5010,7 +5010,7 @@ bool SMPBasicBlock::IsBenignOverflowDEF(const STARSOpndTypePtr &DefOp, int DefSS if (!benign) { STARSOpndTypePtr UseOp = DefInst->GetUseOnlyAddSubOp(); - size_t UseBitWidth = 8 * GetOpDataSize(UseOp); + size_t UseBitWidth = 8 * UseOp->GetByteWidth(); // IDIOM 28: Normal width arithmetic produces value that is then involved in subword arithmetic. // Ignore overflow or underflow on the subword arithmetic. if ((UseOp->IsRegOp()) && (UseBitWidth < MD_NORMAL_MACHINE_BITWIDTH)) { // UseOp is candidate for IDIOM 28. @@ -5027,7 +5027,7 @@ bool SMPBasicBlock::IsBenignOverflowDEF(const STARSOpndTypePtr &DefOp, int DefSS // If UseOp was DEFed by addition or subtraction, examine the bit width of the operation. STARSOpndTypePtr UseDefDEFOperand = UseDefInst->GetDefUseAddSubOp(); if (UseDefDEFOperand->IsRegOp()) { - size_t UseDefBitWidth = 8 * GetOpDataSize(UseDefDEFOperand); + size_t UseDefBitWidth = 8 * UseDefDEFOperand->GetByteWidth(); if (UseDefBitWidth > UseBitWidth) { // Current instruction uses a truncated portion of the previous DEF. // The current add or subtract might overflow or underflow, but this @@ -5041,7 +5041,7 @@ bool SMPBasicBlock::IsBenignOverflowDEF(const STARSOpndTypePtr &DefOp, int DefSS } if (!benign && (DefOp->IsRegOp())) { STARSOpndTypePtr OriginalDefOp = DefInst->GetDefUseAddSubOp(); - size_t OriginalDefBitWidth = 8 * GetOpDataSize(OriginalDefOp); + size_t OriginalDefBitWidth = 8 * OriginalDefOp->GetByteWidth(); if (OriginalDefBitWidth < MD_NORMAL_MACHINE_BITWIDTH) { // DefOp is candidate for IDIOM 28. set<DefOrUse, LessDefUse>::iterator UseIter = DefInst->FindUse(DefOp); assert(UseIter != DefInst->GetLastUse()); @@ -5055,7 +5055,7 @@ bool SMPBasicBlock::IsBenignOverflowDEF(const STARSOpndTypePtr &DefOp, int DefSS // If DefOp was DEFed by addition or subtraction, examine the bit width of the operation. STARSOpndTypePtr DefUseDefDEFOperand = DefUseDefInst->GetDefUseAddSubOp(); if (DefUseDefDEFOperand->IsRegOp()) { - size_t DefUseDefBitWidth = 8 * GetOpDataSize(DefUseDefDEFOperand); + size_t DefUseDefBitWidth = 8 * DefUseDefDEFOperand->GetByteWidth(); if (DefUseDefBitWidth > OriginalDefBitWidth) { // Current instruction uses a truncated portion of the previous DEF. // The current add or subtract might overflow or underflow, but this @@ -5199,7 +5199,7 @@ bool SMPBasicBlock::IsBenignTruncationDEF(const STARSOpndTypePtr &DefOp, int Def FoundTruncationDef = true; TruncationInst = CurrInst; - UseBitWidth = 8 * GetOpDataSize(UseOp); + UseBitWidth = 8 * UseOp->GetByteWidth(); if (MD_NORMAL_MACHINE_BITWIDTH <= UseBitWidth) { // Cannot be truncation; exit. break; @@ -5260,7 +5260,7 @@ bool SMPBasicBlock::IsBenignTruncationDEF(const STARSOpndTypePtr &DefOp, int Def if (UseIter2 != CurrInst->GetLastUse()) { if ((CurrInst->GetOptType() == 3) && (!CurrInst->MDIsSignedLoad(SignMask))) { UseOp2 = UseIter2->GetOp(); - size_t UseBitWidth2 = 8 * GetOpDataSize(UseOp2); + size_t UseBitWidth2 = 8 * UseOp2->GetByteWidth(); if (UseBitWidth == UseBitWidth2) { // Entire pattern matched. Moved lower bits, shifted or rotated by // stored bit width, then moved new lower bits. diff --git a/src/base/SMPDataFlowAnalysis.cpp b/src/base/SMPDataFlowAnalysis.cpp index 64ecc326..d9bb5760 100644 --- a/src/base/SMPDataFlowAnalysis.cpp +++ b/src/base/SMPDataFlowAnalysis.cpp @@ -259,7 +259,7 @@ char GetRegDtyp(uint16_t RegNum, bool Has64BitOpnds) { unsigned short ComputeOperandBitWidthMask(const STARSOpndTypePtr &CurrOp, size_t DataSize) { unsigned short BitWidthMask = 32; if (0 == DataSize) - DataSize = GetOpDataSize(CurrOp); + DataSize = CurrOp->GetByteWidth(); if (4 == DataSize) BitWidthMask = FG_MASK_BITWIDTH_32; else if (8 == DataSize) @@ -412,7 +412,7 @@ void CanonicalizeOpnd(STARSOpndTypePtr &TempOp) { // If TempOp is a register, call MDCanonicalizeSubReg() on it. void CanonicalizeOpnd(STARSOpndTypePtr &TempOp) { if (TempOp->IsRegOp()) { - if (4 > GetOpDataSize(TempOp)) { + if (4 > TempOp->GetByteWidth()) { TempOp->SetReg(MDCanonicalizeSubReg(TempOp->GetReg())); } // Convert 32-bit regs to 64-bit on 64-bit binaries. diff --git a/src/base/SMPFunction.cpp b/src/base/SMPFunction.cpp index 2eafd0fc..689be030 100644 --- a/src/base/SMPFunction.cpp +++ b/src/base/SMPFunction.cpp @@ -3043,7 +3043,7 @@ bool SMPFunction::MDGetStackOffsetAndSize(SMPInstr *Instr, const STARSOpndTypePt SignedOffset -= BaseValue; // convert to StackFrameMap index offset = (STARS_ea_t) SignedOffset; // write back to outgoing argument // Get size of data written - DataSize = GetOpDataSize(TempOp); + DataSize = TempOp->GetByteWidth(); FP = false; Indexed = ((BaseReg != STARS_x86_R_none) && (IndexReg != STARS_x86_R_none)); // two regs used unsigned short opcode = Instr->GetIDAOpcode(); @@ -3061,7 +3061,7 @@ bool SMPFunction::MDGetStackOffsetAndSize(SMPInstr *Instr, const STARSOpndTypePt SignedOffset += this->GetFramePtrStackDelta(); // base offsets from entry ESP value, e.g. ebp-4 == esp-8 SignedOffset -= BaseValue; // convert to StackFrameMap index offset = (STARS_ea_t) SignedOffset; - DataSize = GetOpDataSize(TempOp); + DataSize = TempOp->GetByteWidth(); FP = true; Indexed = ((BaseReg != STARS_x86_R_none) && (IndexReg != STARS_x86_R_none)); // two regs used #if 0 diff --git a/src/base/SMPInstr.cpp b/src/base/SMPInstr.cpp index 17686e8f..57ce2ea4 100644 --- a/src/base/SMPInstr.cpp +++ b/src/base/SMPInstr.cpp @@ -2359,7 +2359,7 @@ void SMPInstr::MDEmitSPARKAdaCompareOrTest(FILE *OutFile) { CurrRT = CurrRT->GetRightTree(); STARSOpndTypePtr LeftOp = CurrRT->GetLeftOperandNoNorm(); STARSOpndTypePtr RightOp = CurrRT->GetRightOperandNoNorm(); - std::size_t LeftBitWidth = 8 * GetOpDataSize(LeftOp); + std::size_t LeftBitWidth = 8 * LeftOp->GetByteWidth(); // ZeroFlag PrintSPARKIndentTabs(OutFile); @@ -3970,7 +3970,7 @@ bool SMPInstr::MDIsStackPtrSaveOrRestore(bool UseFP, STARS_sval_t FPDelta, bool break; // not a regular RTL } STARSOpndTypePtr LeftOp = CurrRT->GetLeftOperand(); - if (4 > GetOpDataSize(LeftOp)) { + if (4 > LeftOp->GetByteWidth()) { continue; // Not tracking copies of less than the full stack or frame pointer // NOTE: We hard code 4 bytes because we will track bottom 32 bits, often seen in 64-bit code. } @@ -11075,7 +11075,7 @@ void SMPInstr::EmitAnnotations(bool UseFP, bool AllocSeen, bool NeedsFrame, FILE // Emit informational annotations for memory operands. if (MemSrc) { STARSOpndTypePtr MemSrcOp = this->MDGetMemUseOp(); - std::size_t SrcBitWidth = 8 * GetOpDataSize(MemSrcOp); + std::size_t SrcBitWidth = 8 * MemSrcOp->GetByteWidth(); STARSOpndTypePtr AnnotDefOp = CloneIfNecessary(MemSrcOp, UseFP); // Need to unnormalize stack memory DEFs and USEs before printing annotations. this->MDGetUnnormalizedOp(AnnotDefOp); @@ -11085,7 +11085,7 @@ void SMPInstr::EmitAnnotations(bool UseFP, bool AllocSeen, bool NeedsFrame, FILE } if (MemDest) { STARSOpndTypePtr MemDestOp = this->MDGetMemDefOp(); - std::size_t DestBitWidth = 8 * GetOpDataSize(MemDestOp); + std::size_t DestBitWidth = 8 * MemDestOp->GetByteWidth(); STARSOpndTypePtr AnnotDefOp = CloneIfNecessary(MemDestOp, UseFP); // Need to unnormalize stack memory DEFs and USEs before printing annotations. this->MDGetUnnormalizedOp(AnnotDefOp); @@ -11361,7 +11361,7 @@ void SMPInstr::EmitTypeAnnotations(bool UseFP, bool AllocSeen, bool NeedsFrame, // Emit informational annotations for memory operands. if (MemSrc) { STARSOpndTypePtr MemSrcOp = this->MDGetMemUseOp(); - std::size_t SrcBitWidth = 8 * GetOpDataSize(MemSrcOp); + std::size_t SrcBitWidth = 8 * MemSrcOp->GetByteWidth(); STARSOpndTypePtr AnnotDefOp = CloneIfNecessary(MemSrcOp, UseFP); // Need to unnormalize stack memory DEFs and USEs before printing annotations. this->MDGetUnnormalizedOp(AnnotDefOp); @@ -11371,7 +11371,7 @@ void SMPInstr::EmitTypeAnnotations(bool UseFP, bool AllocSeen, bool NeedsFrame, } if (MemDest) { STARSOpndTypePtr MemDestOp = this->MDGetMemDefOp(); - std::size_t DestBitWidth = 8 * GetOpDataSize(MemDestOp); + std::size_t DestBitWidth = 8 * MemDestOp->GetByteWidth(); STARSOpndTypePtr AnnotDefOp = CloneIfNecessary(MemDestOp, UseFP); // Need to unnormalize stack memory DEFs and USEs before printing annotations. this->MDGetUnnormalizedOp(AnnotDefOp); @@ -12388,7 +12388,7 @@ void SMPInstr::EmitIntegerErrorAnnotations(FILE *InfoAnnotFile, list<std::size_t // Get the Def bit width and maximum bit width for special cases. DefWidthInfo = DefFGInfo.SizeInfo; DefMaxBitWidth = LargestBitWidthFromMask(DefWidthInfo); // max width over all defs - DefBitWidth = 8 * GetOpDataSize(DefOp); // width of def in current instruction + DefBitWidth = 8 * DefOp->GetByteWidth(); // width of def in current instruction PartialStore = (DefBitWidth < DefMaxBitWidth); if (StackDestination) { @@ -12414,7 +12414,7 @@ void SMPInstr::EmitIntegerErrorAnnotations(FILE *InfoAnnotFile, list<std::size_t || ((SourceDefBitWidth == 0) && (UseMaxBitWidth > UseBitWidth))) { // Original DEF (or subsequent USE) was wider than what we are storing now. if (SourceDefBitWidth == 0) { // Convert for printing annotation. - SourceDefBitWidth = 8 * GetOpDataSize(SearchOp); + SourceDefBitWidth = 8 * SearchOp->GetByteWidth(); } if ((SourceDefBitWidth == 64) && (SearchOp->GetByteWidth() < 8)) { // Unlike overflows, we don't have the original DefOp that is 64 bits; @@ -16226,7 +16226,7 @@ bool SMPInstr::BuildPopRTL(void) { TempRT->SetParentInst(this); TempRT->SetLeftOperand(TempOp); TempRT->SetOperator(SMP_ASSIGN); - OpSize = GetOpDataSize(TempOp); + OpSize = TempOp->GetByteWidth(); STARSOpndTypePtr StackOp = this->STARSInstPtr->MakeMemDisplacementOpnd(STARS_x86_R_sp, STARS_x86_R_none, 0, 0); StackOp->SetByteWidth(OpSize); TempRT->SetRightOperand(StackOp); @@ -16381,7 +16381,7 @@ bool SMPInstr::BuildPushRTL(void) { if (this->STARSInstPtr->IsUseOpnd(OpNum)) { // USE if (MDKnownOperandType(TempOp)) { SourceFound = true; - OpSize = GetOpDataSize(TempOp); + OpSize = TempOp->GetByteWidth(); TempRT = new SMPRegTransfer; TempRT->SetParentInst(this); TempRT->SetRightOperand(TempOp); diff --git a/tests/commit/save-busybox.psexe.infoannot b/tests/commit/save-busybox.psexe.infoannot index bfcfb342..79f4b53f 100644 --- a/tests/commit/save-busybox.psexe.infoannot +++ b/tests/commit/save-busybox.psexe.infoannot @@ -1866,6 +1866,8 @@ 4203f3 669 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 96 ARG4 1 ARG5 1 4203f3 669 FUNC PROBLEM sub_4203F3 CALLUNRESOLVED 42053e 3 INSTR CHECK UNDERFLOW UNSIGNED 64 RSI ZZ IDIOM 19 sub rsi, rbp + 4203f3 2 INSTR FPTRSHADOW RDX SHADOWID 1 + 420653 3 INSTR FPTRCHECK R15 SHADOWID 1 420690 16 FUNC RETURNTYPE RAX 0 420690 16 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4206a0 16 FUNC RETURNTYPE RAX 0 @@ -2218,6 +2220,8 @@ 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 @@ -2495,8 +2499,8 @@ 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 1 - 42f0b3 5 INSTR FPTRCHECK RDX SHADOWID 1 + 42ef01 2 INSTR FPTRSHADOW RDX SHADOWID 3 + 42f0b3 5 INSTR FPTRCHECK RDX SHADOWID 3 42f0f8 175 FUNC RETURNTYPE RAX 0 42f0f8 175 FUNC PROBLEM sub_42F0F8 STACKANALYSIS 42f1a7 64 FUNC RETURNTYPE RAX 0 diff --git a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id index 62ec0e54..d17c454b 100644 --- a/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id +++ b/tests/commit/save-ffmpeg.psexe.infoannot.REMOVED.git-id @@ -1 +1 @@ -a37ea252eccf885935feab76a6986f944ee557f9 \ No newline at end of file +82e73428cdde8720417b7aca9aa0ff46346bb823 \ No newline at end of file diff --git a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot index 58d8607e..805bcbe3 100644 --- a/tests/commit/save-gnome-keyring-daemon.psexe.infoannot +++ b/tests/commit/save-gnome-keyring-daemon.psexe.infoannot @@ -1787,6 +1787,8 @@ 422c50 118 FUNC RETURNTYPE RAX 4 422c50 118 FUNC INARGS 6 ARG0 4 ARG1 16 ARG2 4 ARG3 1 ARG4 1 ARG5 0 422c50 118 FUNC PROBLEM sub_422C50 CALLUNRESOLVED + 422c5d 4 INSTR FPTRSHADOW [EDI+16] SHADOWID 1 + 422c72 2 INSTR FPTRCHECK RAX SHADOWID 1 422cd0 59 FUNC RETURNTYPE RAX 0 422cd0 59 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 422d10 299 FUNC RETURNTYPE RAX 4 diff --git a/tests/commit/save-nginx.psexe.infoannot b/tests/commit/save-nginx.psexe.infoannot index 59876277..33e83c4e 100644 --- a/tests/commit/save-nginx.psexe.infoannot +++ b/tests/commit/save-nginx.psexe.infoannot @@ -2426,6 +2426,12 @@ 43bf6b 878 FUNC INARGS 6 ARG0 4 ARG1 2 ARG2 1 ARG3 4 ARG4 1 ARG5 4 43bf6b 878 FUNC PROBLEM ngx_http_read_client_request_body CALLUNRESOLVED 43c16a 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+32 ZZ IDIOM 18 MEMORYSINK lea rsi, [rb+20h] ; free + 43bf6b 5 INSTR FPTRSHADOW RSI SHADOWID 1 + 43bfc1 2 INSTR FPTRCHECK RBP SHADOWID 1 + 43bf6b 5 INSTR FPTRSHADOW RSI SHADOWID 2 + 43c026 2 INSTR FPTRCHECK RBP SHADOWID 2 + 43bf6b 5 INSTR FPTRSHADOW RSI SHADOWID 3 + 43c1ec 2 INSTR FPTRCHECK RBP SHADOWID 3 43c2d9 63 FUNC RETURNTYPE RAX 96 43c2d9 63 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 4 ARG4 0 ARG5 4 43c318 285 FUNC RETURNTYPE RAX 1 @@ -4222,8 +4228,8 @@ 468e40 8 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 RDX*8 ZZ lea rsi, ds:0[rdx*8]; size 468fc9 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+4 ZZ lea rsi, [len+4] ; size 4692cd 4 INSTR CHECK OVERFLOW UNSIGNED 64 RDI ZZ IDIOM 18 MEMORYSINK add rdi, 2 ; dest - 4690a8 3 INSTR FPTRSHADOW RAX SHADOWID 1 - 469155 2 INSTR FPTRCHECK [EAX] SHADOWID 1 + 4690a8 3 INSTR FPTRSHADOW RAX SHADOWID 4 + 469155 2 INSTR FPTRCHECK [EAX] SHADOWID 4 469453 3920 FUNC RETURNTYPE RAX 1 469453 3920 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 0 ARG4 0 ARG5 0 46980a 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea rsi, [conf+0C0h]; path @@ -5151,6 +5157,8 @@ 47d552 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbx+0C0h] 47d600 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+272 ZZ IDIOM 18 MEMORYSINK lea rdx, [r13+110h] 47d607 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+264 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+108h] + 47d536 5 INSTR FPTRSHADOW [R12+88] SHADOWID 5 + 47d550 2 INSTR FPTRCHECK RAX SHADOWID 5 47d620 8 FUNC RETURNTYPE RAX 0 47d620 8 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 4 ARG3 4 ARG4 1 ARG5 1 47d630 78 FUNC RETURNTYPE RAX 4 @@ -5434,6 +5442,8 @@ 485630 284 FUNC RETURNTYPE RAX 1 485630 284 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 485630 284 FUNC PROBLEM SSL_srp_server_param_with_username CALLUNRESOLVED + 485659 7 INSTR FPTRSHADOW [EDI+688] SHADOWID 6 + 485672 2 INSTR FPTRCHECK RAX SHADOWID 6 485750 231 FUNC RETURNTYPE RAX 1 485750 231 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 4 4857eb 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+776 ZZ IDIOM 18 MEMORYSINK lea rcx, [r12+308h] @@ -5588,6 +5598,10 @@ 489474 5 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+RDX+20 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+rdx+14h] 4894e3 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+8 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+8] ; src 4894e7 2 INSTR CHECK SIGNEDNESS UNSIGNED 32 ECX ZZ mov edx, ecx ; n + 489065 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 7 + 48908f 2 INSTR FPTRCHECK RAX SHADOWID 7 + 48827c 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 8 + 4882a9 3 INSTR FPTRCHECK R10 SHADOWID 8 489900 6 FUNC RETURNTYPE RAX 1 489900 6 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 489910 6 FUNC RETURNTYPE RAX 1 @@ -6040,6 +6054,10 @@ 49b735 7 INSTR CHECK OVERFLOW UNSIGNED 64 RSI ZZ IDIOM 18 MEMORYSINK add rsi, [rbp+130h] ; src 49b73c 3 INSTR CHECK SIGNEDNESS UNSIGNED 64 R12 ZZ mov edx, r12d ; n 49b911 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea edx, [r12+3E8h] + 49aac8 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 9 + 49ab11 2 INSTR FPTRCHECK RAX SHADOWID 9 + 49b4b1 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 10 + 49b4e4 2 INSTR FPTRCHECK RAX SHADOWID 10 49bae0 287 FUNC RETURNTYPE RAX 96 49bae0 287 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 4 49bae0 287 FUNC PROBLEM ssl3_dispatch_alert CALLUNRESOLVED @@ -6088,6 +6106,8 @@ 49c650 1038 FUNC PROBLEM ssl3_get_message CALLUNRESOLVED 49c771 3 INSTR CHECK OVERFLOW SIGNED 32 RDX ZZ add edx, 4 49c96b 3 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+4 ZZ lea esi, [rcx+4] + 49c830 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 11 + 49c7ec 2 INSTR FPTRCHECK RAX SHADOWID 11 49ca60 157 FUNC RETURNTYPE RAX 1 49ca60 157 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 49cb00 24 FUNC RETURNTYPE RAX 1 @@ -6294,6 +6314,10 @@ 4a2a2b 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+632 ZZ IDIOM 18 MEMORYSINK lea rsi, [rcx+278h] 4a3236 7 INSTR CHECK OVERFLOW UNSIGNED 64 RSI ZZ IDIOM 18 MEMORYSINK add rsi, [r13+130h] ; src 4a32b9 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea edx, [r12+3E8h] + 4a2add 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 12 + 4a2b27 2 INSTR FPTRCHECK RAX SHADOWID 12 + 4a3003 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 13 + 4a3035 2 INSTR FPTRCHECK RAX SHADOWID 13 4a3500 238 FUNC RETURNTYPE RAX 1 4a3500 238 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4a3500 238 FUNC PROBLEM dtls1_write_app_data_bytes CALLUNRESOLVED @@ -7330,6 +7354,8 @@ 4bbf20 79 FUNC RETURNTYPE RAX 1 4bbf20 79 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4bbf20 79 FUNC PROBLEM RSA_set_method CALLUNRESOLVED + 4bbf51 4 INSTR FPTRSHADOW [EBP+56] SHADOWID 14 + 4bbf61 2 INSTR FPTRCHECK RAX SHADOWID 14 4bbf70 587 FUNC RETURNTYPE RAX 4 4bbf70 587 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 4bbf70 587 FUNC PROBLEM RSA_new_method CALLUNRESOLVED @@ -7505,6 +7531,8 @@ 4be450 91 FUNC RETURNTYPE RAX 1 4be450 91 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4be450 91 FUNC PROBLEM DH_set_method CALLUNRESOLVED + 4be48a 4 INSTR FPTRSHADOW [EBP+32] SHADOWID 15 + 4be49d 2 INSTR FPTRCHECK RAX SHADOWID 15 4be4b0 440 FUNC RETURNTYPE RAX 4 4be4b0 440 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4be4b0 440 FUNC PROBLEM DH_new CALLUNRESOLVED @@ -9176,6 +9204,8 @@ 4d5f00 719 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 1 ARG4 4 ARG5 1 4d5f00 719 FUNC PROBLEM int_ctx_new CALLUNRESOLVED 4d5fac 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+8 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbp+8] + 4d5fca 4 INSTR FPTRSHADOW [R13+8] SHADOWID 16 + 4d5fde 2 INSTR FPTRCHECK RAX SHADOWID 16 4d61d0 132 FUNC RETURNTYPE RAX 1 4d61d0 132 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d6260 497 FUNC RETURNTYPE RAX 4 @@ -9252,31 +9282,43 @@ 4d6c60 110 FUNC RETURNTYPE RAX 1 4d6c60 110 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 1 4d6c60 110 FUNC PROBLEM EVP_PKEY_sign_init CALLUNRESOLVED + 4d6c78 4 INSTR FPTRSHADOW [EAX+64] SHADOWID 17 + 4d6c8d 2 INSTR FPTRCHECK RDX SHADOWID 17 4d6cd0 294 FUNC RETURNTYPE RAX 0 4d6cd0 294 FUNC PROBLEM EVP_PKEY_sign JUMPUNRESOLVED 4d6e00 110 FUNC RETURNTYPE RAX 1 4d6e00 110 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 1 4d6e00 110 FUNC PROBLEM EVP_PKEY_verify_init CALLUNRESOLVED + 4d6e18 4 INSTR FPTRSHADOW [EAX+80] SHADOWID 18 + 4d6e2d 2 INSTR FPTRCHECK RDX SHADOWID 18 4d6e70 134 FUNC RETURNTYPE RAX 0 4d6e70 134 FUNC PROBLEM EVP_PKEY_verify JUMPUNRESOLVED 4d6f00 110 FUNC RETURNTYPE RAX 1 4d6f00 110 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d6f00 110 FUNC PROBLEM EVP_PKEY_verify_recover_init CALLUNRESOLVED + 4d6f18 4 INSTR FPTRSHADOW [EAX+96] SHADOWID 19 + 4d6f2d 2 INSTR FPTRCHECK RDX SHADOWID 19 4d6f70 294 FUNC RETURNTYPE RAX 0 4d6f70 294 FUNC PROBLEM EVP_PKEY_verify_recover JUMPUNRESOLVED 4d70a0 126 FUNC RETURNTYPE RAX 1 4d70a0 126 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 4 ARG5 1 4d70a0 126 FUNC PROBLEM EVP_PKEY_encrypt_init CALLUNRESOLVED + 4d70bb 7 INSTR FPTRSHADOW [EAX+144] SHADOWID 20 + 4d70d3 2 INSTR FPTRCHECK RDX SHADOWID 20 4d7120 294 FUNC RETURNTYPE RAX 0 4d7120 294 FUNC PROBLEM EVP_PKEY_encrypt JUMPUNRESOLVED 4d7250 126 FUNC RETURNTYPE RAX 1 4d7250 126 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 4 ARG5 1 4d7250 126 FUNC PROBLEM EVP_PKEY_decrypt_init CALLUNRESOLVED + 4d726b 7 INSTR FPTRSHADOW [EAX+160] SHADOWID 21 + 4d7283 2 INSTR FPTRCHECK RDX SHADOWID 21 4d72d0 294 FUNC RETURNTYPE RAX 0 4d72d0 294 FUNC PROBLEM EVP_PKEY_decrypt JUMPUNRESOLVED 4d7400 126 FUNC RETURNTYPE RAX 1 4d7400 126 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d7400 126 FUNC PROBLEM EVP_PKEY_derive_init CALLUNRESOLVED + 4d741b 7 INSTR FPTRSHADOW [EAX+176] SHADOWID 22 + 4d7433 2 INSTR FPTRCHECK RDX SHADOWID 22 4d7480 562 FUNC RETURNTYPE RAX 1 4d7480 562 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 96 ARG5 96 4d7480 562 FUNC PROBLEM EVP_PKEY_derive_set_peer CALLUNRESOLVED @@ -9288,12 +9330,16 @@ 4d7800 110 FUNC RETURNTYPE RAX 1 4d7800 110 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d7800 110 FUNC PROBLEM EVP_PKEY_paramgen_init CALLUNRESOLVED + 4d7818 4 INSTR FPTRSHADOW [EAX+32] SHADOWID 23 + 4d782d 2 INSTR FPTRCHECK RDX SHADOWID 23 4d7870 259 FUNC RETURNTYPE RAX 1 4d7870 259 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d7870 259 FUNC PROBLEM EVP_PKEY_paramgen CALLUNRESOLVED 4d7980 110 FUNC RETURNTYPE RAX 1 4d7980 110 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d7980 110 FUNC PROBLEM EVP_PKEY_keygen_init CALLUNRESOLVED + 4d7998 4 INSTR FPTRSHADOW [EAX+48] SHADOWID 24 + 4d79ad 2 INSTR FPTRCHECK RDX SHADOWID 24 4d79f0 259 FUNC RETURNTYPE RAX 1 4d79f0 259 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4d79f0 259 FUNC PROBLEM EVP_PKEY_keygen CALLUNRESOLVED @@ -9308,6 +9354,8 @@ 4d7b70 225 FUNC RETURNTYPE RAX 1 4d7b70 225 FUNC INARGS 6 ARG0 1 ARG1 1 ARG2 4 ARG3 0 ARG4 96 ARG5 96 4d7b70 225 FUNC PROBLEM EVP_PKEY_new_mac_key CALLUNRESOLVED + 4d7bb3 4 INSTR FPTRSHADOW [EAX+48] SHADOWID 25 + 4d7bc6 2 INSTR FPTRCHECK RAX SHADOWID 25 4d7c60 454 FUNC RETURNTYPE RAX 1 4d7c60 454 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 1 ARG4 96 ARG5 1 4d7c60 454 FUNC PROBLEM do_sigver_init CALLUNRESOLVED @@ -11805,6 +11853,8 @@ 5014e0 270 FUNC RETURNTYPE RAX 96 5014e0 270 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 5014e0 270 FUNC PROBLEM COMP_CTX_new CALLUNRESOLVED + 501542 4 INSTR FPTRSHADOW [EBX+16] SHADOWID 26 + 501552 2 INSTR FPTRCHECK RAX SHADOWID 26 5015f0 34 FUNC RETURNTYPE RAX 96 5015f0 34 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 4 ARG3 1 ARG4 4 ARG5 96 5015f0 34 FUNC PROBLEM COMP_CTX_free CALLUNRESOLVED @@ -12510,6 +12560,12 @@ 5221f0 496 FUNC PROBLEM CRYPTO_gcm128_setiv CALLUNRESOLVED 522285 4 INSTR CHECK UNDERFLOW UNSIGNED 64 R13 ZZ IDIOM 31 sub r13, 10h 522358 4 INSTR CHECK OVERFLOW UNSIGNED 64 RAX ZZ add rax, 1 + 522208 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 27 + 52231c 3 INSTR FPTRCHECK R14 SHADOWID 27 + 522208 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 28 + 522367 3 INSTR FPTRCHECK R14 SHADOWID 28 + 522208 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 29 + 522380 3 INSTR FPTRCHECK R14 SHADOWID 29 5223e0 411 FUNC RETURNTYPE RAX 1 5223e0 411 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 96 ARG5 96 5223e0 411 FUNC PROBLEM CRYPTO_gcm128_aad CALLUNRESOLVED @@ -12827,8 +12883,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 2 - 52ef36 4 INSTR FPTRCHECK ECX SHADOWID 2 + 52eeb6 4 INSTR FPTRSHADOW EAX SHADOWID 30 + 52ef36 4 INSTR FPTRCHECK ECX SHADOWID 30 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 @@ -13434,6 +13490,8 @@ 540520 85 FUNC RETURNTYPE RAX 1 540520 85 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 540520 85 FUNC PROBLEM DSA_set_method CALLUNRESOLVED + 540557 4 INSTR FPTRSHADOW [EBP+48] SHADOWID 31 + 540567 2 INSTR FPTRCHECK RAX SHADOWID 31 540580 518 FUNC RETURNTYPE RAX 4 540580 518 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 540580 518 FUNC PROBLEM DSA_new_method CALLUNRESOLVED @@ -13694,6 +13752,8 @@ 5458c0 450 FUNC RETURNTYPE RAX 96 5458c0 450 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 4 5458c0 450 FUNC PROBLEM DSO_new_method CALLUNRESOLVED + 545958 4 INSTR FPTRSHADOW [EBP+64] SHADOWID 32 + 545967 2 INSTR FPTRCHECK RAX SHADOWID 32 545a90 7 FUNC RETURNTYPE RAX 4 545a90 7 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 4 ARG4 0 ARG5 4 545aa0 294 FUNC RETURNTYPE RAX 1 @@ -16009,8 +16069,8 @@ 580e1a 3 INSTR CHECK OVERFLOW SIGNED 32 RSI ZZ add esi, 1 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] - 580ab2 4 INSTR FPTRSHADOW EAX SHADOWID 3 - 580b4f 4 INSTR FPTRCHECK ECX SHADOWID 3 + 580ab2 4 INSTR FPTRSHADOW EAX SHADOWID 33 + 580b4f 4 INSTR FPTRCHECK ECX SHADOWID 33 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 diff --git a/tests/commit/save-openssl.psexe.infoannot b/tests/commit/save-openssl.psexe.infoannot index cdfce1c3..9e6fe2af 100644 --- a/tests/commit/save-openssl.psexe.infoannot +++ b/tests/commit/save-openssl.psexe.infoannot @@ -1074,6 +1074,10 @@ 4509e4 5 INSTR CHECK OVERFLOW NOFLAGUNKNOWNSIGN 64 R13+RDX+20 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+rdx+14h] 450a53 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+8 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+8] ; src 450a57 2 INSTR CHECK SIGNEDNESS UNSIGNED 32 ECX ZZ mov edx, ecx ; n + 4505d5 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 1 + 4505ff 2 INSTR FPTRCHECK RAX SHADOWID 1 + 44f7ec 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 2 + 44f819 3 INSTR FPTRCHECK R10 SHADOWID 2 450e70 6 FUNC RETURNTYPE RAX 1 450e70 6 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 450e80 6 FUNC RETURNTYPE RAX 1 @@ -1522,6 +1526,10 @@ 462c35 7 INSTR CHECK OVERFLOW UNSIGNED 64 RSI ZZ IDIOM 18 MEMORYSINK add rsi, [rbp+130h] ; src 462c3c 3 INSTR CHECK SIGNEDNESS UNSIGNED 64 R12 ZZ mov edx, r12d ; n 462df1 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea edx, [r12+3E8h] + 461fc8 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 3 + 462011 2 INSTR FPTRCHECK RAX SHADOWID 3 + 4629b1 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 4 + 4629e4 2 INSTR FPTRCHECK RAX SHADOWID 4 462fc0 287 FUNC RETURNTYPE RAX 96 462fc0 287 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 462fc0 287 FUNC PROBLEM ssl3_dispatch_alert CALLUNRESOLVED @@ -1571,6 +1579,8 @@ 463b10 1030 FUNC PROBLEM ssl3_get_message CALLUNRESOLVED 463c31 3 INSTR CHECK OVERFLOW SIGNED 32 RDX ZZ add edx, 4 463e23 3 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RCX+4 ZZ lea esi, [rcx+4] + 463cf0 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 5 + 463cac 2 INSTR FPTRCHECK RAX SHADOWID 5 463f20 157 FUNC RETURNTYPE RAX 1 463f20 157 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 463fc0 24 FUNC RETURNTYPE RAX 1 @@ -2019,6 +2029,10 @@ 473012 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+632 ZZ IDIOM 18 MEMORYSINK lea rsi, [r12+278h] 473876 7 INSTR CHECK OVERFLOW UNSIGNED 64 RSI ZZ IDIOM 18 MEMORYSINK add rsi, [r13+130h] ; src 473996 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+1000 ZZ IDIOM 32 lea edx, [r12+3E8h] + 4730b5 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 6 + 4730ff 2 INSTR FPTRCHECK RAX SHADOWID 6 + 473643 7 INSTR FPTRSHADOW [EBX+152] SHADOWID 7 + 473675 2 INSTR FPTRCHECK RAX SHADOWID 7 473b40 238 FUNC RETURNTYPE RAX 1 473b40 238 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 473b40 238 FUNC PROBLEM dtls1_write_app_data_bytes CALLUNRESOLVED @@ -2588,6 +2602,8 @@ 47e0f2 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBX+192 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbx+0C0h] 47e1a0 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+272 ZZ IDIOM 18 MEMORYSINK lea rdx, [r13+110h] 47e1a7 7 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R13+264 ZZ IDIOM 18 MEMORYSINK lea rsi, [r13+108h] + 47e0d6 5 INSTR FPTRSHADOW [R12+88] SHADOWID 8 + 47e0f0 2 INSTR FPTRCHECK RAX SHADOWID 8 47e1c0 8 FUNC RETURNTYPE RAX 0 47e1c0 8 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 1 ARG3 1 ARG4 96 ARG5 96 47e1d0 78 FUNC RETURNTYPE RAX 4 @@ -2920,6 +2936,8 @@ 488750 284 FUNC RETURNTYPE RAX 1 488750 284 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 96 ARG3 96 ARG4 96 ARG5 96 488750 284 FUNC PROBLEM SSL_srp_server_param_with_username CALLUNRESOLVED + 488779 7 INSTR FPTRSHADOW [EDI+688] SHADOWID 9 + 488792 2 INSTR FPTRCHECK RAX SHADOWID 9 488870 231 FUNC RETURNTYPE RAX 1 488870 231 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 4 ARG4 4 ARG5 4 48890b 8 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 R12+776 ZZ IDIOM 18 MEMORYSINK lea rcx, [r12+308h] @@ -3724,6 +3742,12 @@ 4acc80 496 FUNC PROBLEM CRYPTO_gcm128_setiv CALLUNRESOLVED 4acd15 4 INSTR CHECK UNDERFLOW UNSIGNED 64 R13 ZZ IDIOM 31 sub r13, 10h 4acde8 4 INSTR CHECK OVERFLOW UNSIGNED 64 RAX ZZ add rax, 1 + 4acc98 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 10 + 4acdac 3 INSTR FPTRCHECK R14 SHADOWID 10 + 4acc98 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 11 + 4acdf7 3 INSTR FPTRCHECK R14 SHADOWID 11 + 4acc98 7 INSTR FPTRSHADOW [EDI+352] SHADOWID 12 + 4ace10 3 INSTR FPTRCHECK R14 SHADOWID 12 4ace70 411 FUNC RETURNTYPE RAX 1 4ace70 411 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 0 ARG4 1 ARG5 96 4ace70 411 FUNC PROBLEM CRYPTO_gcm128_aad CALLUNRESOLVED @@ -4155,8 +4179,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 1 - 4ba0f6 4 INSTR FPTRCHECK ECX SHADOWID 1 + 4ba076 4 INSTR FPTRSHADOW EAX SHADOWID 13 + 4ba0f6 4 INSTR FPTRCHECK ECX SHADOWID 13 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 @@ -4815,6 +4839,8 @@ 4cb180 79 FUNC RETURNTYPE RAX 1 4cb180 79 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4cb180 79 FUNC PROBLEM RSA_set_method CALLUNRESOLVED + 4cb1b1 4 INSTR FPTRSHADOW [EBP+56] SHADOWID 14 + 4cb1c1 2 INSTR FPTRCHECK RAX SHADOWID 14 4cb1d0 587 FUNC RETURNTYPE RAX 4 4cb1d0 587 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 96 4cb1d0 587 FUNC PROBLEM RSA_new_method CALLUNRESOLVED @@ -5005,6 +5031,8 @@ 4cf7c0 85 FUNC RETURNTYPE RAX 1 4cf7c0 85 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4cf7c0 85 FUNC PROBLEM DSA_set_method CALLUNRESOLVED + 4cf7f7 4 INSTR FPTRSHADOW [EBP+48] SHADOWID 15 + 4cf807 2 INSTR FPTRCHECK RAX SHADOWID 15 4cf820 518 FUNC RETURNTYPE RAX 4 4cf820 518 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 1 ARG5 0 4cf820 518 FUNC PROBLEM DSA_new_method CALLUNRESOLVED @@ -5142,6 +5170,8 @@ 4d1950 91 FUNC RETURNTYPE RAX 1 4d1950 91 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4d1950 91 FUNC PROBLEM DH_set_method CALLUNRESOLVED + 4d198a 4 INSTR FPTRSHADOW [EBP+32] SHADOWID 16 + 4d199d 2 INSTR FPTRCHECK RAX SHADOWID 16 4d19b0 440 FUNC RETURNTYPE RAX 4 4d19b0 440 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4d19b0 440 FUNC PROBLEM DH_new CALLUNRESOLVED @@ -7299,6 +7329,8 @@ 4f4e00 719 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 1 ARG3 96 ARG4 4 ARG5 96 4f4e00 719 FUNC PROBLEM int_ctx_new CALLUNRESOLVED 4f4eac 4 INSTR CHECK OVERFLOW NOFLAGUNSIGNED 64 RBP+8 ZZ IDIOM 18 MEMORYSINK lea rdi, [rbp+8] + 4f4eca 4 INSTR FPTRSHADOW [R13+8] SHADOWID 17 + 4f4ede 2 INSTR FPTRCHECK RAX SHADOWID 17 4f50d0 132 FUNC RETURNTYPE RAX 1 4f50d0 132 FUNC INARGS 6 ARG0 0 ARG1 0 ARG2 0 ARG3 0 ARG4 0 ARG5 0 4f5160 497 FUNC RETURNTYPE RAX 4 @@ -7375,31 +7407,43 @@ 4f5b60 110 FUNC RETURNTYPE RAX 1 4f5b60 110 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f5b60 110 FUNC PROBLEM EVP_PKEY_sign_init CALLUNRESOLVED + 4f5b78 4 INSTR FPTRSHADOW [EAX+64] SHADOWID 18 + 4f5b8d 2 INSTR FPTRCHECK RDX SHADOWID 18 4f5bd0 294 FUNC RETURNTYPE RAX 0 4f5bd0 294 FUNC PROBLEM EVP_PKEY_sign JUMPUNRESOLVED 4f5d00 110 FUNC RETURNTYPE RAX 1 4f5d00 110 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f5d00 110 FUNC PROBLEM EVP_PKEY_verify_init CALLUNRESOLVED + 4f5d18 4 INSTR FPTRSHADOW [EAX+80] SHADOWID 19 + 4f5d2d 2 INSTR FPTRCHECK RDX SHADOWID 19 4f5d70 134 FUNC RETURNTYPE RAX 0 4f5d70 134 FUNC PROBLEM EVP_PKEY_verify JUMPUNRESOLVED 4f5e00 110 FUNC RETURNTYPE RAX 1 4f5e00 110 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f5e00 110 FUNC PROBLEM EVP_PKEY_verify_recover_init CALLUNRESOLVED + 4f5e18 4 INSTR FPTRSHADOW [EAX+96] SHADOWID 20 + 4f5e2d 2 INSTR FPTRCHECK RDX SHADOWID 20 4f5e70 294 FUNC RETURNTYPE RAX 0 4f5e70 294 FUNC PROBLEM EVP_PKEY_verify_recover JUMPUNRESOLVED 4f5fa0 126 FUNC RETURNTYPE RAX 1 4f5fa0 126 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f5fa0 126 FUNC PROBLEM EVP_PKEY_encrypt_init CALLUNRESOLVED + 4f5fbb 7 INSTR FPTRSHADOW [EAX+144] SHADOWID 21 + 4f5fd3 2 INSTR FPTRCHECK RDX SHADOWID 21 4f6020 294 FUNC RETURNTYPE RAX 0 4f6020 294 FUNC PROBLEM EVP_PKEY_encrypt JUMPUNRESOLVED 4f6150 126 FUNC RETURNTYPE RAX 1 4f6150 126 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f6150 126 FUNC PROBLEM EVP_PKEY_decrypt_init CALLUNRESOLVED + 4f616b 7 INSTR FPTRSHADOW [EAX+160] SHADOWID 22 + 4f6183 2 INSTR FPTRCHECK RDX SHADOWID 22 4f61d0 294 FUNC RETURNTYPE RAX 0 4f61d0 294 FUNC PROBLEM EVP_PKEY_decrypt JUMPUNRESOLVED 4f6300 126 FUNC RETURNTYPE RAX 1 4f6300 126 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f6300 126 FUNC PROBLEM EVP_PKEY_derive_init CALLUNRESOLVED + 4f631b 7 INSTR FPTRSHADOW [EAX+176] SHADOWID 23 + 4f6333 2 INSTR FPTRCHECK RDX SHADOWID 23 4f6380 562 FUNC RETURNTYPE RAX 1 4f6380 562 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 0 ARG4 96 ARG5 96 4f6380 562 FUNC PROBLEM EVP_PKEY_derive_set_peer CALLUNRESOLVED @@ -7411,12 +7455,16 @@ 4f6700 110 FUNC RETURNTYPE RAX 1 4f6700 110 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 96 ARG4 4 ARG5 96 4f6700 110 FUNC PROBLEM EVP_PKEY_paramgen_init CALLUNRESOLVED + 4f6718 4 INSTR FPTRSHADOW [EAX+32] SHADOWID 24 + 4f672d 2 INSTR FPTRCHECK RDX SHADOWID 24 4f6770 259 FUNC RETURNTYPE RAX 1 4f6770 259 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f6770 259 FUNC PROBLEM EVP_PKEY_paramgen CALLUNRESOLVED 4f6880 110 FUNC RETURNTYPE RAX 1 4f6880 110 FUNC INARGS 6 ARG0 4 ARG1 1 ARG2 0 ARG3 96 ARG4 96 ARG5 96 4f6880 110 FUNC PROBLEM EVP_PKEY_keygen_init CALLUNRESOLVED + 4f6898 4 INSTR FPTRSHADOW [EAX+48] SHADOWID 25 + 4f68ad 2 INSTR FPTRCHECK RDX SHADOWID 25 4f68f0 259 FUNC RETURNTYPE RAX 1 4f68f0 259 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 0 ARG3 1 ARG4 96 ARG5 96 4f68f0 259 FUNC PROBLEM EVP_PKEY_keygen CALLUNRESOLVED @@ -7431,6 +7479,8 @@ 4f6a70 225 FUNC RETURNTYPE RAX 1 4f6a70 225 FUNC INARGS 6 ARG0 1 ARG1 96 ARG2 4 ARG3 1 ARG4 4 ARG5 96 4f6a70 225 FUNC PROBLEM EVP_PKEY_new_mac_key CALLUNRESOLVED + 4f6ab3 4 INSTR FPTRSHADOW [EAX+48] SHADOWID 26 + 4f6ac6 2 INSTR FPTRCHECK RAX SHADOWID 26 4f6b60 454 FUNC RETURNTYPE RAX 1 4f6b60 454 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 1 4f6b60 454 FUNC PROBLEM do_sigver_init CALLUNRESOLVED @@ -8676,8 +8726,8 @@ 50e1a0 1748 FUNC RETURNTYPE RAX 4 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 2 - 50e561 5 INSTR FPTRCHECK RCX SHADOWID 2 + 50e1a0 2 INSTR FPTRSHADOW RDX SHADOWID 27 + 50e561 5 INSTR FPTRCHECK RCX SHADOWID 27 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 @@ -11042,6 +11092,8 @@ 539550 270 FUNC RETURNTYPE RAX 96 539550 270 FUNC INARGS 6 ARG0 4 ARG1 0 ARG2 0 ARG3 1 ARG4 96 ARG5 96 539550 270 FUNC PROBLEM COMP_CTX_new CALLUNRESOLVED + 5395b2 4 INSTR FPTRSHADOW [EBX+16] SHADOWID 28 + 5395c2 2 INSTR FPTRCHECK RAX SHADOWID 28 539660 34 FUNC RETURNTYPE RAX 96 539660 34 FUNC INARGS 6 ARG0 4 ARG1 96 ARG2 4 ARG3 1 ARG4 4 ARG5 96 539660 34 FUNC PROBLEM COMP_CTX_free CALLUNRESOLVED @@ -13103,8 +13155,8 @@ 57032a 3 INSTR CHECK OVERFLOW SIGNED 32 RSI ZZ add esi, 1 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] - 56ffc2 4 INSTR FPTRSHADOW EAX SHADOWID 3 - 57005f 4 INSTR FPTRCHECK ECX SHADOWID 3 + 56ffc2 4 INSTR FPTRSHADOW EAX SHADOWID 29 + 57005f 4 INSTR FPTRCHECK ECX SHADOWID 29 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] @@ -13647,6 +13699,8 @@ 57ed70 450 FUNC RETURNTYPE RAX 96 57ed70 450 FUNC INARGS 6 ARG0 4 ARG1 4 ARG2 4 ARG3 96 ARG4 96 ARG5 96 57ed70 450 FUNC PROBLEM DSO_new_method CALLUNRESOLVED + 57ee08 4 INSTR FPTRSHADOW [EBP+64] SHADOWID 30 + 57ee17 2 INSTR FPTRCHECK RAX SHADOWID 30 57ef40 7 FUNC RETURNTYPE RAX 4 57ef40 7 FUNC INARGS 6 ARG0 0 ARG1 4 ARG2 0 ARG3 4 ARG4 0 ARG5 0 57ef50 294 FUNC RETURNTYPE RAX 1 -- GitLab