From owner-svn-src-head@FreeBSD.ORG Thu Sep 2 10:22:23 2010 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id A452D10656A8; Thu, 2 Sep 2010 10:22:23 +0000 (UTC) (envelope-from kostikbel@gmail.com) Received: from mail.zoral.com.ua (mx0.zoral.com.ua [91.193.166.200]) by mx1.freebsd.org (Postfix) with ESMTP id 20A4D8FC16; Thu, 2 Sep 2010 10:22:22 +0000 (UTC) Received: from deviant.kiev.zoral.com.ua (root@deviant.kiev.zoral.com.ua [10.1.1.148]) by mail.zoral.com.ua (8.14.2/8.14.2) with ESMTP id o82AMJM9015763 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NO); Thu, 2 Sep 2010 13:22:19 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: from deviant.kiev.zoral.com.ua (kostik@localhost [127.0.0.1]) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4) with ESMTP id o82AMJXD010760; Thu, 2 Sep 2010 13:22:19 +0300 (EEST) (envelope-from kostikbel@gmail.com) Received: (from kostik@localhost) by deviant.kiev.zoral.com.ua (8.14.4/8.14.4/Submit) id o82AMIbq010759; Thu, 2 Sep 2010 13:22:18 +0300 (EEST) (envelope-from kostikbel@gmail.com) X-Authentication-Warning: deviant.kiev.zoral.com.ua: kostik set sender to kostikbel@gmail.com using -f Date: Thu, 2 Sep 2010 13:22:18 +0300 From: Kostik Belousov To: David Xu Message-ID: <20100902102218.GO2396@deviant.kiev.zoral.com.ua> References: <201009010218.o812IX5G048257@svn.freebsd.org> <20100902081136.GG2396@deviant.kiev.zoral.com.ua> <4C7FD232.9080100@freebsd.org> <20100902084116.GJ2396@deviant.kiev.zoral.com.ua> <4C7FD8D1.1000702@freebsd.org> <20100902092633.GM2396@deviant.kiev.zoral.com.ua> <4C7FE06B.9070609@freebsd.org> Mime-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="4KEqdnCeStZX4x/8" Content-Disposition: inline In-Reply-To: <4C7FE06B.9070609@freebsd.org> User-Agent: Mutt/1.4.2.3i X-Virus-Scanned: clamav-milter 0.95.2 at skuns.kiev.zoral.com.ua X-Virus-Status: Clean X-Spam-Status: No, score=-3.5 required=5.0 tests=ALL_TRUSTED,AWL,BAYES_00, DNS_FROM_OPENWHOIS autolearn=no version=3.2.5 X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on skuns.kiev.zoral.com.ua Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r212076 - head/lib/libthr/thread X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 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: Thu, 02 Sep 2010 10:22:23 -0000 --4KEqdnCeStZX4x/8 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 02, 2010 at 05:35:39PM +0000, David Xu wrote: > Kostik Belousov wrote: >=20 > >>the tf_err may not be equal to ksi_addr! This may need to be fixed. > >> > >The change was introduced by > >r151316 | davidxu | 2005-10-14 > > /* Old FreeBSD-style arguments. */ > >- sf.sf_siginfo =3D code; > >- sf.sf_addr =3D regs->tf_err; > >+ sf.sf_siginfo =3D ksi->ksi_code; > >+ sf.sf_addr =3D (register_t)ksi->ksi_addr; > > sf.sf_ahu.sf_handler =3D catcher; > > > :( The rollback looks straightforward. I explicitely decided to not change any architecture that is not i386. diff --git a/sys/amd64/ia32/ia32_signal.c b/sys/amd64/ia32/ia32_signal.c index d85a3bb..5ce6993 100644 --- a/sys/amd64/ia32/ia32_signal.c +++ b/sys/amd64/ia32/ia32_signal.c @@ -374,7 +374,7 @@ freebsd4_ia32_sendsig(sig_t catcher, ksiginfo_t *ksi, s= igset_t *mask) } else { /* Old FreeBSD-style arguments. */ sf.sf_siginfo =3D siginfo.si_code; - sf.sf_addr =3D (u_int32_t)siginfo.si_addr; + sf.sf_addr =3D regs->tf_err; sf.sf_ah =3D (u_int32_t)(uintptr_t)catcher; } mtx_unlock(&psp->ps_mtx); @@ -495,7 +495,7 @@ ia32_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *= mask) } else { /* Old FreeBSD-style arguments. */ sf.sf_siginfo =3D siginfo.si_code; - sf.sf_addr =3D (u_int32_t)siginfo.si_addr; + sf.sf_addr =3D regs->tf_err; sf.sf_ah =3D (u_int32_t)(uintptr_t)catcher; } mtx_unlock(&psp->ps_mtx); diff --git a/sys/i386/i386/machdep.c b/sys/i386/i386/machdep.c index ef229ca..6a5e4e6 100644 --- a/sys/i386/i386/machdep.c +++ b/sys/i386/i386/machdep.c @@ -390,7 +390,7 @@ osendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) } else { /* Old FreeBSD-style arguments. */ sf.sf_arg2 =3D ksi->ksi_code; - sf.sf_addr =3D (register_t)ksi->ksi_addr; + sf.sf_addr =3D regs->tf_err; sf.sf_ahu.sf_handler =3D catcher; } mtx_unlock(&psp->ps_mtx); @@ -531,7 +531,7 @@ freebsd4_sendsig(sig_t catcher, ksiginfo_t *ksi, sigset= _t *mask) } else { /* Old FreeBSD-style arguments. */ sf.sf_siginfo =3D ksi->ksi_code; - sf.sf_addr =3D (register_t)ksi->ksi_addr; + sf.sf_addr =3D regs->tf_err; sf.sf_ahu.sf_handler =3D catcher; } mtx_unlock(&psp->ps_mtx); @@ -684,7 +684,7 @@ sendsig(sig_t catcher, ksiginfo_t *ksi, sigset_t *mask) } else { /* Old FreeBSD-style arguments. */ sf.sf_siginfo =3D ksi->ksi_code; - sf.sf_addr =3D (register_t)ksi->ksi_addr; + sf.sf_addr =3D regs->tf_err; sf.sf_ahu.sf_handler =3D catcher; } mtx_unlock(&psp->ps_mtx); --4KEqdnCeStZX4x/8 Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkx/etoACgkQC3+MBN1Mb4hOXACZAdSd98Pi9SPVYm6LhiRAPCPM TVoAnA5Tht/Hh86but+Di1tSYJIwV37A =xm5/ -----END PGP SIGNATURE----- --4KEqdnCeStZX4x/8--