From owner-freebsd-current@FreeBSD.ORG Thu Nov 13 11:38:55 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A35E016A4CE for ; Thu, 13 Nov 2003 11:38:55 -0800 (PST) Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by mx1.FreeBSD.org (Postfix) with ESMTP id E02C443FB1 for ; Thu, 13 Nov 2003 11:38:53 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from gamplex.bde.org (katana.zip.com.au [61.8.7.246]) by mailman.zeta.org.au (8.9.3p2/8.8.7) with ESMTP id GAA14223; Fri, 14 Nov 2003 06:38:29 +1100 Date: Fri, 14 Nov 2003 06:38:28 +1100 (EST) From: Bruce Evans X-X-Sender: bde@gamplex.bde.org To: John Hay In-Reply-To: <20031113075722.GA64129@zibbi.icomtek.csir.co.za> Message-ID: <20031114062238.M3230@gamplex.bde.org> References: <20031113075722.GA64129@zibbi.icomtek.csir.co.za> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII cc: current@FreeBSD.org Subject: Re: new kernel and old programs - bad system call X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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, 13 Nov 2003 19:38:55 -0000 On Thu, 13 Nov 2003, John Hay wrote: > Is it ok to run a new kernel (after the statfs changes) and older > programs? I thought so from what i gathered out of the commit > messages, but my test box doesn't like it at all... Well except > if something else broke stuff: I have no problems with a current kernel and an old world. > ###### > ... > Mounting root from ufs:/dev/da0s1a > pid 50 (sh), uid 0: exited on signal 12 > Enter full pathname of shell or RETURN for /bin/sh: > # ls > pid 56 (ls), uid 0: exited on signal 12 > Bad system call > # > ###### Maybe you don't have old programs. Unfortunately, even /bin/sh is affected by the changes (it has a reference to fstatfs). I often boot old kernels (back to RELENG_4) with current utilities and will have to do something about this. Everying except things like ps works with only the following changes: - don't use the new eaccess() syscall in test(1). - change SYS_sigaction and SYS_sigreturn to their old (RELENG_4) values so that the newest signal handling is not used. This works almost perfectly because there are no significant changes to the data structures (only some semantic changes that most utilities don't care about). Larger changes in signal handling are the main thing that prevents current utilities running under RELENG_3. The statfs changes affect data structures, so they can't be avoided by simply changing the syscall numbers. Bruce