macaw/refinement/tests/samples/tailrecurse.x86.expected

1 line
12 KiB
Plaintext
Raw Normal View History

Expected {expBinaryName = "tests/samples/tailrecurse.x86.exe", expEntryPoints = [EntryPoint (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 436, addrPretty = "0x4001b4"}),EntryPoint (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 405, addrPretty = "0x400195"}),EntryPoint (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 344, addrPretty = "0x400158"}),EntryPoint (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 436, addrPretty = "0x4001b4"})], expFunctions = [Function (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 344, addrPretty = "0x400158"}) [Block (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 344, addrPretty = "0x400158"}) "StatementList {stmtsIdent = 0, stmtsNonterm = [# 0x0 push rbp,r15 := (bv_add rsp_0 (0xfffffffffffffff8 :: [64])),write_mem r15 rbp_0,# 0x400158: {rip => 0x400159\n ;rsp => r15},# 0x1 mov rbp,rsp,# 0x400159: {rip => 0x40015c\n ;rbp => r15},# 0x4 sub rsp,0x10,r16 := (ssbb_overflows r15 (0x10 :: [64]) false),r17 := (bv_ult r15 (0x10 :: [64])),r18 := (bv_add rsp_0 (0xffffffffffffffe8 :: [64])),r19 := (bv_slt r18 (0x0 :: [64])),r20 := (eq rsp_0 (0x18 :: [64])),r21 := (trunc r18 8),r22 := (even_parity r21),# 0x40015c: {rip => 0x400160\n ;rsp => r18\n ;cf => r17\n ;pf => r22\n ;af => false\n ;zf => r20\n ;sf => r19\n ;of => r16},# 0x8 mov QWORD PTR [rbp-0x8],rdi,r23 := (bv_add rsp_0 (0xfffffffffffffff0 :: [64])),write_mem r23 rdi_0,# 0x400160: {rip => 0x400164},# 0xc mov QWORD PTR [rbp-0x10],rsi,write_mem r18 rsi_0,# 0x400164: {rip => 0x400168},# 0x10 cmp QWORD PTR [rbp-0x8],0x0,r24 := read_mem r23 (bvle 8),r25 := (bv_slt r24 (0x0 :: [64])),r26 := (eq r24 (0x0 :: [64])),r27 := (trunc r24 8),r28 := (even_parity r27),# 0x400168: {rip => 0x40016d\n ;cf => false\n ;pf => r28\n ;af => false\n ;zf => r26\n ;sf => r25\n ;of => false},# 0x15 jne pc+6,r29 := (mux r26 (0x40016f) (0x400175)),# 0x40016d: {rip => r29}], stmtsTerm = ite r26\n{\n \n jump 0x40016f\n { rip = 0x40016f\n , rsp = r18\n , rbp = r15\n , cf = false\n , pf = r28\n , af = false\n , zf = r26\n , sf = r25\n , df = false\n , of = false\n , x87top = 0x7 :: [3]\n }\n}\n{\n \n jump 0x400175\n { rip = 0x400175\n , rsp = r18\n , rbp = r15\n , cf = false\n , pf = r28\n , af = false\n , zf = r26\n , sf = r25\n , df = false\n , of = false\n , x87top = 0x7 :: [3]\n }\n}, stmtsAbsState = registers:\n { rip = code {0x400158}\n , rsp = {rsp_0x400158 + 0}\n , df = False\n , x87top = finset {7}\n }\nstack:\n 0x0 := return_addr}",Block (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 367, addrPretty = "0x40016f"}) "StatementList {stmtsIdent = 0, stmtsNonterm = [# 0x0 mov rax,QWORD PTR [rbp-0x10],r32 := (bv_add rbp_0 (0xfffffffffffffff0 :: [64])),r33 := read_mem r32 (bvle 8),# 0x40016f: {rip => 0x400173\n ;rax => r33},# 0x4 jmp pc+1e,# 0x400173: {rip => 0x400193}], stmtsTerm = jump 0x400193\n { rip = 0x400193\n , rax = r33\n , df = false\n , x87top = 0x7 :: [3]\n }, stmtsAbsState = registers:\n { rip = code {0x40016f}\n , rsp = {rsp_0x400158 - 18}\n , rbp = {rsp_0x400158 - 8}\n , cf = False\n , af = False\n , zf = True\n , df = False\n , of = False\n , x87top = finset {7}\n }\nstack:\n 0x0 := return_addr}",Block (Address {addrSegmentBase = 0, addrSegmentOffset = 4194304, addrSegoffOffset = 373, addrPretty = "0x400175"}) "StatementList {stmtsIdent = 0, stmtsNonterm = [# 0x0 mov rdx,QWORD PTR [rbp-0x10],r59 := (bv_add rbp_0 (0xfffffffffffffff0 :: [64])),r60 := read_mem r59 (bvle 8),# 0x400175: {rip => 0x400179\n ;rdx => r60},# 0x4 mov rax,QWORD PTR [rbp-0x8],r61 := (bv_add rbp_0 (0xfffffffffffffff8 :: [64])),r62 := read_mem r61 (bvle 8),# 0x400