Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 28 Oct 2016 14:46:48 -0700
From:      John Baldwin <jhb@freebsd.org>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r307971 - head/sys/mips/include
Message-ID:  <1929988.EGVZnnWLNP@ralph.baldwin.cx>
In-Reply-To: <20161028175450.GE54029@kib.kiev.ua>
References:  <201610261737.u9QHb8Ps036831@repo.freebsd.org> <4639059.6gemL8B1hY@ralph.baldwin.cx> <20161028175450.GE54029@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
On Friday, October 28, 2016 08:54:50 PM Konstantin Belousov wrote:
> On Fri, Oct 28, 2016 at 09:59:26AM -0700, John Baldwin wrote:
> > Well, we could perhaps patch those to use SA_SIGINFO instead, but if it's
> > a non-trivial amount of effort I'm not going to bother.  I'm surprised that
> > some of those would use sigcontext.  Both mono and go post-date SA_SIGINFO
> > being standardized and supported on FreeBSD AFAIK.  Supporting sigcontext
> > just means extra BSD-specific code in those applications compared to using
> > SA_SIGINFO. :-/
> 
> For libunwind, I can see a rationale for struct sigcontext use.  It seems
> that on Linux, rt_sigreturn(2) syscall takes struct sigcontext *, and not
> struct ucontext *, as the argument.  This is not unreasonable, because
> the additional ucontext fields make no sense for sigreturn, for us they
> are copied into kernel AS but are also unused.
> 
> So my FreeBSD port followed the existing Linux code.  And I started wondering
> should we change our sigreturn(2) to take sigcontext * instead of ucontext *.

Hmm, that's an interesting thought (and it seems 'struct sigcontext' isn't
BSD-only).  We would definitely want to ensure that the initial bit of ucontext_t
matches a sigcontext if we were to go that route.

-- 
John Baldwin



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1929988.EGVZnnWLNP>