From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gate.crashing.org (gate.crashing.org [63.228.1.57]) by sourceware.org (Postfix) with ESMTP id 4F173385B506 for ; Fri, 3 Mar 2023 20:57:39 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 4F173385B506 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=kernel.crashing.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=kernel.crashing.org Received: from gate.crashing.org (localhost.localdomain [127.0.0.1]) by gate.crashing.org (8.14.1/8.14.1) with ESMTP id 323Kub3o021436; Fri, 3 Mar 2023 14:56:38 -0600 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 323KubHV021435; Fri, 3 Mar 2023 14:56:37 -0600 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Fri, 3 Mar 2023 14:56:36 -0600 From: Segher Boessenkool To: Michael Meissner , gcc-patches@gcc.gnu.org, "Kewen.Lin" , David Edelsohn , Peter Bergner , Will Schmidt Subject: Re: [PATCH 1/2] PR target/107299: Fix build issue when long double is IEEE 128-bit Message-ID: <20230303205636.GI25951@gate.crashing.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_PASS,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: Hi! On Fri, Feb 03, 2023 at 12:49:12AM -0500, Michael Meissner wrote: > This patch updates the IEEE 128-bit types used in libgcc. > > At the moment, we cannot build GCC when the target uses IEEE 128-bit long > doubles, such as building the compiler for a native Fedora 36 system. The > build dies when it is trying to build the _mulkc3.c and _divkc3 modules. > > This patch changes libgcc to use long double for the IEEE 128-bit base type if > long double is IEEE 128-bit, and it uses _Float128 otherwise. The built-in > functions are adjusted to be the correct version based on the IEEE 128-bit base > type used. Please make it much clearer (in the code as well as in the commit message) that this is a workaround for problems elsewhere. It complicates already complicated things that should not be all that complex in the first place :-( It is not clear to me that this is good to have at all -- it causes new non-trivial problems after all -- but you say it allows people to at least bootstrap, in more cases than before. So with comments like I said above: okay for trunk. And not okay for any backports. Thanks, Segher