diff options
Diffstat (limited to 'test/transform-dis-cases-i386.S')
-rw-r--r-- | test/transform-dis-cases-i386.S | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/test/transform-dis-cases-i386.S b/test/transform-dis-cases-i386.S index 31508ca..57707cc 100644 --- a/test/transform-dis-cases-i386.S +++ b/test/transform-dis-cases-i386.S @@ -2,15 +2,16 @@ #define EXPECT .ascii "EXPECT"; #define EXPECT_ERR .ascii "EXPECT_ERR"; -GIVEN call .; pop %edx +GIVEN call 0f; 0: pop %edx /* XXX the extra push isn't necessary in 32-bit mode */ -EXPECT push %eax; push %eax; mov $0xdead0005, %eax; pop %eax; pop %edx +EXPECT push %eax; push %eax; mov $0xdead0005, %eax; mov %eax, 4(%esp); pop %eax; pop %edx -GIVEN jmp 0f; 0: +GIVEN jmp 0f; 0: nop EXPECT_ERR -GIVEN jne 0xdead1000 -EXPECT jne 0f; jmp 1f; 0: jmp 0xdead1000; 1: +GIVEN jne .+0x1000 +/* we expect to generate an unnecessarily long jump, so hardcode it */ +EXPECT 2: .byte 0x0f, 0x85; .long 2; jmp 1f; 0: jmp 2b+0x1000; 1: GIVEN loopne 0xdead0080 EXPECT loopne 0f; jmp 1f; 0: jmp 0xdead1000; 1: |