- iret
-
-.section .usrtext
- sig_wrapper: # in user mode
- movl %esp, %eax
- and $0xfffffff0, %esp
- subl $8, %esp
- pushl %eax # Addr to proc_sig structure
- pushl 4(%eax) # proc_sig->sig_num ---- 16 bytes aligned
-
- call *(%eax) # invoke signal handler
-
- # invoke the sigreturn syscall to exit the signal wrapper
- movl $__SYSCALL_sigreturn, %eax
- movl 4(%esp), %ebx
- int $LUNAIX_SYS_CALL
-
- ud2 # never reach!
\ No newline at end of file