From owner-cvs-all Thu Oct 31 13:36: 9 2002 Delivered-To: cvs-all@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 9C9E437B401; Thu, 31 Oct 2002 13:36:07 -0800 (PST) Received: from alcanet.com.au (mail2.alcanet.com.au [203.62.196.17]) by mx1.FreeBSD.org (Postfix) with ESMTP id 0257343E7B; Thu, 31 Oct 2002 13:36:06 -0800 (PST) (envelope-from peter.jeremy@alcatel.com.au) Received: from sydsmtp01.alcatel.com.au (IDENT:root@localhost.localdomain [127.0.0.1]) by alcanet.com.au (8.12.4/8.12.4/Alcanet1.3) with ESMTP id g9VLa05O016356; Fri, 1 Nov 2002 08:36:00 +1100 Received: from gsmx07.alcatel.com.au ([139.188.20.247]) by sydsmtp01.alcatel.com.au (Lotus Domino Release 5.0.11) with ESMTP id 2002110108355906:68564 ; Fri, 1 Nov 2002 08:35:59 +1100 Received: from gsmx07.alcatel.com.au (localhost [127.0.0.1]) by gsmx07.alcatel.com.au (8.12.5/8.12.5) with ESMTP id g9VLZwRL070218; Fri, 1 Nov 2002 08:35:58 +1100 (EST) (envelope-from peter.jeremy@alcatel.com.au) Received: (from jeremyp@localhost) by gsmx07.alcatel.com.au (8.12.5/8.12.5/Submit) id g9VLZwCn070217; Fri, 1 Nov 2002 08:35:58 +1100 (EST) (envelope-from peter.jeremy@alcatel.com.au) Date: Fri, 1 Nov 2002 08:35:58 +1100 From: Peter Jeremy To: Bruce Evans Cc: Alfred Perlstein , Peter Wemm , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG Subject: Re: cvs commit: src/lib/libc/stdio findfp.c Message-ID: <20021031213557.GG6446@gsmx07.alcatel.com.au> Mail-Followup-To: Bruce Evans , Alfred Perlstein , Peter Wemm , cvs-committers@FreeBSD.ORG, cvs-all@FreeBSD.ORG References: <20021031095115.GW24139@elvis.mu.org> <20021031220322.Y9371-100000@gamplex.bde.org> Mime-Version: 1.0 In-Reply-To: <20021031220322.Y9371-100000@gamplex.bde.org> User-Agent: Mutt/1.4i X-MIMETrack: Itemize by SMTP Server on SYDSMTP01/AlcatelAustralia(Release 5.0.11 |July 24, 2002) at 01/11/2002 08:35:59 AM, Serialize by Router on SYDSMTP01/AlcatelAustralia(Release 5.0.11 |July 24, 2002) at 01/11/2002 08:36:04 AM, Serialize complete at 01/11/2002 08:36:04 AM Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.ORG On 2002-Oct-31 22:15:51 +1100, Bruce Evans wrote: >On Thu, 31 Oct 2002, Alfred Perlstein wrote: > >> * Bruce Evans [021031 01:25] wrote: >> > "Fixing" signal handling broke even more things here. Old kernels can no >> > longer run many new binaries because new binaries use the new sigaction() >> > syscall just to select the type of signal context passed to signal handlers, >> > most of which don't care about the type. If someone really cared about this, they could probably write code for all the sigXXX(3) functions that use sigXXX(2) interfaces to check for SIGSYS/ENOSYS and revert to the osigXXX(2) interfaces. This would probably handle most simple programs. (Of course, safely detecting SIGSYS whilst trying to install a handler for SIGSYS makes the task more interesting). >> While this is true and you are correct, I don't see how this >> reflects negatively on the decision to statisize __sF. > >It reflects positively (unfortunately). Almost everything is incompatible >unless they were compiled at the same time. OTOH, recompiling all >applications to make them stop using __sF makes them not work on yesterday's >kernel. Maybe I missed something but which parts of __sF rely on kernel interfaces? You mightn't be able to use yesterdays libc, but you should be able to use yesterday's kernel (for a 'yesterday' since about September 1999). I agree that this sort of API breakage is a nuisance but I don't see how we can make any progress if we insist that any application compiled on FreeBSD 1.0 will run on today's system and any application compiled today will run on a FreeBSD 1.0 system. Overall, I think we do fairly well. There have been three major API breakages that I can think of: a.out -> ELF, the sigset_t changes and these __sF changes. ELF support was added sometime around 2.2.5, the 'standard' format changed from a.out to ELF in 3.0/3.1 and the a.out compiler backends will be removed in 5.0 (I think). The sigset_t and __sF changes are much more of a big-bang but I'm not sure how this can be avoided. Peter To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message