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>