From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/3833 Path: news.gmane.org!not-for-mail From: Rich Felker Newsgroups: gmane.linux.lib.musl.general Subject: Re: iconv Korean and Traditional Chinese research so far Date: Mon, 5 Aug 2013 10:43:59 -0400 Message-ID: <20130805144359.GI221@brightrain.aerifal.cx> References: <20130804165152.GA32076@brightrain.aerifal.cx> <20130805003943.050fc58e@ralda.gmx.de> <20130805004915.GA221@brightrain.aerifal.cx> <20130805035312.5d874012@ralda.gmx.de> <20130805033955.GC221@brightrain.aerifal.cx> <20130805095332.3b1be6e5@ralda.gmx.de> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: ger.gmane.org 1375713850 28421 80.91.229.3 (5 Aug 2013 14:44:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Mon, 5 Aug 2013 14:44:10 +0000 (UTC) To: musl@lists.openwall.com Original-X-From: musl-return-3837-gllmg-musl=m.gmane.org@lists.openwall.com Mon Aug 05 16:44:12 2013 Return-path: Envelope-to: gllmg-musl@plane.gmane.org Original-Received: from mother.openwall.net ([195.42.179.200]) by plane.gmane.org with smtp (Exim 4.69) (envelope-from ) id 1V6M16-0005zZ-81 for gllmg-musl@plane.gmane.org; Mon, 05 Aug 2013 16:44:12 +0200 Original-Received: (qmail 13594 invoked by uid 550); 5 Aug 2013 14:44:11 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: Original-Received: (qmail 13581 invoked from network); 5 Aug 2013 14:44:11 -0000 Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Xref: news.gmane.org gmane.linux.lib.musl.general:3833 Archived-At: On Mon, Aug 05, 2013 at 09:24:37AM +0100, Justin Cormack wrote: > They are not going to be "fixed" just don't build them. It is not hard with > Musl. Just add this into your build script. Indeed. My intent is for it to be fully-functional-as-shipped. If somebody needs to cripple certain interfaces to meet extreme size requirements, that's an ok local modification, and it might even be acceptable as a configure option if enough people legitimately request it. > One of the nice features of Musl is that it appeals to a broader audience > than just "embedded" so it is always going to have stuff you can cut out if > you want absolute minimalism but this means it will get wider usage. Cutting out math/*, complex/*, and most of crypt/* would save at least as much space as iconv, and there are plenty of places these aren't needed either. It's not for me to decide which options you can omit. Thankfully, due to musl's correct handling of static linking, you usually don't have to think about it either. You just static link and get only what you need. > Adding external files has many disadvantages to other people. If you don't > want these conversions external files do not help you. External files also do not make things work "by default". They only work if musl has been installed system-wide according to our directions (which not everbody will follow) or if the user has done the research to figure out how to work around it not being installed system-wide. > Making software for more than one person involves compromises so please > calm down a bit. Use your own embedded build with the parts you don't need > omitted. Exactly. Where musl excels here is by not _forcing_ you to use iconv. I take great care not to force linking of components you might not want to see in your output binary size, and for TLS, which unfortunately was misdesigned in such a way that the linker can't see if TLS is used or not for the purpose of deciding whether to link the TLS init code, I went to great lengths both to minimize the size of __init_tls.o and to make it easy, as a local customization, to omit this module. But as an analogy, I would not have even considered asking musl users who need TLS to add special CFLAGS, libraries, etc. when building programs. That's an unreasonable burden and it's broken because it does not "work by default". Rich