From owner-freebsd-arch@FreeBSD.ORG Thu Feb 23 19:27:44 2012 Return-Path: Delivered-To: arch@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 241171065670 for ; Thu, 23 Feb 2012 19:27:44 +0000 (UTC) (envelope-from wollman@hergotha.csail.mit.edu) Received: from hergotha.csail.mit.edu (wollman-1-pt.tunnel.tserv4.nyc4.ipv6.he.net [IPv6:2001:470:1f06:ccb::2]) by mx1.freebsd.org (Postfix) with ESMTP id AACA58FC0C for ; Thu, 23 Feb 2012 19:27:43 +0000 (UTC) Received: from hergotha.csail.mit.edu (localhost [127.0.0.1]) by hergotha.csail.mit.edu (8.14.4/8.14.4) with ESMTP id q1NJQPEr021655; Thu, 23 Feb 2012 14:26:25 -0500 (EST) (envelope-from wollman@hergotha.csail.mit.edu) Received: (from wollman@localhost) by hergotha.csail.mit.edu (8.14.4/8.14.4/Submit) id q1NJQPFa021654; Thu, 23 Feb 2012 14:26:25 -0500 (EST) (envelope-from wollman) Date: Thu, 23 Feb 2012 14:26:25 -0500 (EST) From: Garrett Wollman Message-Id: <201202231926.q1NJQPFa021654@hergotha.csail.mit.edu> To: des@des.no X-Newsgroups: mit.lcs.mail.freebsd-arch 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> Organization: none X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.2.7 (hergotha.csail.mit.edu [127.0.0.1]); Thu, 23 Feb 2012 14:26:25 -0500 (EST) X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=disabled version=3.3.2 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on hergotha.csail.mit.edu Cc: arch@freebsd.org Subject: Re: bsd/citrus iconv X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Feb 2012 19:27:44 -0000 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 >; 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