From owner-freebsd-current Tue Oct 28 15:47:42 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id PAA01388 for current-outgoing; Tue, 28 Oct 1997 15:47:42 -0800 (PST) (envelope-from owner-freebsd-current) Received: from silvia.HIP.Berkeley.EDU (wck-ca6-01.ix.netcom.com [199.35.213.193]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id PAA01370 for ; Tue, 28 Oct 1997 15:47:32 -0800 (PST) (envelope-from asami@vader.cs.berkeley.edu) Received: (from asami@localhost) by silvia.HIP.Berkeley.EDU (8.8.7/8.6.9) id PAA07722; Tue, 28 Oct 1997 15:40:45 -0800 (PST) Date: Tue, 28 Oct 1997 15:40:45 -0800 (PST) Message-Id: <199710282340.PAA07722@silvia.HIP.Berkeley.EDU> To: mike@smith.net.au CC: helbig@Informatik.BA-Stuttgart.DE, freebsd-current@freefall.FreeBSD.org In-reply-to: <199710202332.JAA02439@word.smith.net.au> (message from Mike Smith on Tue, 21 Oct 1997 09:02:50 +0930) Subject: Re: bad system call - world build From: asami@cs.berkeley.edu (Satoshi Asami) Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk Well, it seems more and more people are tripping over this one. Building and bebooting with a new kernel is not a solution to many, as one of the goals of the buildworld/installworld split was to be able to build world on the fileserver (which could be running something as old as 2.1.5) and install it on the client without disrupting the server at all. So, let's get to the real solution. I don't want to point my big fat fingers (well they really are, you can come see me!) to anyone but Poul-Henning appears to be the one that made the change initially with Peter trying to fix it. What do you think, guys? :) Satoshi ------- The cvs log of src/lib/libc/gen/getcwd.c says: : 1.14 Tue Sep 16 6:00:50 1997 by peter CVS Tags: HEAD Put a system call not present checking wrapper around the call to __getcwd(). I've got this libc code running on one of my machines at the moment without the __getcwd() syscall being present. : 1.11 Sun Sep 14 16:57:16 1997 by phk Add __getcwd() syscall, and have getcwd() take a shot at it. If your kernel doesn't support __getcwd() or if __getcwd() cannot deliver because of cache expiry, it does the canonical thing.