svn commit: r307971 - head/sys/mips/include

John Baldwin jhb at freebsd.org
Fri Oct 28 21:47:32 UTC 2016


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


More information about the svn-src-all mailing list