From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.org/gmane.linux.lib.musl.general/1172 Path: news.gmane.org!not-for-mail From: John Spencer Newsgroups: gmane.linux.lib.musl.general Subject: Re: Re: musl bugs found through gnulib Date: Mon, 18 Jun 2012 15:02:16 +0200 Message-ID: <4FDF26D8.6050309@barfooze.de> References: <20120609230541.47eac2de@newbook> <4FD55156.7050302@cs.ucla.edu> <20120611182202.1ee4d019@newbook> <12545931.v3ALTEUUx8@linuix> <20120617235426.GX163@brightrain.aerifal.cx> <20120618082100.GT17860@port70.net> Reply-To: musl@lists.openwall.com NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1340023967 20351 80.91.229.3 (18 Jun 2012 12:52:47 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 18 Jun 2012 12:52:47 +0000 (UTC) Cc: Szabolcs Nagy , Rich Felker , Reuben Thomas , Bruno Haible To: musl@lists.openwall.com Original-X-From: musl-return-1173-gllmg-musl=m.gmane.org@lists.openwall.com Mon Jun 18 14:52:45 2012 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 1SgbRi-00079L-LI for gllmg-musl@plane.gmane.org; Mon, 18 Jun 2012 14:52:42 +0200 Original-Received: (qmail 19941 invoked by uid 550); 18 Jun 2012 12:52:41 -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 19933 invoked from network); 18 Jun 2012 12:52:41 -0000 User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.14) Gecko/20110221 SUSE/3.1.8 Mail/1.0 In-Reply-To: <20120618082100.GT17860@port70.net> Xref: news.gmane.org gmane.linux.lib.musl.general:1172 Archived-At: On 06/18/2012 10:21 AM, Szabolcs Nagy wrote: > * Rich Felker [2012-06-17 19:54:26 -0400]: > >> On Mon, Jun 18, 2012 at 12:49:44AM +0200, Bruno Haible wrote: >>> Replacements of *printf, because of >>> checking whether printf supports infinite 'long double' arguments... no >> I'm just going to change isnanl to handle the invalid bit patterns >> because I'm sick of this issue... >> please don't do this. this would be a win of Evil against Good. do you see were this goes ? first they wanted you to implement __freadahead, now they want 4 such functions plus a broken __MUSL__ macro. this is usually refered to using the proverb "give them the small finger and they take the entire hand". the tactics of the gnulib folks is to wear you down, until they have no work to do at all. also note how Bruno changed the subjects in "gnulib portability issues" thread on the gnulib ML into something that suggests the opposite, i.e. that musl is broken. there's only one broken program out there, which is gnu coreutils' "od". if someone wants to use coreutils and cares about this uncommon issue, he/she can simply use a patch for this specific program. > i wonder if these gnulib bugs will get fixed.. > > gnulib should go over an audit > (otherwise it's not credible considering all > the false tests so far) > > some of the gnulib tests will find musl bugs > but many tests are wrong > > i think we should not invest too much time > into gnulib but work on a proper libc > testsuit instead.. full ACK. now that we know which tests are responsible for detecting many musl functions (wrongly) as broken, we can simply create some "gnulib-fix" program that makes these tests always succeed, thus keeping their bloat outside. PLUS add a warning at a prominent spot that programs using GNULIB should be built statically to avoid future incompatibilities due to their illegal poking at internals. sabotage currently uses the following approach to beat gnulib into functioning: empty_file() { rm -f "$1" touch "$1" } ./configure -C --prefix=/ || exit 1 #fixing gnulib cd lib for i in printf.c fprintf.c freadahead.c closein.c fseterr.c vfprintf.c ; do empty_file "$i" done echo "#define __printf__ printf" >> config.h echo "#define rpl_fprintf fprintf" >> config.h cd .. sed -i 's,atexit (close_stdin),,' gzip.c # probably better to just echo "void close_stdin(void) {}" > close_in.c --JS