From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED, RCVD_IN_MSPIKE_H3,RCVD_IN_MSPIKE_WL autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 667 invoked from network); 13 May 2020 17:51:41 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 13 May 2020 17:51:41 -0000 Received: (qmail 16082 invoked by uid 550); 13 May 2020 17:51:34 -0000 Mailing-List: contact musl-help@lists.openwall.com; run by ezmlm Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-ID: Reply-To: musl@lists.openwall.com Received: (qmail 16061 invoked from network); 13 May 2020 17:51:33 -0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=qx7x2plpoVED0HSr4/OOih0j3eEvOVm4qoTSuYD421U=; b=tPrVku47luRoh+7+esUXpTfp3+UjfqkK5amS0Q0muyFaGItyXllxw7z4F08QdPXdoq 2/ZzoOWsC1NZ30+b8Ijdu0GKzw3VQ5yn9gB+Byt1W0I8zAjOWe0O/PaY1vLD7dmj3MKy QSM941d99v9O/GDwrCLba4Jf0ob4t07HDG3koc6TgnkmDf6/T+C+nA52OVJQi0jnlLqK EPF874O7IA+gp+m1t/P5V6Ic0JAacaiMYjlZhikTRf3FP9x8l9N5Vua47LPtsU9jwa54 TjsT4FmheGwWX8MRTtKkplLtq9jp2MZmcYXs02I5qHf7n9S54aLYLOMcvD5bsfKpgby2 wORA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=qx7x2plpoVED0HSr4/OOih0j3eEvOVm4qoTSuYD421U=; b=GYYSY49xK5x04dFHQErEAzTlkFrBGxwtuGNYR/PGEQVn7bfqrGjx1Wm+qESacvXjtM hrzaA6HxhwpqIQAOyNxUxckGfgZTTSrxtO3xMGnuRsoBPpysDaZB4vRa6+u5R41s6TUh kGqs7SYjDuI8+WEZbHqwyyfYrljXtX8Bc5zteUlqFTYF80eZQ3tXOpHFKSvlmRVvsHeB m63cd3jg/PY3jut9AKf0a27cqcnWcvuMmpTbjHCl4sIKRVX1oq1i2FIH12tqjPYamWc7 0KDUqizZCaPSLk/uusCzh7g2+wnUB2ee67FiQJoA/cchUU9p8jgfVjSrmDfIwRyGoMpg 1igQ== X-Gm-Message-State: AOAM5338WYHEy0HquyA5vPGoSKIkABXaOoOCPShsKkdBTmHfngn+TjG6 f0zz9SewiPJCZr4pVOBMoIdUhvfU4ytVfSkVZxw= X-Google-Smtp-Source: ABdhPJyWQ43krl+nPb72W/iWtupYtZiG72yzDaw1anJggmwYf3TnGWSZd3qYdQmjsix3L49t76DMkKLrrVsDXNd8cSI= X-Received: by 2002:a6b:3b50:: with SMTP id i77mr357182ioa.65.1589392281495; Wed, 13 May 2020 10:51:21 -0700 (PDT) MIME-Version: 1.0 References: <20200512212127.GQ21576@brightrain.aerifal.cx> <5ae8c7fa-aed9-d957-fe53-68eb2fa622a6@ludd.ltu.se> <20200513172718.GW21576@brightrain.aerifal.cx> In-Reply-To: <20200513172718.GW21576@brightrain.aerifal.cx> From: John Arnold Date: Wed, 13 May 2020 12:53:55 -0500 Message-ID: To: Rich Felker Cc: Anders Magnusson , musl@lists.openwall.com, pcc@lists.ludd.ltu.se Content-Type: text/plain; charset="UTF-8" Subject: Re: [musl] Re: [Pcc] [musl] PCC unable to build musl 1.2.0 (and likely earlier) On Wed, May 13, 2020 at 12:27 PM Rich Felker wrote: > > On Wed, May 13, 2020 at 12:00:24PM -0500, John Arnold wrote: > > > Can you please sen med the offending line? > > > > include/limits.h:10: > > #if '\xff' > 0 > > > > > Same here, can you send me the line that causes the bug? > > > And true, __builtin_complex is not recognized in pcc. > > > > catan.c:105 is: > > w = CMPLX(w, 0.25 * log(a)); > > > > which pcc -E expands to: > > w = ((union { _Complex double __z; double __xy[2]; }){.__xy = > > {(w),(0.25 * log(a))}}.__z); > > Where are you getting this from? There has not been any union compound > literal like that since 2014 because it was found not to be valid in > constant expressions and CMPLX is required to produce a constant > expression. Commit 5ff2a118c64224789b7286830912425e58831b2b is > informative, and the message notes that CMPLX is a C11 feature, so > since the musl source is supposed to build with just C99 (+ minimal > extensions) perhaps we should drop internal use of CMPLX anyway... The full command I ran was: pcc -D_XOPEN_SOURCE=700 -I./arch/i386 -I./arch/generic -Iobj/src/internal -I./src/include -I./src/internal -Iobj/include -I./include -DBROKEN_EBX_ASM -E src/complex/catan.c And that's what pcc spit out (with a similar expansion of cimag() in line 92). I don't understand pcc's inner workings enough to say why. > > Rich is right, changing line 105 to: > > w = w+0.25*log(a)*I > > > > solves the problem, but then we get the bad register name `%%ax' error > > when trying to assemble catan.o. > > Are you sure? There's no asm in catan.c. If %%ax appears in what gets > passed to the assembled for this file, it's emitted by PCC itself. > > > Running make -j also reveals that this assembly error pops up in more > > places, at least also catanl.o, catanf.o, and csqrt.o. > > In that case it sounds like it very well might be a bug in PCC's > codegen rather than anything in our inline asm (elsewhere) which I > originally suspected it was. I'm beginning to think the assembly problems might have to do with my particular setup rather than be a bug in the source. This morning I forgot to put an i386 GNU toolchain in my path before running make, and was getting assembler errors about push and pop, which went away once I added the i386 GNU toolchain to PATH.