X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f09e806d5032150564df39a2f7b1192c4d84cf15..87067c7f16425837971f5c1b5fd0fc5338757377:/lunaix-os/usr/libc/arch/i386/trampoline.S?ds=sidebyside diff --git a/lunaix-os/usr/libc/arch/i386/trampoline.S b/lunaix-os/usr/libc/arch/i386/trampoline.S new file mode 100644 index 0000000..9261e4b --- /dev/null +++ b/lunaix-os/usr/libc/arch/i386/trampoline.S @@ -0,0 +1,20 @@ +#include + +.section .text + .global sigtrampoline + sigtrampoline: + movl %esp, %eax + andl $0xfffffff0, %esp + pushl %eax + + leal 4(%eax), %eax + pushl %eax + pushl $0 + pushl -4(%eax) + call sig_dohandling + + addl $12, %esp + + movl $__SYSCALL_sigreturn, %eax + popl %ebx + int $33 \ No newline at end of file