From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr1-x42c.google.com (mail-wr1-x42c.google.com [IPv6:2a00:1450:4864:20::42c]) by sourceware.org (Postfix) with ESMTPS id 3A9343858400; Fri, 8 Oct 2021 23:18:37 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 3A9343858400 Authentication-Results: sourceware.org; dmarc=pass (p=quarantine dis=none) header.from=googlemail.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=googlemail.com Received: by mail-wr1-x42c.google.com with SMTP id r7so34080012wrc.10; Fri, 08 Oct 2021 16:18:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=googlemail.com; s=20210112; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=tcYKi5b6BJ/dbHlK1hY6SgI2TiQt+GaI1blDp24XQtk=; b=AZlNY/qiaJqQLfXEcEUyQMXHK8xIhTNl43rbPEcCrD1iM9X19lzWNLWGajBrYzuAha FeaSrVs8yRtxPX8XtF1Yz9Q7kryOHKbb8zO3uNGSLDuzcq39kGIQB6YiPuNPNAS4BtZ+ /iXI+OGBGVWf1TV/OBR7MhDKeS0j90zCvFpY1HWyx2BDNbLTvMnQ2eG32PKdTRVeauI7 CJ2YTArnrqllxdjhwuCWnj71hYB0TBJk8y6TATvPfjUdGM9O5pGmf/PT2zUbmAepmu/G YlCbMWPiXBoeDQ5nN7IoJPDV3SixZ7dqI1iav0iwz5PHOAr7BJrLB3kS+5DLg9+ilB/U wmCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=tcYKi5b6BJ/dbHlK1hY6SgI2TiQt+GaI1blDp24XQtk=; b=aRSkPtz5s8xPQEGSn6j2csjhoHb9VyUxqeWhzwU0CVKf1z41Jc9dxjcNKmODWIQ4xC 7QlJQAcJRBOXZ1Ky7xm4Rse849OExtQZFGLKWhE9a2PX3t2wM2WMGCaAuSxSqxU0qS9I +iMgC5eViV3A3h3jIgtlRj3DN0xH+E4BAROLrX7HOayzKummK8nLQmlh19BVrgn6JBRD 5wLQqVTs53i2Q/NH1JqWas6A6GeuC6yb5cZA8GlebRniwEjpMwDyeAf9iOjikOvM6ypA s55yHYRCjWJW9Yt14Teb+OkqbaU6oo7WgUx7kXVo4vmG3QAaQ+1CcaTjb7gJNZR6Bv+5 8rSw== X-Gm-Message-State: AOAM530bZ2qUZNEp9N/Bj6k7qsSyG1hxrd61iQeiRKRAIMWm7PBaBtOD wMo9BlU0OQtY56LibK0SZeA= X-Google-Smtp-Source: ABdhPJwOUNseR9r7pZI75TR2wzBSLjzQCcF+lbyzrj1lfhCDM6ivvZ1kxQc/N5n4qkWyl2QIRJi8/g== X-Received: by 2002:adf:906a:: with SMTP id h97mr7545906wrh.220.1633735116330; Fri, 08 Oct 2021 16:18:36 -0700 (PDT) Received: from [192.168.1.214] (host81-138-1-83.in-addr.btopenworld.com. [81.138.1.83]) by smtp.googlemail.com with ESMTPSA id j1sm693849wrb.56.2021.10.08.16.18.35 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 08 Oct 2021 16:18:35 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.21\)) Subject: Re: libgfortran.so SONAME and powerpc64le-linux ABI changes From: Iain Sandoe In-Reply-To: Date: Sat, 9 Oct 2021 00:18:31 +0100 Cc: Jakub Jelinek , Michael Meissner , Paul Thomas , Segher Boessenkool , GCC Development , fortran@gcc.gnu.org, Tobias Burnus Content-Transfer-Encoding: quoted-printable Message-Id: References: <20211004100754.GL304296@tucnak> <3dacfdf6-6b23-f307-969a-94265b506edb@netcologne.de> <20211007153306.GY304296@tucnak> <5533983c-f4d2-5041-75c9-9287e4e31f10@netcologne.de> <749ABCA1-5C3B-4EB8-8E4F-9B967A67AB07@googlemail.com> <334901cf-72b6-d1d7-dae6-3ec45170cf95@netcologne.de> To: Thomas Koenig X-Mailer: Apple Mail (2.3445.104.21) X-Spam-Status: No, score=-3.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, 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: Fri, 08 Oct 2021 23:18:41 -0000 > On 8 Oct 2021, at 23:55, Thomas Koenig via Gcc = wrote: >=20 >=20 > Hi Iain, >=20 >>> Things get interesting for user code, calling a routine compiled >>> for double double with newer IEEE QP will result in breakage. >> That would not happen with the proposal above, since the library = would >> have different entry points for the two formats. >=20 > I meant the case where the user writes, with an old, KIND=3D16 is = double > double compiler, >=20 > subroutine foo(a) > real(kind=3D16) :: a > a =3D a + 1._16 > end subroutine foo >=20 > and puts it in a library or an old object file, and in new code with = an > IEEE QP compiler calls that with >=20 > real(kind=3D16) :: a > a =3D 2._16 > call foo(a) > print *,a >=20 > this will result in silent generation of garbage values, since Fortran > does not mangle the function name based on it types. For both cases, = the > subroutine will be called foo_ (or MOD..._foo). hmm, well I thought about that case, but =E2=80=A6 isn=E2=80=99t this = =E2=80=9Cpilot error=E2=80=9D? if one compiles different parts of a project with incompatible command = line options=E2=80=A6 =E2=80=A6 or, say, compile with -mavx512 and then try to run code on = hardware without such a vector unit? Getting wrong answers silently can likely be done with other command = line option mismatches. Iain > There is no choice - we need to make object code compiled by the user > incompatible between the old and the new format on the systems where > we make the switch. >=20 > This is starting to look like a can of worms from Pandora's box, > if you pardon my mixed metaphors. >=20 > Best regards >=20 > Thomas