From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from cc-smtpout3.netcologne.de (cc-smtpout3.netcologne.de [89.1.8.213]) by sourceware.org (Postfix) with ESMTPS id 2020E3858401; Thu, 7 Oct 2021 06:08:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 2020E3858401 Received: from cc-smtpin3.netcologne.de (cc-smtpin3.netcologne.de [89.1.8.203]) by cc-smtpout3.netcologne.de (Postfix) with ESMTP id 06AAA1254D; Thu, 7 Oct 2021 08:08:29 +0200 (CEST) Received: from [IPv6:2001:4dd7:2fa2:0:7285:c2ff:fe6c:992d] (2001-4dd7-2fa2-0-7285-c2ff-fe6c-992d.ipv6dyn.netcologne.de [IPv6:2001:4dd7:2fa2:0:7285:c2ff:fe6c:992d]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by cc-smtpin3.netcologne.de (Postfix) with ESMTPSA id 22F2811DF6; Thu, 7 Oct 2021 08:08:22 +0200 (CEST) Subject: Re: libgfortran.so SONAME and powerpc64le-linux ABI changes To: Michael Meissner , Jakub Jelinek , fortran@gcc.gnu.org, gcc@gcc.gnu.org, Tobias Burnus , Segher Boessenkool , David Edelsohn References: <20211004100754.GL304296@tucnak> From: Thomas Koenig Message-ID: <3dacfdf6-6b23-f307-969a-94265b506edb@netcologne.de> Date: Thu, 7 Oct 2021 08:08:21 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.13.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit X-NetCologne-Spam: L X-Rspamd-Queue-Id: 22F2811DF6 X-Spam-Status: No, score=-4.8 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, NICE_REPLY_A, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham 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: Thu, 07 Oct 2021 06:08:33 -0000 On 07.10.21 05:35, Michael Meissner via Fortran wrote: > I tried this at one point. There are a lot of hidden assumptions that the kind > number is the number of bytes. I'm sure it can be tracked down, but the > problem is with these assumptions is you can't prove a negative (i.e. you never > know that you've missed some). So, summing up from the Fortran side, I'd say the best course of action is to - make KIND=16 into IEEE QP - bump the SONAME on on affected systems on POWER and nowhere else - have a preprocessor flag so we can #ifdef out code which is relevant only there - provide a CONVERT option (have to think of a suitable syntax) to do unformatted I/O either in IEEE QP or double double, but only on affected systems, so people can set this either via a CONVERT option on open or an environment variable. For OPEN, we should extend the existing one, for an environment variable, I'd say we should use a new one and reuse the existing parsing routines. Sounds like a reasonable minimum of user pain to me. The rest I'll leave to the experts in all things ABI and POWER :-)