From owner-freebsd-current@FreeBSD.ORG Thu Jul 5 00:31:44 2007 Return-Path: X-Original-To: current@freebsd.org Delivered-To: freebsd-current@FreeBSD.ORG Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 3F3ED16A41F; Thu, 5 Jul 2007 00:31:44 +0000 (UTC) (envelope-from peter@wemm.org) Received: from canning.wemm.org (canning.wemm.org [192.203.228.65]) by mx1.freebsd.org (Postfix) with ESMTP id 28B3413C45B; Thu, 5 Jul 2007 00:31:44 +0000 (UTC) (envelope-from peter@wemm.org) Received: from overcee.wemm.org (canning.wemm.org [192.203.228.65]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by canning.wemm.org (Postfix) with ESMTP id EA27546B69; Wed, 4 Jul 2007 17:13:06 -0700 (PDT) (envelope-from peter@wemm.org) Received: from overcee.wemm.org (localhost [127.0.0.1]) by overcee.wemm.org (8.14.1/8.14.1) with ESMTP id l650D6U4005445; Wed, 4 Jul 2007 17:13:06 -0700 (PDT) (envelope-from peter@wemm.org) Received: from localhost (localhost [[UNIX: localhost]]) by overcee.wemm.org (8.14.1/8.14.1/Submit) id l650D6MS005444; Wed, 4 Jul 2007 17:13:06 -0700 (PDT) (envelope-from peter@wemm.org) X-Authentication-Warning: overcee.wemm.org: peter set sender to peter@wemm.org using -f From: Peter Wemm To: current@freebsd.org Date: Wed, 4 Jul 2007 17:13:06 -0700 User-Agent: KMail/1.9.6 MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200707041713.06197.peter@wemm.org> X-Mailman-Approved-At: Thu, 05 Jul 2007 00:39:12 +0000 Cc: Subject: HEADS UP: late change regarding syscalls in 7.0 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, 05 Jul 2007 00:31:44 -0000 I've committed a series of changes to the tree that are aimed at fixing a few quirks left over from gcc-2.0 compatability in our syscall layer. Specifically, key syscalls like mmap() had an extra argument, "int pad". The hacks to work around it were a problem for a number of things, and caused some sub-optimal circumstances for the amd64 platform. I've committed some temporary workarounds to try and make sure that we don't loose the ability to boot kernel.old's, and to make sure that people who aren't paying attention don't get too badly hosed. To that end, the old syscalls are compiled in (temporarily) regardless of whether you use the appropriate COMPAT_ kernel option. (GENERIC has them all!). libc will detect an old kernel and use the old syscalls if needed. Once 7-stable begins, I'm intending to remove the forced anti-foot-shooting and turn off the glue in libc that enables post-7.0 worlds to work on pre-7.0 kernels. To that end. Please make sure you have COMPAT_FREEBSD6 in your kernel configs! It isn't important yet, but will be in a few months. As a side note, amd64 machines need COMPAT_FREEBSD6 *now* if they want to run old 32 bit binaries. If they crash with 'Illegal syscall', then that is what you've forgotten. I'm fairly sure I have not broken anything, with the following caveats: * I have not compile nor run tested ia64, powerpc or arm at all. * I have compiled sparc64 and tested the libc changes on an old kernel. I wasn't able to boot a new kernel to test the 'new kernel' support. I expect it will work, if only -current would boot on sun4v. * I have compile and run tested amd64 and i386 fairly extensively. * I have made some tweaks to the commit in preparing it for commit, so it is possible that I have broken something at the last second. If so, I apologize in advance. * There will be more work on this over the coming months. Stay tuned. -Peter -- Peter Wemm - peter@wemm.org; peter@FreeBSD.org; peter@yahoo-inc.com "All of this is for nothing if we don't go to the stars" - JMS/B5