1#include "svr4_assym.h" /* system definitions */ 2#include <machine/asmacros.h> /* miscellaneous asm macros */ 3 4#include <compat/svr4/svr4_syscall.h> /* system call numbers */ 5 6/* $FreeBSD$ */ 7 8NON_GPROF_ENTRY(svr4_sigcode) 9 call *SVR4_SIGF_HANDLER(%esp) 10 leal SVR4_SIGF_UC(%esp),%eax /* ucp (the call may have clobbered the 11 copy at SIGF_UCP(%esp)) */ 12#ifdef VM86 13#warning "VM86 doesn't work yet - do you really want this?" 14 testl $PSL_VM,SVR4_UC_EFLAGS(%eax) 15 jnz 1f 16#endif 17 mov SVR4_UC_GS(%eax),%gs 181: pushl %eax # pointer to ucontext 19 pushl $1 # set context 20 movl $svr4_sys_context,%eax 21 int $0x80 # enter kernel with args on stack 220: jmp 0b 23 24 ALIGN_TEXT 25svr4_esigcode: 26 27 .data 28 .globl svr4_szsigcode 29svr4_szsigcode: 30 .long svr4_esigcode - svr4_sigcode 31 32 .text 33