From nobody Sun May 15 18:12:26 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 2773D1AE9347; Sun, 15 May 2022 18:12:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4L1Vpg1MHTz3vjc; Sun, 15 May 2022 18:12:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652638347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y9MEjzLOEoxMFP/2SZ7++x9zCg0nO6lJSDFV3qrfZPI=; b=cPYs0g5ATe24AOyJjRHEUDnlNcAD+qb2dC0kK9Ls5QxrZN6jKVj4XFPgCbwWqWpv1oktg0 grtJevOKftbo6GzOtnc2Lt2j/OAAVPpLJNUsZ2bGyZxpNznASt9nL/viX3SafY605y0lIp qxvA+7BDgEYMaUSMoi9RAQwk0Q8lbHgAGnnDAjYxSOFnWAwcwp98cOZcH0+BqH9KmrHusU +fd3HrfD/tv3chpIRFy8+AQ9xS6MQeTJSwTTZ8xQi6u+a0IX5odYtrgp9+BbIc6yHCNShN GFz/U9zMjnU6s2TvbXo9OPmYmMNTNZfQkd6Va7rAKrEGAZgq1fSlBgFmBQTbsw== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id EB90310B8F; Sun, 15 May 2022 18:12:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 24FICQAh082592; Sun, 15 May 2022 18:12:26 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 24FICQxU082591; Sun, 15 May 2022 18:12:26 GMT (envelope-from git) Date: Sun, 15 May 2022 18:12:26 GMT Message-Id: <202205151812.24FICQxU082591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Dmitry Chagin Subject: git: 6e826d27c340 - main - linux(4): Better naming for ucontext field of struct rt_sigframe List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 6e826d27c340fa29e166d06e5d8553f6c63c409e Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1652638347; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Y9MEjzLOEoxMFP/2SZ7++x9zCg0nO6lJSDFV3qrfZPI=; b=vu3vitUGJJaXv6pAMUx83Cq4XV0ugIvV3AgWa6gdakpicupxInw/DqW5H2THRri7mQumSi 5bmQ2mi3xz2nc/YDSBLx+KmP+E9yFnoU94mMnFN0tUqSed3DEtVVH9lrYm3quHwsR0MQL2 Ujhmj5M/fR6z8di+D/LgYWosT+BV32TrfUMKhKKjcD+tc2MNugzV1I2Xi4nDYwsCCNEluD YZuU1MqfhARHvGE7zD1PmYVvkxQBszjEFx2zOAvA7aG3Ff84tcfrElwnqzLqA6d7YwgJ4T QXNEgfBIXhxoajv6UM82vwfAe6d5qSrJyee93+XlH/avchtsuQsSKnDJdCnBCA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1652638347; a=rsa-sha256; cv=none; b=Vzao+dHLjwaZ3hio4T7hmKKVdKUtcEFEev1zN70D2F1mtHQr+UtR21oe9FCIOnn3SPDKKr DijYgldLr025f0mBloIF5eWIc3GbxmbImO6+4vm3lo6S+LxvurhAi+suRib3YGE4C2jmAj WpxMDgr2KCRsf9lwyUXaIjBLmtsQrEmrrF9sUluF/kYhF8/I2vDwEZTVjEK4hInJSorHRD SI6s7hU6tg+ry3Jes+TQvOjJ8b56flmCCwTbuKSTmBrTjnyOtWnaXYf3FEcCFxdSoFWOZ4 qweqlAcuRp4qJYQWMkOapXtMHAdsC7/jRzEuRxG8ZrTy1tn/wSP7tlCNZxzNSw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=6e826d27c340fa29e166d06e5d8553f6c63c409e commit 6e826d27c340fa29e166d06e5d8553f6c63c409e Author: Dmitry Chagin AuthorDate: 2022-05-15 18:06:47 +0000 Commit: Dmitry Chagin CommitDate: 2022-05-15 18:06:47 +0000 linux(4): Better naming for ucontext field of struct rt_sigframe To reduce sendsig code difference and to avoid confusing me, rename sf_sc to sf_uc to match the content. MFC after: 2 weeks --- sys/amd64/linux/linux_genassym.c | 2 +- sys/amd64/linux/linux_sysvec.c | 56 ++++++++++++++++++------------------ sys/amd64/linux32/linux32_genassym.c | 2 +- sys/amd64/linux32/linux32_sysvec.c | 54 +++++++++++++++++----------------- sys/i386/linux/linux_genassym.c | 2 +- sys/i386/linux/linux_sysvec.c | 54 +++++++++++++++++----------------- sys/x86/linux/linux_x86_sigframe.h | 4 +-- 7 files changed, 87 insertions(+), 87 deletions(-) diff --git a/sys/amd64/linux/linux_genassym.c b/sys/amd64/linux/linux_genassym.c index a468520431dc..a9658b006be8 100644 --- a/sys/amd64/linux/linux_genassym.c +++ b/sys/amd64/linux/linux_genassym.c @@ -10,7 +10,7 @@ __FBSDID("$FreeBSD$"); #include -ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc)); +ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_uc)); ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext)); ASSYM(LINUX_VERSION_CODE, LINUX_VERSION_CODE); ASSYM(LINUX_SC_RSP, offsetof(struct l_sigcontext, sc_rsp)); diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 58ab443cd8b1..fe7796179e4b 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -639,36 +639,36 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) /* Save user context. */ bzero(&sf, sizeof(sf)); - bsd_to_linux_sigset(mask, &sf.sf_sc.uc_sigmask); - bsd_to_linux_sigset(mask, &sf.sf_sc.uc_mcontext.sc_mask); + bsd_to_linux_sigset(mask, &sf.sf_uc.uc_sigmask); + bsd_to_linux_sigset(mask, &sf.sf_uc.uc_mcontext.sc_mask); - sf.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); - sf.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; - sf.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) + sf.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); + sf.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; + sf.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) ? ((oonstack) ? LINUX_SS_ONSTACK : 0) : LINUX_SS_DISABLE; - sf.sf_sc.uc_mcontext.sc_rdi = regs->tf_rdi; - sf.sf_sc.uc_mcontext.sc_rsi = regs->tf_rsi; - sf.sf_sc.uc_mcontext.sc_rdx = regs->tf_rdx; - sf.sf_sc.uc_mcontext.sc_rbp = regs->tf_rbp; - sf.sf_sc.uc_mcontext.sc_rbx = regs->tf_rbx; - sf.sf_sc.uc_mcontext.sc_rcx = regs->tf_rcx; - sf.sf_sc.uc_mcontext.sc_rax = regs->tf_rax; - sf.sf_sc.uc_mcontext.sc_rip = regs->tf_rip; - sf.sf_sc.uc_mcontext.sc_rsp = regs->tf_rsp; - sf.sf_sc.uc_mcontext.sc_r8 = regs->tf_r8; - sf.sf_sc.uc_mcontext.sc_r9 = regs->tf_r9; - sf.sf_sc.uc_mcontext.sc_r10 = regs->tf_r10; - sf.sf_sc.uc_mcontext.sc_r11 = regs->tf_r11; - sf.sf_sc.uc_mcontext.sc_r12 = regs->tf_r12; - sf.sf_sc.uc_mcontext.sc_r13 = regs->tf_r13; - sf.sf_sc.uc_mcontext.sc_r14 = regs->tf_r14; - sf.sf_sc.uc_mcontext.sc_r15 = regs->tf_r15; - sf.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; - sf.sf_sc.uc_mcontext.sc_rflags = regs->tf_rflags; - sf.sf_sc.uc_mcontext.sc_err = regs->tf_err; - sf.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); - sf.sf_sc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; + sf.sf_uc.uc_mcontext.sc_rdi = regs->tf_rdi; + sf.sf_uc.uc_mcontext.sc_rsi = regs->tf_rsi; + sf.sf_uc.uc_mcontext.sc_rdx = regs->tf_rdx; + sf.sf_uc.uc_mcontext.sc_rbp = regs->tf_rbp; + sf.sf_uc.uc_mcontext.sc_rbx = regs->tf_rbx; + sf.sf_uc.uc_mcontext.sc_rcx = regs->tf_rcx; + sf.sf_uc.uc_mcontext.sc_rax = regs->tf_rax; + sf.sf_uc.uc_mcontext.sc_rip = regs->tf_rip; + sf.sf_uc.uc_mcontext.sc_rsp = regs->tf_rsp; + sf.sf_uc.uc_mcontext.sc_r8 = regs->tf_r8; + sf.sf_uc.uc_mcontext.sc_r9 = regs->tf_r9; + sf.sf_uc.uc_mcontext.sc_r10 = regs->tf_r10; + sf.sf_uc.uc_mcontext.sc_r11 = regs->tf_r11; + sf.sf_uc.uc_mcontext.sc_r12 = regs->tf_r12; + sf.sf_uc.uc_mcontext.sc_r13 = regs->tf_r13; + sf.sf_uc.uc_mcontext.sc_r14 = regs->tf_r14; + sf.sf_uc.uc_mcontext.sc_r15 = regs->tf_r15; + sf.sf_uc.uc_mcontext.sc_cs = regs->tf_cs; + sf.sf_uc.uc_mcontext.sc_rflags = regs->tf_rflags; + sf.sf_uc.uc_mcontext.sc_err = regs->tf_err; + sf.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); + sf.sf_uc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; /* Allocate space for the signal handler context. */ if ((td->td_pflags & TDP_ALTSTACK) != 0 && !oonstack && @@ -687,7 +687,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) regs->tf_rdi = sig; /* arg 1 in %rdi */ regs->tf_rax = 0; regs->tf_rsi = (register_t)&sfp->sf_si; /* arg 2 in %rsi */ - regs->tf_rdx = (register_t)&sfp->sf_sc; /* arg 3 in %rdx */ + regs->tf_rdx = (register_t)&sfp->sf_uc; /* arg 3 in %rdx */ regs->tf_rcx = (register_t)catcher; /* Fill in POSIX parts. */ diff --git a/sys/amd64/linux32/linux32_genassym.c b/sys/amd64/linux32/linux32_genassym.c index 2bc2586ebe4a..1465863dd08c 100644 --- a/sys/amd64/linux32/linux32_genassym.c +++ b/sys/amd64/linux32/linux32_genassym.c @@ -12,7 +12,7 @@ __FBSDID("$FreeBSD$"); #include ASSYM(LINUX_SIGF_SC, offsetof(struct l_sigframe, sf_sc)); -ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc)); +ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_uc)); ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext)); ASSYM(LINUX_VERSION_CODE, LINUX_VERSION_CODE); ASSYM(LINUX_SC_ESP, offsetof(struct l_sigcontext, sc_esp)); diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index c40cc6a2d269..729c000cc628 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -318,7 +318,7 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) frame.sf_sig = sig; frame.sf_siginfo = PTROUT(&fp->sf_si); - frame.sf_ucontext = PTROUT(&fp->sf_sc); + frame.sf_ucontext = PTROUT(&fp->sf_uc); /* Fill in POSIX parts. */ siginfo_to_lsiginfo(&ksi->ksi_info, &frame.sf_si, sig); @@ -326,35 +326,35 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) /* * Build the signal context to be used by sigreturn and libgcc unwind. */ - frame.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); - frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; - frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) + frame.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); + frame.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; + frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) ? ((oonstack) ? LINUX_SS_ONSTACK : 0) : LINUX_SS_DISABLE; PROC_UNLOCK(p); - bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); - - frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; - frame.sf_sc.uc_mcontext.sc_edi = regs->tf_rdi; - frame.sf_sc.uc_mcontext.sc_esi = regs->tf_rsi; - frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_rbp; - frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_rbx; - frame.sf_sc.uc_mcontext.sc_esp = regs->tf_rsp; - frame.sf_sc.uc_mcontext.sc_edx = regs->tf_rdx; - frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_rcx; - frame.sf_sc.uc_mcontext.sc_eax = regs->tf_rax; - frame.sf_sc.uc_mcontext.sc_eip = regs->tf_rip; - frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; - frame.sf_sc.uc_mcontext.sc_gs = regs->tf_gs; - frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; - frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; - frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; - frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_rflags; - frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; - frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; - frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; - frame.sf_sc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; - frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); + bsd_to_linux_sigset(mask, &frame.sf_uc.uc_sigmask); + + frame.sf_uc.uc_mcontext.sc_mask = frame.sf_uc.uc_sigmask.__mask; + frame.sf_uc.uc_mcontext.sc_edi = regs->tf_rdi; + frame.sf_uc.uc_mcontext.sc_esi = regs->tf_rsi; + frame.sf_uc.uc_mcontext.sc_ebp = regs->tf_rbp; + frame.sf_uc.uc_mcontext.sc_ebx = regs->tf_rbx; + frame.sf_uc.uc_mcontext.sc_esp = regs->tf_rsp; + frame.sf_uc.uc_mcontext.sc_edx = regs->tf_rdx; + frame.sf_uc.uc_mcontext.sc_ecx = regs->tf_rcx; + frame.sf_uc.uc_mcontext.sc_eax = regs->tf_rax; + frame.sf_uc.uc_mcontext.sc_eip = regs->tf_rip; + frame.sf_uc.uc_mcontext.sc_cs = regs->tf_cs; + frame.sf_uc.uc_mcontext.sc_gs = regs->tf_gs; + frame.sf_uc.uc_mcontext.sc_fs = regs->tf_fs; + frame.sf_uc.uc_mcontext.sc_es = regs->tf_es; + frame.sf_uc.uc_mcontext.sc_ds = regs->tf_ds; + frame.sf_uc.uc_mcontext.sc_eflags = regs->tf_rflags; + frame.sf_uc.uc_mcontext.sc_esp_at_signal = regs->tf_rsp; + frame.sf_uc.uc_mcontext.sc_ss = regs->tf_ss; + frame.sf_uc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_uc.uc_mcontext.sc_cr2 = (u_int32_t)(uintptr_t)ksi->ksi_addr; + frame.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); if (copyout(&frame, fp, sizeof(frame)) != 0) { /* diff --git a/sys/i386/linux/linux_genassym.c b/sys/i386/linux/linux_genassym.c index 1491ce586b09..65757a51a190 100644 --- a/sys/i386/linux/linux_genassym.c +++ b/sys/i386/linux/linux_genassym.c @@ -13,7 +13,7 @@ __FBSDID("$FreeBSD$"); ASSYM(LINUX_SIGF_SC, offsetof(struct l_sigframe, sf_sc)); ASSYM(LINUX_SC_GS, offsetof(struct l_sigcontext, sc_gs)); ASSYM(LINUX_SC_EFLAGS, offsetof(struct l_sigcontext, sc_eflags)); -ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_sc)); +ASSYM(LINUX_RT_SIGF_UC, offsetof(struct l_rt_sigframe, sf_uc)); ASSYM(LINUX_RT_SIGF_SC, offsetof(struct l_ucontext, uc_mcontext)); ASSYM(LINUX_SC_ESP, offsetof(struct l_sigcontext, sc_esp)); ASSYM(LINUX_VERSION_CODE, LINUX_VERSION_CODE); diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index c71fd6b94649..ab53ccbf6bb1 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -426,41 +426,41 @@ linux_rt_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) frame.sf_sig = sig; frame.sf_siginfo = PTROUT(&fp->sf_si); - frame.sf_ucontext = PTROUT(&fp->sf_sc); + frame.sf_ucontext = PTROUT(&fp->sf_uc); /* Fill in POSIX parts. */ siginfo_to_lsiginfo(&ksi->ksi_info, &frame.sf_si, sig); /* Build the signal context to be used by sigreturn. */ - frame.sf_sc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); - frame.sf_sc.uc_stack.ss_size = td->td_sigstk.ss_size; - frame.sf_sc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) + frame.sf_uc.uc_stack.ss_sp = PTROUT(td->td_sigstk.ss_sp); + frame.sf_uc.uc_stack.ss_size = td->td_sigstk.ss_size; + frame.sf_uc.uc_stack.ss_flags = (td->td_pflags & TDP_ALTSTACK) ? ((oonstack) ? LINUX_SS_ONSTACK : 0) : LINUX_SS_DISABLE; PROC_UNLOCK(p); - bsd_to_linux_sigset(mask, &frame.sf_sc.uc_sigmask); - - frame.sf_sc.uc_mcontext.sc_mask = frame.sf_sc.uc_sigmask.__mask; - frame.sf_sc.uc_mcontext.sc_gs = rgs(); - frame.sf_sc.uc_mcontext.sc_fs = regs->tf_fs; - frame.sf_sc.uc_mcontext.sc_es = regs->tf_es; - frame.sf_sc.uc_mcontext.sc_ds = regs->tf_ds; - frame.sf_sc.uc_mcontext.sc_edi = regs->tf_edi; - frame.sf_sc.uc_mcontext.sc_esi = regs->tf_esi; - frame.sf_sc.uc_mcontext.sc_ebp = regs->tf_ebp; - frame.sf_sc.uc_mcontext.sc_ebx = regs->tf_ebx; - frame.sf_sc.uc_mcontext.sc_esp = regs->tf_esp; - frame.sf_sc.uc_mcontext.sc_edx = regs->tf_edx; - frame.sf_sc.uc_mcontext.sc_ecx = regs->tf_ecx; - frame.sf_sc.uc_mcontext.sc_eax = regs->tf_eax; - frame.sf_sc.uc_mcontext.sc_eip = regs->tf_eip; - frame.sf_sc.uc_mcontext.sc_cs = regs->tf_cs; - frame.sf_sc.uc_mcontext.sc_eflags = regs->tf_eflags; - frame.sf_sc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; - frame.sf_sc.uc_mcontext.sc_ss = regs->tf_ss; - frame.sf_sc.uc_mcontext.sc_err = regs->tf_err; - frame.sf_sc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; - frame.sf_sc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); + bsd_to_linux_sigset(mask, &frame.sf_uc.uc_sigmask); + + frame.sf_uc.uc_mcontext.sc_mask = frame.sf_uc.uc_sigmask.__mask; + frame.sf_uc.uc_mcontext.sc_gs = rgs(); + frame.sf_uc.uc_mcontext.sc_fs = regs->tf_fs; + frame.sf_uc.uc_mcontext.sc_es = regs->tf_es; + frame.sf_uc.uc_mcontext.sc_ds = regs->tf_ds; + frame.sf_uc.uc_mcontext.sc_edi = regs->tf_edi; + frame.sf_uc.uc_mcontext.sc_esi = regs->tf_esi; + frame.sf_uc.uc_mcontext.sc_ebp = regs->tf_ebp; + frame.sf_uc.uc_mcontext.sc_ebx = regs->tf_ebx; + frame.sf_uc.uc_mcontext.sc_esp = regs->tf_esp; + frame.sf_uc.uc_mcontext.sc_edx = regs->tf_edx; + frame.sf_uc.uc_mcontext.sc_ecx = regs->tf_ecx; + frame.sf_uc.uc_mcontext.sc_eax = regs->tf_eax; + frame.sf_uc.uc_mcontext.sc_eip = regs->tf_eip; + frame.sf_uc.uc_mcontext.sc_cs = regs->tf_cs; + frame.sf_uc.uc_mcontext.sc_eflags = regs->tf_eflags; + frame.sf_uc.uc_mcontext.sc_esp_at_signal = regs->tf_esp; + frame.sf_uc.uc_mcontext.sc_ss = regs->tf_ss; + frame.sf_uc.uc_mcontext.sc_err = regs->tf_err; + frame.sf_uc.uc_mcontext.sc_cr2 = (register_t)ksi->ksi_addr; + frame.sf_uc.uc_mcontext.sc_trapno = bsd_to_linux_trapcode(code); if (copyout(&frame, fp, sizeof(frame)) != 0) { /* diff --git a/sys/x86/linux/linux_x86_sigframe.h b/sys/x86/linux/linux_x86_sigframe.h index 13294740eb39..56ff346ea5b7 100644 --- a/sys/x86/linux/linux_x86_sigframe.h +++ b/sys/x86/linux/linux_x86_sigframe.h @@ -124,7 +124,7 @@ struct l_rt_sigframe { l_uintptr_t sf_siginfo; l_uintptr_t sf_ucontext; l_siginfo_t sf_si; - struct l_ucontext sf_sc; + struct l_ucontext sf_uc; }; #else @@ -187,7 +187,7 @@ struct l_ucontext { * handler, but use the BSD way of calling the handler and sigreturn(). */ struct l_rt_sigframe { - struct l_ucontext sf_sc; + struct l_ucontext sf_uc; struct l_siginfo sf_si; };