17 lines
435 B
ArmAsm
17 lines
435 B
ArmAsm
/ 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
|