Date: Sun, 2 Dec 2007 16:30:48 +0200 From: Kostik Belousov <kostikbel@gmail.com> To: Carl Shapiro <carl.shapiro@gmail.com> Cc: freebsd-current@freebsd.org, davidxu@freebsd.org Subject: Re: Serious compatibility breakage in -current. Message-ID: <20071202143048.GS83121@deviant.kiev.zoral.com.ua> In-Reply-To: <4dcb5abd0712020059m70a02a0dyf63ebdaafc2a0ead@mail.gmail.com> References: <4dcb5abd0711290226u69105089ya10526519e5cc12d@mail.gmail.com> <20071129112824.GD83121@deviant.kiev.zoral.com.ua> <4dcb5abd0711292235k2bc2af86t45f7268d429c03ad@mail.gmail.com> <20071130152631.GJ83121@deviant.kiev.zoral.com.ua> <4dcb5abd0712012042m6e6cd00br3c9e72c97f047ee5@mail.gmail.com> <20071202054815.GQ83121@deviant.kiev.zoral.com.ua> <4dcb5abd0712020059m70a02a0dyf63ebdaafc2a0ead@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--NHfequSh1hmJPP0s Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Dec 02, 2007 at 12:59:15AM -0800, Carl Shapiro wrote: > On Dec 1, 2007 9:48 PM, Kostik Belousov <kostikbel@gmail.com> wrote: > > Is this some new code ? I did tested it on CLUCL-19d compiled for > > RELENG_6. Also, the sigbus_handler() from lisp/FreeBSD-os.c rev 1.12 > > does not contain the check, it seems (that describes why it worked for > > me). >=20 > Okay, this clearly explains why we are seeing different things. The > si_code check was added in version 1.16. This postdates the release > of CMUCL your first patch was tested against. Incidentally, I added > that check to the SIGBUS handler and should have known that it does > not appear in a formal release. Sorry about that. >=20 > > Could you, please, describe what was tested in more details ? Did > > you run the CMUCL (and sbcl) with the patch ? If yes, could you, please, > > show the file(1) output on the bin/lisp and bin/sbcl binary ? >=20 > I have a small test program that maps a page with PROT_NONE and > generates a protection violation by writing a byte to it. The "mmap6" > executable was compiled on a FreeBSD 6.1 system. The "mmap7" > executable was compiled on my 7.0-BETA3 system with your patch > applied. Below is a transcript of these two programs being run on the > patched 7.0-BETA3 system. >=20 > freebsd7% file mmap6 > mmap6: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), > dynamically linked (uses shared libs), not stripped > freebsd7% ./mmap6 > __FreeBSD_version=3D601000 > signum=3D10,info->si_code=3D12,context=3D0xbfbfe9d0 > freebsd7% file ./mmap7 > ./mmap7: ELF 32-bit LSB executable, Intel 80386, version 1 (FreeBSD), > for FreeBSD 7.0 (700055), dynamically linked (uses shared libs), > FreeBSD-style, not stripped > freebsd7% ./mmap7 > __FreeBSD_version=3D700055 > signum=3D11,info->si_code=3D2,context=3D0xbfbfe9e0 >=20 > The source code to this program is in a bug report I submitted a few > days ago and errantly filed under "misc". Please visit > http://www.freebsd.org/cgi/query-pr.cgi?pr=3D118304 and page down to the > "How-To-Repeat" heading. >=20 > I have also recompiled CMUCL on a FreeBSD 7 system starting with a > FreeBSD 6 binary and everything seems to work. I believe the output > of my small test program provides sufficient proof that the interfaces > we rely on are working as expected. Yes, I have the similar program to. I asked somewhat different question. sbcl has the following code in the src/runtime/bsd-os.c: /* Memory fault signal on FreeBSD was changed from SIGBUS to * SIGSEGV. */ if (getosreldate() < 700004) sig_memory_fault =3D SIGBUS; else sig_memory_fault =3D SIGSEGV; It shall broke in the way similar to the CMUCL, after I commit the patch to CURRENT/RELENG_7, regardless of whether I MFC crtbrand.c fix to RELENG_6. This is why the machdep sysctls for i386/amd64 are introduced. Are you satisfied with this ? I, even after help from Kris Kennaway, still unable to provide the solution that does not broke something, at least without manual intervention (aka sysctl). --NHfequSh1hmJPP0s Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.7 (FreeBSD) iD8DBQFHUsGXC3+MBN1Mb4gRAjVjAKCu80neeehUtfD+mlzJAjf6h+ipSACfUmKB Fb607DEcaEyPzCk65Zg970M= =FaNf -----END PGP SIGNATURE----- --NHfequSh1hmJPP0s--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20071202143048.GS83121>