tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Go binary panics on amd64-current - SIG*unknown



Christos Zoulas wrote:
> Index: linux_sigaction.c
> ===================================================================
> RCS file: /cvsroot/src/sys/compat/linux/common/linux_sigaction.c,v
> retrieving revision 1.34
> diff -u -u -r1.34 linux_sigaction.c
> --- linux_sigaction.c	17 Oct 2008 20:21:34 -0000	1.34
> +++ linux_sigaction.c	7 Jan 2018 00:10:43 -0000
> @@ -84,6 +84,15 @@
>  		linux_old_to_native_sigaction(&nbsa, &nlsa);
>  	}
>  	sig = SCARG(uap, signum);
> +	/*
> +	 * XXX: Linux has 33 realtime signals, the go binary wants to
> +	 * reset all of them; nothing else uses the last RT signal, so for
> +	 * now ignore it.
> +	 */
> +	if (sig == LINUX__NSIG) {
> +		uprintf("%s: setting signal %d ignored\n", __func__, sig);
> +		sig--;	/* back to 63 which is ignored */
> +	}
>  	if (sig < 0 || sig >= LINUX__NSIG)
>  		return (EINVAL);
>  	if (sig > 0 && !linux_to_native_signo[sig]) {

it works but you patched the wrong file, this change should go into
linux_signal.c.

-- 
Alex


Home | Main Index | Thread Index | Old Index