In article <[EMAIL PROTECTED]>,
Nils M Holm  <[EMAIL PROTECTED]> wrote:
> 
> Hello!
> 
> I am currently porting my compiler to the release 3.3. My RT lib depends
> on /usr/lib/libc.a. When attempting to link a program, I get messages about
> unresolved externals (it DOES work on release 2.x).
> 
> I have seen that the C compiler no longer generates underscores on
> symbols by default and consequently, '_printf' in /usr/lib/libc.a has
> become simply 'printf'. There seem to exist kind of 'compatibility
> entries' for some functions, though.
> 
> However, (at least) the symbols _creat, _lseek, and _memmove are not
> defined in /usr/lib/libc.a. (creat, lseek, and memove are defined.)
> 
> Is this a bug or a feature? Will underscores vanish totally in the
> future? Do I have to create a workaround for the 3.x branch??

Yes, the underscores are gone permanently because we switched from
a.out to ELF as the object file format.

You can test for it at compile time with #ifdef __ELF__.

John
-- 
  John Polstra                                               [EMAIL PROTECTED]
  John D. Polstra & Co., Inc.                        Seattle, Washington USA
  "No matter how cynical I get, I just can't keep up."        -- Nora Ephron


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-hackers" in the body of the message

Reply via email to