From owner-cvs-all Mon Apr 27 21:38:59 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id VAA08761 for cvs-all-outgoing; Mon, 27 Apr 1998 21:38:59 -0700 (PDT) (envelope-from owner-cvs-all@FreeBSD.ORG) Received: from cimlogic.com.au (cimlog.lnk.telstra.net [139.130.51.31]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id VAA08752 for ; Mon, 27 Apr 1998 21:38:55 -0700 (PDT) (envelope-from jb@cimlogic.com.au) Received: (from jb@localhost) by cimlogic.com.au (8.8.8/8.8.7) id OAA17651; Tue, 28 Apr 1998 14:40:30 +1000 (EST) (envelope-from jb) From: John Birrell Message-Id: <199804280440.OAA17651@cimlogic.com.au> Subject: Syscall as weak symbols To: bde@zeta.org.au Date: Tue, 28 Apr 1998 14:40:30 +1000 (EST) Cc: committers@FreeBSD.ORG X-Mailer: ELM [version 2.4ME+ PL32 (25)] MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: owner-cvs-all@FreeBSD.ORG Precedence: bulk As part of a cleanup to things related to libc, I'd like to change the SYSCALL macro to generate (something like) __syscall_name as the non-weak symbol for the `name' syscall, and declare name as a weak symbol so that an "nm -W write.o" gives: 00000008 T __syscall_write U cerror 00000008 TW write using: #define SYSCALL(x) 2: PIC_PROLOGUE; jmp PIC_PLT(HIDENAME(cerror)); \ ENTRY(__CONCAT(_syscall_,x)); \ .weak x; .set x,__CONCAT(__syscall_,x); \ lea __CONCAT(SYS_,x),%eax; KERNCALL; jb 2b This will allow the complexity of renaming syscalls for libc_r to be removed. It is also a step towards cleaning up the user's namespace. Comments? -- John Birrell - jb@cimlogic.com.au; jb@freebsd.org http://www.cimlogic.com.au/ CIMlogic Pty Ltd, GPO Box 117A, Melbourne Vic 3001, Australia +61 418 353 137 To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message