Deleted Added
full compact
ia32_signal.c (182684) ia32_signal.c (187948)
1/*-
2 * Copyright (c) 2003 Peter Wemm
3 * Copyright (c) 1982, 1987, 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * William Jolitz.
8 *

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

27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 */
33
34#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 2003 Peter Wemm
3 * Copyright (c) 1982, 1987, 1990 The Regents of the University of California.
4 * All rights reserved.
5 *
6 * This code is derived from software contributed to Berkeley by
7 * William Jolitz.
8 *

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

27 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
28 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
29 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
30 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
31 * SUCH DAMAGE.
32 */
33
34#include <sys/cdefs.h>
35__FBSDID("$FreeBSD: head/sys/amd64/ia32/ia32_signal.c 182684 2008-09-02 17:52:11Z kib $");
35__FBSDID("$FreeBSD: head/sys/amd64/ia32/ia32_signal.c 187948 2009-01-31 11:37:21Z obrien $");
36
37#include "opt_compat.h"
38
39#include <sys/param.h>
40#include <sys/exec.h>
41#include <sys/fcntl.h>
42#include <sys/imgact.h>
43#include <sys/kernel.h>

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

323 sf.sf_uc.uc_sigmask = *mask;
324 sf.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp;
325 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size;
326 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK)
327 ? ((oonstack) ? SS_ONSTACK : 0) : SS_DISABLE;
328 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0;
329 sf.sf_uc.uc_mcontext.mc_gs = rgs();
330 sf.sf_uc.uc_mcontext.mc_fs = rfs();
36
37#include "opt_compat.h"
38
39#include <sys/param.h>
40#include <sys/exec.h>
41#include <sys/fcntl.h>
42#include <sys/imgact.h>
43#include <sys/kernel.h>

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

323 sf.sf_uc.uc_sigmask = *mask;
324 sf.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp;
325 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size;
326 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK)
327 ? ((oonstack) ? SS_ONSTACK : 0) : SS_DISABLE;
328 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0;
329 sf.sf_uc.uc_mcontext.mc_gs = rgs();
330 sf.sf_uc.uc_mcontext.mc_fs = rfs();
331 __asm __volatile("movl %%es,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_es));
332 __asm __volatile("movl %%ds,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_ds));
331 __asm __volatile("mov %%es,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_es));
332 __asm __volatile("mov %%ds,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_ds));
333 sf.sf_uc.uc_mcontext.mc_edi = regs->tf_rdi;
334 sf.sf_uc.uc_mcontext.mc_esi = regs->tf_rsi;
335 sf.sf_uc.uc_mcontext.mc_ebp = regs->tf_rbp;
336 sf.sf_uc.uc_mcontext.mc_isp = regs->tf_rsp; /* XXX */
337 sf.sf_uc.uc_mcontext.mc_ebx = regs->tf_rbx;
338 sf.sf_uc.uc_mcontext.mc_edx = regs->tf_rdx;
339 sf.sf_uc.uc_mcontext.mc_ecx = regs->tf_rcx;
340 sf.sf_uc.uc_mcontext.mc_eax = regs->tf_rax;

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

438 sf.sf_uc.uc_sigmask = *mask;
439 sf.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp;
440 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size;
441 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK)
442 ? ((oonstack) ? SS_ONSTACK : 0) : SS_DISABLE;
443 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0;
444 sf.sf_uc.uc_mcontext.mc_gs = rgs();
445 sf.sf_uc.uc_mcontext.mc_fs = rfs();
333 sf.sf_uc.uc_mcontext.mc_edi = regs->tf_rdi;
334 sf.sf_uc.uc_mcontext.mc_esi = regs->tf_rsi;
335 sf.sf_uc.uc_mcontext.mc_ebp = regs->tf_rbp;
336 sf.sf_uc.uc_mcontext.mc_isp = regs->tf_rsp; /* XXX */
337 sf.sf_uc.uc_mcontext.mc_ebx = regs->tf_rbx;
338 sf.sf_uc.uc_mcontext.mc_edx = regs->tf_rdx;
339 sf.sf_uc.uc_mcontext.mc_ecx = regs->tf_rcx;
340 sf.sf_uc.uc_mcontext.mc_eax = regs->tf_rax;

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

438 sf.sf_uc.uc_sigmask = *mask;
439 sf.sf_uc.uc_stack.ss_sp = (uintptr_t)td->td_sigstk.ss_sp;
440 sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size;
441 sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK)
442 ? ((oonstack) ? SS_ONSTACK : 0) : SS_DISABLE;
443 sf.sf_uc.uc_mcontext.mc_onstack = (oonstack) ? 1 : 0;
444 sf.sf_uc.uc_mcontext.mc_gs = rgs();
445 sf.sf_uc.uc_mcontext.mc_fs = rfs();
446 __asm __volatile("movl %%es,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_es));
447 __asm __volatile("movl %%ds,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_ds));
446 __asm __volatile("mov %%es,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_es));
447 __asm __volatile("mov %%ds,%0" : "=rm" (sf.sf_uc.uc_mcontext.mc_ds));
448 sf.sf_uc.uc_mcontext.mc_edi = regs->tf_rdi;
449 sf.sf_uc.uc_mcontext.mc_esi = regs->tf_rsi;
450 sf.sf_uc.uc_mcontext.mc_ebp = regs->tf_rbp;
451 sf.sf_uc.uc_mcontext.mc_isp = regs->tf_rsp; /* XXX */
452 sf.sf_uc.uc_mcontext.mc_ebx = regs->tf_rbx;
453 sf.sf_uc.uc_mcontext.mc_edx = regs->tf_rdx;
454 sf.sf_uc.uc_mcontext.mc_ecx = regs->tf_rcx;
455 sf.sf_uc.uc_mcontext.mc_eax = regs->tf_rax;

--- 292 unchanged lines hidden ---
448 sf.sf_uc.uc_mcontext.mc_edi = regs->tf_rdi;
449 sf.sf_uc.uc_mcontext.mc_esi = regs->tf_rsi;
450 sf.sf_uc.uc_mcontext.mc_ebp = regs->tf_rbp;
451 sf.sf_uc.uc_mcontext.mc_isp = regs->tf_rsp; /* XXX */
452 sf.sf_uc.uc_mcontext.mc_ebx = regs->tf_rbx;
453 sf.sf_uc.uc_mcontext.mc_edx = regs->tf_rdx;
454 sf.sf_uc.uc_mcontext.mc_ecx = regs->tf_rcx;
455 sf.sf_uc.uc_mcontext.mc_eax = regs->tf_rax;

--- 292 unchanged lines hidden ---