From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: From: "Steve Simon" Date: Fri, 25 Jul 2008 12:15:39 +0100 To: 9fans@9fans.net MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: [9fans] kernel, errfmt Topicbox-Message-UUID: f019f3c6-ead3-11e9-9d60-3106f5b1d025 Hi, I have become confused trying to understand the kernel's linkage. the kernel uses print() in many places, e.g. /sys/src/9/port/xalloc.c:80 /sys/src/9/port/devcons.c:211 This calls vseprint(). /sys/src/libc/fmt/fmt.c:47 The fmt library installs %r (errfmt) by default. /sys/src/libc/fmt/errfmt.c:10 references rerrstr(). /sys/src/libc/9sys/rerrstr.c:10 references errstr(). Errstr() is a system call and does not exist in the kernel (where it becomes syserrstr()). How can this work? ...or does the kernel itself perform system calls? -Steve