diff options
Diffstat (limited to 'sys/i386/svr4/svr4_locore.s')
-rw-r--r-- | sys/i386/svr4/svr4_locore.s | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/sys/i386/svr4/svr4_locore.s b/sys/i386/svr4/svr4_locore.s index 2f9c683..9a9b6c0 100644 --- a/sys/i386/svr4/svr4_locore.s +++ b/sys/i386/svr4/svr4_locore.s @@ -3,6 +3,8 @@ #include <svr4/svr4_syscall.h> /* system call numbers */ +/* $Id$ */ + NON_GPROF_ENTRY(svr4_sigcode) call SVR4_SIGF_HANDLER(%esp) leal SVR4_SIGF_UC(%esp),%eax # ucp (the call may have clobbered the @@ -15,19 +17,9 @@ NON_GPROF_ENTRY(svr4_sigcode) #endif movl SVR4_UC_GS(%eax),%edx movl %dx,%gs -#if defined(__NetBSD__) - movl SVR4_UC_FS(%eax),%ecx - movl %cx,%fs -1: pushl %eax - pushl $1 # setcontext(p) == syscontext(1, p) - pushl %eax # junk to fake return address - movl $_svr4_sys_context,%eax -#else -/* must be FreeBSD, right? */ 1: pushl %eax # fake return address pushl $1 # pointer to ucontext movl $_svr4_sys_context,%eax -#endif int $0x80 # enter kernel with args on stack movl $exit,%eax int $0x80 # exit if sigreturn fails |