4
# setjmp/longjmp for the i386 architecture
8
# The jmp_buf is assumed to contain the following, in order:
20
.type setjmp, @function
27
popl %ecx # Return address, and adjust the stack
28
xorl %eax,%eax # Return value
30
movl %esp,4(%edx) # Post-return %esp!
31
pushl %ecx # Make the call/return stack happy
35
movl %ecx,20(%edx) # Return address
43
.type longjmp, @function
48
movl 4(%esp),%edx # jmp_ptr address
49
movl 8(%esp),%eax # Return value
58
.size longjmp,.-longjmp