/ According to the iBCS2 book, signal() has 0x30 in %eax, and the address | |
/ of a function in %edx. This function is where a signal handler will | |
/ return to; it should just adjust the stack pointer, and call $f,$0. | |
/ Strange but true. | |
.globl signal | |
sigret: | |
addl $4, %esp | |
lcall $0xf, $0 | |
signal: | |
movl $0x30, %eax | |
movl sigret, %edx | |
lcall $7,$0 | |
jb _cerror | |
/ The iBCS2 book also clears out %eax here, which seems to be broken. | |
ret |