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.3 required=5.0 tests=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 12727 invoked from network); 13 May 2020 14:30:52 -0000 Received: from mother.openwall.net (195.42.179.200) by inbox.vuxu.org with ESMTPUTF8; 13 May 2020 14:30:52 -0000 Received: (qmail 9738 invoked by uid 550); 13 May 2020 14:30:47 -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 9713 invoked from network); 13 May 2020 14:30:47 -0000 Date: Wed, 13 May 2020 10:30:34 -0400 From: Rich Felker To: Anders Magnusson Cc: John Arnold , musl@lists.openwall.com, pcc@lists.ludd.ltu.se Message-ID: <20200513143033.GU21576@brightrain.aerifal.cx> References: <20200512212127.GQ21576@brightrain.aerifal.cx> <5ae8c7fa-aed9-d957-fe53-68eb2fa622a6@ludd.ltu.se> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <5ae8c7fa-aed9-d957-fe53-68eb2fa622a6@ludd.ltu.se> User-Agent: Mutt/1.5.21 (2010-09-15) Subject: Re: [musl] Re: [Pcc] [musl] PCC unable to build musl 1.2.0 (and likely earlier) On Wed, May 13, 2020 at 09:10:40AM +0200, Anders Magnusson wrote: > Den 2020-05-12 kl. 23:21, skrev Rich Felker: > >Thanks. Adding pcc list to cc. > > > >On Tue, May 12, 2020 at 03:59:36PM -0500, John Arnold wrote: > >>With an i386 PCC 1.2.0.DEVEL built from source from > >>http://pcc.ludd.ltu.se/ftp/pub/pcc/pcc-20200510.tgz, I was unable to > >>build an i386 musl 1.2.0. The compiler first hits this error: > >> > >>../include/limits.h:10: error: bad charcon > >> > >>This line was the only change made in commit cdbbcfb8f5d, but it has a > >>lengthy commit message about the proper way of determining CHAR_MIN > >>and CHAR_MAX. > >I think this is clearly a PCC bug, one they can hopefully fix. The > >commit message cites the example from 6.4.4.4: > Can you please sen med the offending line? #if '\xff' > 0 > >>Reverting that change fixes the issue with limits.h, but PCC then runs > >>into another problem: > >> > >>src/complex/catan.c, line 105: operands of = have incompatible types > >>src/complex/catan.c, line 105: cannot recover from earlier errors: goodbye! > >Are there any warnings before this? Perhaps pcc is not aware of > >__builtin_complex and treating it as an implicit declaration of a > >function returning int? But then int should still convert to complex > >double just fine, so I think the problem is just a weird bug in PCC > >with complex types. > Same here, can you send me the line that causes the bug? > And true, __builtin_complex is not recognized in pcc. w = CMPLX(w, 0.25 * log(a)); where: #define __CMPLX(x, y, t) (__builtin_complex((t)(x), (t)(y))) #define CMPLX(x, y) __CMPLX(x, y, double) Is there another way PCC can provide a mechanism to implement CMPLX? Or can __builtin_complex be added? > >>Undoing this change results in hitting yet more errors: > >>/tmp/ctm.AkDmnc: Assembler messages: > >>/tmp/ctm.AkDmnc:50: Error: bad register name `%%ax' > >Which file is this in? I think it's inline asm expanded from > >somewhere, maybe the new x86 math functions, and it might be something > >we're doing not quite right or a PCC bug. We could suppress the asm > >with pcc (or with a configure test for the bug) if it's not something > >they can fix. > Pcc recognizes gcc extended assembler, but it is more strict than > gcc so it sometimes > reveals bugs that gcc don't catch. > > ....and same here, please send me what fails so that I can fix the bugs :-) OK, still waiting on report of what this is. Thanks! Rich