Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Feb 2012 14:26:25 -0500 (EST)
From:      Garrett Wollman <wollman@hergotha.csail.mit.edu>
To:        des@des.no
Cc:        arch@freebsd.org
Subject:   Re: bsd/citrus iconv
Message-ID:  <201202231926.q1NJQPFa021654@hergotha.csail.mit.edu>
In-Reply-To: <86lint8k0x.fsf@ds4.des.no>
References:  <4F3C28DD.1020003@FreeBSD.org> <4F3C2D2D.5000402@FreeBSD.org> <4F3E78BA.4060203@FreeBSD.org> <864nupcuvl.fsf@ds4.des.no> <4F3E7B5A.20103@FreeBSD.org> <86zkchbff6.fsf@ds4.des.no> <4F3EADB5.7060008@FreeBSD.org> <20120223170918.GA79013@zim.MIT.EDU> <201202231822.q1NIMQOd020804@hergotha.csail.mit.edu>

next in thread | previous in thread | raw e-mail | index | archive | help
In article <86lint8k0x.fsf@ds4.des.no>, des@des.no writes:
>I beg to differ.  The c99 man page explicitly lists a number of
>libraries (libc, libi, libpthread, libm, librt, libtrace, libxnet and
>liby), and states that libc will contain all functions *except* those
>defined in a short list of headers.  This list does not include
><iconv.h>; therefore, iconv must be in libc, cf. the original meaning of
>"the exception that proves the rule".

You missed the bit on the next page:

	It is unspecified whether the libraries libc.a, libm.a,
	librt.a, libpthread.a, libl.a, liby.a, or libxnet exist as
	regular files. The implementation may accept as -l operands
	names of objects that do not exist as regular files.

(This is from the 2001 approved standard; the text that you're looking
at may differ slightly.)

The "c99" implementation may implement the "-l c" option, whether
implied or explicit, any way it wants, provided that the symbols
described are defined during linking.  In particular, it may realize
those symbols through any set of actual underlying archive or shared
libraries, regardless of the mechanics of how they are bound to the
executable.  This is also independent of what arguments are required
for any other compiler invocation, as POSIX only specifies "c99".
(The next POSIX revision will specify only "c11".)

-GAWollman




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