From owner-svn-src-head@FreeBSD.ORG Mon May 25 15:48:23 2015 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 65BE1C96; Mon, 25 May 2015 15:48:23 +0000 (UTC) (envelope-from dchagin@dchagin.static.corbina.net) Received: from heemeyer.club (heemeyer.club [IPv6:2001:19f0:6400:80a1::1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client CN "heemeyer.club", Issuer "heemeyer.club" (not verified)) by mx1.freebsd.org (Postfix) with ESMTPS id 3F3432DD; Mon, 25 May 2015 15:48:22 +0000 (UTC) (envelope-from dchagin@dchagin.static.corbina.net) Received: from dchagin.static.corbina.net (gprs-client-83.149.8.109.misp.ru [83.149.8.109] (may be forged)) by heemeyer.club (8.15.1/8.15.1) with ESMTPS id t4PFmI0D021362 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 25 May 2015 15:48:20 GMT (envelope-from dchagin@dchagin.static.corbina.net) X-Authentication-Warning: heemeyer.club: Host gprs-client-83.149.8.109.misp.ru [83.149.8.109] (may be forged) claimed to be dchagin.static.corbina.net Received: from dchagin.static.corbina.net (localhost [127.0.0.1]) by dchagin.static.corbina.net (8.15.1/8.15.1) with ESMTPS id t4PFmHQ8003538 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO); Mon, 25 May 2015 18:48:17 +0300 (MSK) (envelope-from dchagin@dchagin.static.corbina.net) Received: (from dchagin@localhost) by dchagin.static.corbina.net (8.15.1/8.15.1/Submit) id t4PFmHAU003537; Mon, 25 May 2015 18:48:17 +0300 (MSK) (envelope-from dchagin) Date: Mon, 25 May 2015 18:48:17 +0300 From: Chagin Dmitry To: Konstantin Belousov Cc: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: Re: svn commit: r283479 - in head/sys: amd64/amd64 amd64/ia32 arm/arm i386/i386 mips/mips powerpc/powerpc sparc64/sparc64 Message-ID: <20150525154816.GA3524@dchagin.static.corbina.net> References: <201505241756.t4OHu3ot035613@svn.freebsd.org> <20150524182515.GF2499@kib.kiev.ua> <20150524193448.GA2729@dchagin.static.corbina.net> <20150525082302.GJ2499@kib.kiev.ua> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20150525082302.GJ2499@kib.kiev.ua> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 25 May 2015 15:48:23 -0000 On Mon, May 25, 2015 at 11:23:02AM +0300, Konstantin Belousov wrote: > On Sun, May 24, 2015 at 10:34:48PM +0300, Chagin Dmitry wrote: > > On Sun, May 24, 2015 at 09:25:15PM +0300, Konstantin Belousov wrote: > > > On Sun, May 24, 2015 at 05:56:03PM +0000, Dmitry Chagin wrote: > > > > Author: dchagin > > > > Date: Sun May 24 17:56:02 2015 > > > > New Revision: 283479 > > > > URL: https://svnweb.freebsd.org/changeset/base/283479 > > > > > > > > Log: > > > > The kernel sends signals to the processes via ABI specific sv_sendsig method. > > > > Native ABI do not need signal conversion, only emulators may want this. Usually > > > > emulators implements its own sv_sendsig method. For now only ibcs2 emulator does > > > > not have own sv_sendsig implementation and depends on native sendsig() method. > > > > So, remove any extra attempts to convert signal numbers from native sendsig() > > > > methods except from i386 where ibsc2 is living. > > > > > > > > Modified: > > > > head/sys/amd64/amd64/machdep.c > > > > head/sys/amd64/ia32/ia32_signal.c > > > > head/sys/arm/arm/machdep.c > > > > head/sys/i386/i386/machdep.c > > > > head/sys/mips/mips/freebsd32_machdep.c > > > > head/sys/mips/mips/pm_machdep.c > > > > head/sys/powerpc/powerpc/exec_machdep.c > > > > head/sys/sparc64/sparc64/machdep.c > > > > > > > > Modified: head/sys/amd64/amd64/machdep.c > > > > ============================================================================== > > > > --- head/sys/amd64/amd64/machdep.c Sun May 24 17:53:48 2015 (r283478) > > > > +++ head/sys/amd64/amd64/machdep.c Sun May 24 17:56:02 2015 (r283479) > > > > @@ -398,10 +398,6 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, > > > > /* Align to 16 bytes. */ > > > > sfp = (struct sigframe *)((unsigned long)sp & ~0xFul); > > > > > > > > - /* Translate the signal if appropriate. */ > > > > - if (p->p_sysent->sv_sigtbl && sig <= p->p_sysent->sv_sigsize) > > > > - sig = p->p_sysent->sv_sigtbl[_SIG_IDX(sig)]; > > > > - > > > Does struct sysent still need sv_sigtbl and sv_sigsize members then ? > > ubsc2 share sendsig with i386, so this members still used > You mean, iBCS2 uses current FreeBSD signal frame layout ? no, I mean ibsc2 uses i386 sendsig() method, unfortunatelly I know nothing about ibsc2. > > Indeed, and I do not see how this is not broken. The SysV R3 definitely > did not knew about things like SSE or AVX, and I am sure that the layout > of the signal frame for i386 even in its non-extended part on FreeBSD > mutated without looking back to the iBCS2 requirements. But this is a > different issue. > > That said, could iBCS2 use a wrapper around some internal variant of the > sendsig() which would take both ksi and translated signal number ? The > signal number would be used to set sf_signum. hm, ok, I write it -- Have fun! chd