From owner-freebsd-current Thu Jul 31 10:52:44 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.5/8.8.5) id KAA23043 for current-outgoing; Thu, 31 Jul 1997 10:52:44 -0700 (PDT) Received: from austin.polstra.com (austin.polstra.com [206.213.73.10]) by hub.freebsd.org (8.8.5/8.8.5) with ESMTP id KAA23037 for ; Thu, 31 Jul 1997 10:52:41 -0700 (PDT) Received: from austin.polstra.com (jdp@localhost) by austin.polstra.com (8.8.6/8.8.5) with ESMTP id KAA06386; Thu, 31 Jul 1997 10:51:47 -0700 (PDT) Message-Id: <199707311751.KAA06386@austin.polstra.com> To: Terry Lambert cc: msmith@atrad.adelaide.edu.au, current@FreeBSD.ORG Subject: Re: pccard and -current; a long way to go. :-( In-reply-to: Your message of "Wed, 30 Jul 1997 10:05:24 PDT." <199707301705.KAA05229@phaeton.artisoft.com> Date: Thu, 31 Jul 1997 10:51:47 -0700 From: John Polstra Sender: owner-freebsd-current@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk > > not. (The usual reply to this is "let's just make our ELF tools > > prepend the underscore too," although I bet you know better than > > that. You're not allowed to do it because the ELF spec says you > > can't. If we want ELF, then let's have ELF and not elf.out or > > a.elf.) > > Don't be so sure that I am not an "underscore advocate". There's > plenty of code that distinguishes the assembly from the C symbol > name space using underscores... the non-underscore functions are > a means of providing duplicate symbol hiding. Sorry, but for me this issue is non-negotiable. From the ELF spec: External C symbols have the same names in C, assembly code, and object files' symbol tables. If you add the underscore, it's not ELF. > In many cases, the removal of the C symbol underscore is BAD(tm), > in that it causes a collision with an assembly function of the same > name. In ELF, global assembly language symbols that are intended to be hidden from C generally look like ".foo". It's just a different convention, that's all. I like the ELF convention better, because it eliminates all confusion about whether you should pass "foo" or "_foo" to functions like dlopen() and nlist(). -- John Polstra jdp@polstra.com John D. Polstra & Co., Inc. Seattle, Washington USA "Self-knowledge is always bad news." -- John Barth