From owner-freebsd-current@FreeBSD.ORG Thu Nov 29 10:50:54 2007 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 96EFA16A41A for ; Thu, 29 Nov 2007 10:50:54 +0000 (UTC) (envelope-from carl.shapiro@gmail.com) Received: from rn-out-0102.google.com (rn-out-0910.google.com [64.233.170.184]) by mx1.freebsd.org (Postfix) with ESMTP id 25D9313C442 for ; Thu, 29 Nov 2007 10:50:53 +0000 (UTC) (envelope-from carl.shapiro@gmail.com) Received: by rn-out-0102.google.com with SMTP id e5so1595560rng for ; Thu, 29 Nov 2007 02:50:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; bh=AN9IL4pTay9Z+EgufFCieqO5h+NYmDImxctmpIfr10M=; b=D3XmeEIATKrRoi5gFTfo80ZWQrFfI+InfhXyLPOjOMZDoM4TMDRHVy349in8milzIEj/V+2pXFjv0Vtc3b284kqloh5fzTBLZZutpIVn08J9XXaO/2nBKd89JZx/JxrcARAgJ9GtugF3ANWIEIZSGCYmwxD/G+/RC0jY5AMvY9I= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=received:message-id:date:from:to:subject:mime-version:content-type:content-transfer-encoding:content-disposition; b=kdcT7DTXnuSdDxD6srY1tE8+DKrUOolXRHfSX72Keni6hNzvPHbdlOrB5rV1aa3aWmLo/kbBpb419jOD5UT/7+OsLj1I1W93cGp8ZZXHX//m0eTfnMXTdAmNBOyIiT+gTVMGnj3K/7gozME3b4TjTz0UtYGiZRsVhWPV+/cu4rc= Received: by 10.151.10.7 with SMTP id n7mr1464432ybi.1196331971778; Thu, 29 Nov 2007 02:26:11 -0800 (PST) Received: by 10.150.200.6 with HTTP; Thu, 29 Nov 2007 02:26:11 -0800 (PST) Message-ID: <4dcb5abd0711290226u69105089ya10526519e5cc12d@mail.gmail.com> Date: Thu, 29 Nov 2007 02:26:11 -0800 From: "Carl Shapiro" To: freebsd-current@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Content-Disposition: inline Subject: Serious compatibility breakage in -current. X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 29 Nov 2007 10:50:54 -0000 Developers, FreeBSD 7 has changed the protection violation signal from SIGBUS to SIGSEGV. Unfortunately, when an old binary is run on a current FreeBSD system, protection violations cause a SIGSEGV to be delivered to the executable instead of the anticipated SIGBUS. Binaries compiled on older versions of FreeBSD are not prepared to handle SIGSEGV in response to page protection violations. One consequence of this change is that applications that handle page protection violations, such as the CMUCL Lisp compiler have broken. CMUCL binaries compiled for FreeBSD 4, FreeBSD 5, and FreeBSD 6 crash on -current. Investments FreeBSD users have in binaries that handle page protection violations, such as things that link against boehm-gc, are lost forever. This significantly increases the cost of an upgrade to FreeBSD 7. The switch from SIGBUS to SIGSEGV is well motivated. However, it is not clear that consideration was given to binaries running under compat{4,5,6}x. One would expect the compat infrastructure to translate protection violation signals from SIGSEGV to SIGBUS while executing older binaries. This would ensure that the applications that establish SIGBUS handlers to catch protection violations continue to work. Among the open source operating systems the FreeBSD project has one of the best traditions of supporting old binaries. It would truly be a shame for this tradition to abruptly end as of the next major release. As a developer who supports several versions of FreeBSD through binary compatibility anything that can help us avoid breakage as of the next FreeBSD release would be appreciated. Thanks, Carl (and the many FreeBSD users of CMUCL)