diff options
Diffstat (limited to 'sys/i386/linux/linux_locore.s')
-rw-r--r-- | sys/i386/linux/linux_locore.s | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/i386/linux/linux_locore.s b/sys/i386/linux/linux_locore.s index 074021e..f3d93f4 100644 --- a/sys/i386/linux/linux_locore.s +++ b/sys/i386/linux/linux_locore.s @@ -9,23 +9,23 @@ NON_GPROF_ENTRY(linux_sigcode) call *LINUX_SIGF_HANDLER(%esp) leal LINUX_SIGF_SC(%esp),%ebx /* linux scp */ movl LINUX_SC_GS(%ebx),%gs + movl %esp, %ebx /* pass sigframe */ push %eax /* fake ret addr */ movl $LINUX_SYS_linux_sigreturn,%eax /* linux_sigreturn() */ int $0x80 /* enter kernel with args */ 0: jmp 0b ALIGN_TEXT /* XXXXX */ - _linux_rt_sigcode: call *LINUX_RT_SIGF_HANDLER(%esp) leal LINUX_RT_SIGF_UC(%esp),%ebx /* linux ucp */ movl LINUX_SC_GS(%ebx),%gs push %eax /* fake ret addr */ - movl $LINUX_SYS_linux_rt_sigreturn,%eax /* linux_rt_sigreturn() */ + movl $LINUX_SYS_linux_rt_sigreturn,%eax /* linux_rt_sigreturn() */ int $0x80 /* enter kernel with args */ 0: jmp 0b ALIGN_TEXT -/* XXXXX */ +/* XXXXX */ _linux_esigcode: .data @@ -34,7 +34,3 @@ _linux_szsigcode: .long _linux_esigcode-_linux_sigcode _linux_sznonrtsigcode: .long _linux_rt_sigcode-_linux_sigcode - .text - - - |