Deleted Added
full compact
linux_sysvec.c (78161) linux_sysvec.c (78962)
1/*-
2 * Copyright (c) 1994-1996 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
1/*-
2 * Copyright (c) 1994-1996 S�ren Schmidt
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 11 unchanged lines hidden (view full) ---

20 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
21 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
22 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
23 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
24 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
25 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
26 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 *
28 * $FreeBSD: head/sys/i386/linux/linux_sysvec.c 78161 2001-06-13 10:58:39Z peter $
28 * $FreeBSD: head/sys/i386/linux/linux_sysvec.c 78962 2001-06-29 11:10:41Z jhb $
29 */
30
31/* XXX we use functions that might not exist. */
32#include "opt_compat.h"
33
34#ifndef COMPAT_43
35#error "Unable to compile Linux-emulator due to missing COMPAT_43 option!"
36#endif

--- 171 unchanged lines hidden (view full) ---

208static void
209linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
210{
211 register struct proc *p = curproc;
212 register struct trapframe *regs;
213 struct linux_rt_sigframe *fp, frame;
214 int oonstack;
215
29 */
30
31/* XXX we use functions that might not exist. */
32#include "opt_compat.h"
33
34#ifndef COMPAT_43
35#error "Unable to compile Linux-emulator due to missing COMPAT_43 option!"
36#endif

--- 171 unchanged lines hidden (view full) ---

208static void
209linux_rt_sendsig(sig_t catcher, int sig, sigset_t *mask, u_long code)
210{
211 register struct proc *p = curproc;
212 register struct trapframe *regs;
213 struct linux_rt_sigframe *fp, frame;
214 int oonstack;
215
216 regs = p->p_md.md_regs;
216 regs = p->p_frame;
217 oonstack = sigonstack(regs->tf_esp);
218
219#ifdef DEBUG
220 if (ldebug(sigreturn))
221 printf(ARGS(rt_sendsig, "%p, %d, %p, %lu"),
222 catcher, sig, (void*)mask, code);
223#endif
224 /*

--- 140 unchanged lines hidden (view full) ---

365 int oonstack, i;
366
367 if (SIGISMEMBER(p->p_sigacts->ps_siginfo, sig)) {
368 /* Signal handler installed with SA_SIGINFO. */
369 linux_rt_sendsig(catcher, sig, mask, code);
370 return;
371 }
372
217 oonstack = sigonstack(regs->tf_esp);
218
219#ifdef DEBUG
220 if (ldebug(sigreturn))
221 printf(ARGS(rt_sendsig, "%p, %d, %p, %lu"),
222 catcher, sig, (void*)mask, code);
223#endif
224 /*

--- 140 unchanged lines hidden (view full) ---

365 int oonstack, i;
366
367 if (SIGISMEMBER(p->p_sigacts->ps_siginfo, sig)) {
368 /* Signal handler installed with SA_SIGINFO. */
369 linux_rt_sendsig(catcher, sig, mask, code);
370 return;
371 }
372
373 regs = p->p_md.md_regs;
373 regs = p->p_frame;
374 oonstack = sigonstack(regs->tf_esp);
375
376#ifdef DEBUG
377 if (ldebug(sigreturn))
378 printf(ARGS(sendsig, "%p, %d, %p, %lu"),
379 catcher, sig, (void*)mask, code);
380#endif
381

--- 109 unchanged lines hidden (view full) ---

491 struct proc *p;
492 struct linux_sigreturn_args *args;
493{
494 struct linux_sigframe frame;
495 register struct trapframe *regs;
496 linux_sigset_t lmask;
497 int eflags, i;
498
374 oonstack = sigonstack(regs->tf_esp);
375
376#ifdef DEBUG
377 if (ldebug(sigreturn))
378 printf(ARGS(sendsig, "%p, %d, %p, %lu"),
379 catcher, sig, (void*)mask, code);
380#endif
381

--- 109 unchanged lines hidden (view full) ---

491 struct proc *p;
492 struct linux_sigreturn_args *args;
493{
494 struct linux_sigframe frame;
495 register struct trapframe *regs;
496 linux_sigset_t lmask;
497 int eflags, i;
498
499 regs = p->p_md.md_regs;
499 regs = p->p_frame;
500
501#ifdef DEBUG
502 if (ldebug(sigreturn))
503 printf(ARGS(sigreturn, "%p"), (void *)args->sfp);
504#endif
505 /*
506 * The trampoline code hands us the sigframe.
507 * It is unsafe to keep track of it ourselves, in the event that a

--- 82 unchanged lines hidden (view full) ---

590 struct linux_ucontext uc;
591 struct linux_sigcontext *context;
592 linux_stack_t *lss;
593 stack_t *ss;
594 register struct trapframe *regs;
595 int eflags;
596 caddr_t sg = stackgap_init();
597
500
501#ifdef DEBUG
502 if (ldebug(sigreturn))
503 printf(ARGS(sigreturn, "%p"), (void *)args->sfp);
504#endif
505 /*
506 * The trampoline code hands us the sigframe.
507 * It is unsafe to keep track of it ourselves, in the event that a

--- 82 unchanged lines hidden (view full) ---

590 struct linux_ucontext uc;
591 struct linux_sigcontext *context;
592 linux_stack_t *lss;
593 stack_t *ss;
594 register struct trapframe *regs;
595 int eflags;
596 caddr_t sg = stackgap_init();
597
598 regs = p->p_md.md_regs;
598 regs = p->p_frame;
599
600#ifdef DEBUG
601 if (ldebug(rt_sigreturn))
602 printf(ARGS(rt_sigreturn, "%p"), (void *)args->ucp);
603#endif
604 /*
605 * The trampoline code hands us the ucontext.
606 * It is unsafe to keep track of it ourselves, in the event that a

--- 255 unchanged lines hidden ---
599
600#ifdef DEBUG
601 if (ldebug(rt_sigreturn))
602 printf(ARGS(rt_sigreturn, "%p"), (void *)args->ucp);
603#endif
604 /*
605 * The trampoline code hands us the ucontext.
606 * It is unsafe to keep track of it ourselves, in the event that a

--- 255 unchanged lines hidden ---