From owner-freebsd-current Mon Mar 8 8:53:39 1999 Delivered-To: freebsd-current@freebsd.org Received: from fledge.watson.org (FLEDGE.RES.CMU.EDU [128.2.93.229]) by hub.freebsd.org (Postfix) with ESMTP id 18F3114DDB for ; Mon, 8 Mar 1999 08:53:18 -0800 (PST) (envelope-from robert@cyrus.watson.org) Received: from fledge.watson.org (robert@fledge.pr.watson.org [192.0.2.3]) by fledge.watson.org (8.8.8/8.8.8) with SMTP id LAA12081; Mon, 8 Mar 1999 11:52:37 -0500 (EST) (envelope-from robert@cyrus.watson.org) Date: Mon, 8 Mar 1999 11:52:37 -0500 (EST) From: Robert Watson X-Sender: robert@fledge.watson.org Reply-To: Robert Watson To: Eivind Eklund Cc: HighWind Software Information , current@FreeBSD.ORG Subject: Re: Killed Myself In-Reply-To: <19990308163137.Q41771@bitbox.follo.net> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG So actually, I have a question about this. How is the syscall glue generated, and when. Pretty much all the userland libraries call syscalls using symbols of the same name rather than the syscall() wrapper, presumably for performance and feasiability reasons (especially with pipe()). When is this glue generated? Two possibilities come to mind: a) When a buildworld is done, the compiler includes the /usr/include/sys/syscall* files, and as such has access to the necessary arguments to compile the glue straight into the libraries/applications when they require the symbol to be available, or at link time. b) When gcc compiles an application, it dynamically reads in the syscall data in /usr/include/sys And an unlikely third: c) It munges the kernel Which of these is the case, or what other event is happening? Previously when adding syscalls, I've always rebuilt the kernel and the world. As a result, I've never run into the problem I ran into today where my test machine whines that it cannot link against my shared libraries making use of new syscalls in its kernel, even though the include files are available and correct. I assume this is because my compiler needs to be updated, but as I'm not actually familiar with the glue making process, I figured I would ask. Thanks in advance, On Mon, 8 Mar 1999, Eivind Eklund wrote: > On Tue, Nov 17, 1998 at 09:49:31PM -0500, HighWind Software Information wrote: > > > > After installing the recent libc_r and libc, I'm getting: > > > > ld.so failed: Undefined symbol "SYS_kldsym" in make:/usr/lib/aout/libc.so.3.1 > > > > I also get it sometimes when I link against libc_r. > > > > "SYS_kldsym" is always the thing I don't seem to have a definition for. > > > > This just started happening. UGH! > > If you do not know how FreeBSD works to a detailed enough level to NOT > HAVE TO ASK THIS, then you should MAKE WORLD. You should NOT try to > do incremental recompiles. That is reserved for those people that > know exactly what they are doing. > > Sorry, but this is like taking a nail-gun and shooting from the hip > towards the floor instead of actually bedning your knees, and then > coming shouting 'My foot hurts! My foot hurts! What should I do?' > > Eivind. > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-current" in the body of the message > Robert N Watson robert@fledge.watson.org http://www.watson.org/~robert/ PGP key fingerprint: 03 01 DD 8E 15 67 48 73 25 6D 10 FC EC 68 C1 1C Carnegie Mellon University http://www.cmu.edu/ TIS Labs at Network Associates, Inc. http://www.tis.com/ Safeport Network Services http://www.safeport.com/ To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message