Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 31 Jul 1997 10:51:47 -0700
From:      John Polstra <jdp@polstra.com>
To:        Terry Lambert <terry@lambert.org>
Cc:        msmith@atrad.adelaide.edu.au, current@FreeBSD.ORG
Subject:   Re: pccard and -current; a long way to go. :-( 
Message-ID:  <199707311751.KAA06386@austin.polstra.com>
In-Reply-To: Your message of "Wed, 30 Jul 1997 10:05:24 PDT." <199707301705.KAA05229@phaeton.artisoft.com> 

next in thread | previous in thread | raw e-mail | index | archive | help
> > 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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199707311751.KAA06386>