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 6D0EC385843F; Tue, 5 Oct 2021 21:56:04 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 6D0EC385843F 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 195Lsr4t002084; Tue, 5 Oct 2021 16:54:54 -0500 Received: (from segher@localhost) by gate.crashing.org (8.14.1/8.14.1/Submit) id 195LsoPn002083; Tue, 5 Oct 2021 16:54:50 -0500 X-Authentication-Warning: gate.crashing.org: segher set sender to segher@kernel.crashing.org using -f Date: Tue, 5 Oct 2021 16:54:50 -0500 From: Segher Boessenkool To: Thomas Koenig Cc: Jakub Jelinek , fortran@gcc.gnu.org, gcc@gcc.gnu.org, Tobias Burnus , Michael Meissner , Jonathan Wakely Subject: Re: libgfortran.so SONAME and powerpc64le-linux ABI changes Message-ID: <20211005215450.GC10333@gate.crashing.org> References: <20211004100754.GL304296@tucnak> <20211004141410.GP304296@tucnak> <6d845542-536e-1a0f-70e9-d05eea98aae7@netcologne.de> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6d845542-536e-1a0f-70e9-d05eea98aae7@netcologne.de> User-Agent: Mutt/1.4.2.3i X-Spam-Status: No, score=-3.4 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.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: gcc@gcc.gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gcc mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 05 Oct 2021 21:56:08 -0000 Hi! On Tue, Oct 05, 2021 at 10:16:47PM +0200, Thomas Koenig wrote: > On 04.10.21 16:14, Jakub Jelinek via Fortran wrote: > >Based on some IRC discussion, yet another option would be bump libgfortran > >SONAME (on all arches), make real(kind=16) on powerpc64le-linux mean > >always IEEE quad (starting with GCC 12) and if wanted add support for > >real(kind=15) meaning double double. > > Bumping the SONAME for everybody even on architectures which are > not affected (like x86 or ARM) does not really feel right. We will > probably have to do it sooner or later, at least to get PDTs right > (and for array descriptor reform), but we will then have to > do another SONAME change when we do that (it is certainly not > ready now). You do not have to change soname more than once per release. You could leave it at the old value for archs not affected. It is good for everyone's sanity to keep the same numbers for all archs though, so, just skip some for some archs. Everyone who uses -static won't be hurt either way. > There is also the issue of binary data. If some user has written > out data in double double and wants to read it in as IEEE quad, > the results are going to be garbage. Another option for CONVERT > might be the solution to that, or, as you wrote, having a > REAL(KIND=15). It should be inaccessible via SELECTED_REAL_KIND, > though. That means flipping the default on all PowerPC to no longer be double- double. This means that you should have IEEE QP work everywhere, or the people who do need more than double precision will have no recourse. It will be great if you can do this at the same time, get all the pain over with at the same time, have better results for everyone. Heck, you only need the "kind=15" for compatibility then. People who have data stored in the old format will be in a tough spot no matter what. Presumably everyone will want to convert to the standard format at some point. Segher