From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 95341 invoked by alias); 14 Dec 2019 20:47:57 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 95325 invoked by uid 89); 14 Dec 2019 20:47:56 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-9.9 required=5.0 tests=AWL,BAYES_00,ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_NONE,SPF_PASS,USER_IN_DEF_SPF_WL autolearn=ham version=3.3.1 spammy=H*i:sk:CAKOQZ8, H*f:sk:o7uGi6e, H*i:sk:o7uGi6e, H*f:sk:CAKOQZ8 X-HELO: mail-ua1-f53.google.com Received: from mail-ua1-f53.google.com (HELO mail-ua1-f53.google.com) (209.85.222.53) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 14 Dec 2019 20:47:55 +0000 Received: by mail-ua1-f53.google.com with SMTP id z17so825572uac.5 for ; Sat, 14 Dec 2019 12:47:54 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to; bh=8OzZf4WfwuVEAk8JCnrOR1TVsH7qoVKLSdRf7/DYYGU=; b=m/xr2hLyRFxjBmdrhEF3oeugq1XZSQmgljkyDmjulsJv1MfOyXIKsj8scyC9Y9ZXT0 gzC74/qFsgida5XIrY743oSXeZipxylpER4mc/fcwsxlh2KKZy0lpOBs3/5uq7eUSxaJ bw4hBC3GXSksMibayiAO5bNRDEy8cLdbxFRDexoUFl7EFzVjpvgDd1Gw6k2HSfUFTud4 gAIHRwNJQSMQgJ4799zlysSJdBv3CbiBx9Bnk+4rps3O8o6yZyjLgyqFfszbIuox9mQt imI1GSpugtzp2hY+KcaJwhXp7qL+DwfMMm4DxFSj0lPdpmmIDBhbtQDAB5RvFRA4JCKm Y5uw== MIME-Version: 1.0 References: In-Reply-To: From: "Ian Lance Taylor via gcc" Reply-To: Ian Lance Taylor Date: Sat, 14 Dec 2019 20:47:00 -0000 Message-ID: Subject: Re: Errors building libgcc for powerpc64le-linux-gnu To: GCC Development Content-Type: text/plain; charset="UTF-8" X-IsSubscribed: yes X-SW-Source: 2019-12/txt/msg00205.txt.bz2 On Sat, Dec 14, 2019 at 10:51 AM Ian Lance Taylor wrote: > > I'm seeing compiler crashes building libgcc for powerpc64le-linux-gnu, > cross-compiling from x86_64-pc-linux-gnu. I'm at SVN revision 279830. > I'm seeing the following. Is anybody else seeing this crash? Thanks. > > Ian > > /tmp/go-build-release/gccgo-objdir/ppc/./gcc/xgcc > -B/tmp/go-build-release/gccgo-objdir/ppc/./gcc/ > -B/tmp/go-build-release/gccgo-installdir/ppc/powerpc64le-linux-gnu/bin/ > -B/tmp/go-build-release/gccgo-installdir/ppc/powerpc64le-linux-gnu/lib/ > -isystem /tmp/go-build-release/gccgo-installdir/ppc/powerpc64le-linux-gnu/include > -isystem /tmp/go-build-release/gccgo-installdir/ppc/powerpc64le-linux-gnu/sys-include > --sysroot=/google/src/files/285475989/depot/google3/third_party/grte/v5_ppc/release/usr/grte/v5 > -g -O2 -O2 -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -W -Wall > -Wno-narrowing -Wwrite-strings -Wcast-qual -Wno-error=format-diag > -Wstrict-prototypes -Wmissing-prototypes -Wno-error=format-diag > -Wold-style-definition -isystem ./include -fPIC -mlong-double-128 > -mno-minimal-toc -g -DIN_LIBGCC2 -fbuilding-libgcc > -fno-stack-protector -fPIC -mlong-double-128 -mno-minimal-toc -I. > -I. -I../.././gcc -I/tmp/go-build-release/gccgo-srcdir/libgcc > -I/tmp/go-build-release/gccgo-srcdir/libgcc/. > -I/tmp/go-build-release/gccgo-srcdir/libgcc/../gcc > -I/tmp/go-build-release/gccgo-srcdir/libgcc/../include > -I/tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/dpd > -I/tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber > -DHAVE_CC_TLS -o decNumber.o -MT decNumber.o -MD -MP -MF > decNumber.dep -c > /tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/decNumber.c > /tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/decNumber.c: > In function 'decToString': > /tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/decNumber.c:3760:3: > error: unrecognizable insn: > 3760 | } /* decToString */ > | ^ > (insn/f 1592 1591 1593 145 (set (reg:CC 104 4) > (unspec:CC [ > (reg:SI 12 12) > (const_int 8 [0x8]) > ] UNSPEC_MOVESI_TO_CR)) > "/tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/decNumber.c":3760:3 > -1 > (expr_list:REG_DEAD (reg:SI 12 12) > (expr_list:REG_CFA_RESTORE (reg:SI 104 4) > (nil)))) > during RTL pass: cprop_hardreg > /tmp/go-build-release/gccgo-srcdir/libgcc/../libdecnumber/decNumber.c:3760:3: > internal compiler error: in extract_insn, at recog.c:2294 > 0xb95832 _fatal_insn(char const*, rtx_def const*, char const*, int, char const*) > /tmp/go-build-release/gccgo-srcdir/gcc/rtl-error.c:108 > 0xb9585b _fatal_insn_not_found(rtx_def const*, char const*, int, char const*) > /tmp/go-build-release/gccgo-srcdir/gcc/rtl-error.c:116 > 0xb63ec2 extract_insn(rtx_insn*) > /tmp/go-build-release/gccgo-srcdir/gcc/recog.c:2294 > 0xb67995 extract_constrain_insn(rtx_insn*) > /tmp/go-build-release/gccgo-srcdir/gcc/recog.c:2193 > 0xb6a552 copyprop_hardreg_forward_1(basic_block_def*, value_data*) > /tmp/go-build-release/gccgo-srcdir/gcc/regcprop.c:802 > 0xb6e207 (anonymous namespace)::pass_cprop_hardreg::execute(function*) > /tmp/go-build-release/gccgo-srcdir/gcc/regcprop.c:1367 > Please submit a full bug report, > with preprocessed source if appropriate. > Please include the complete backtrace with any bug report. > See for instructions. > make: *** [Makefile:645: decNumber.o] Error 1 Sorry, I think I see the problem. I forgot to mention that for complicated reasons I am building this cross-compiler starting with clang. In rs6000.md we see (define_expand "movsi_to_cr_one" [(set (match_operand:CC 0 "cc_reg_operand") (unspec:CC [(match_operand:SI 1 "gpc_reg_operand") (match_dup 2)] UNSPEC_MOVESI_TO_CR))] "" "operands[2] = GEN_INT (1 << (75 - REGNO (operands[0])));") This code has been around for quite a while, and when it was written the maximum value of a register matching cc_reg_operand was in fact 75. But now it is 107. I'm testing changing this 75, and the corresponding one a few lines down, to MAX_CR_REGNO. A PowerPC maintainer may want to take this from here. Ian