public inbox for libc-alpha@sourceware.org
 help / color / mirror / Atom feed
From: Paul E Murphy <murphyp@linux.ibm.com>
To: libc-alpha@sourceware.org
Subject: Re: [PATCH v2 06/10] powerpc64le: raise GCC requirement to 7.3 for long double transition
Date: Tue, 31 Mar 2020 15:47:12 -0500	[thread overview]
Message-ID: <b646cd68-e0fc-754c-f275-46f17f428391@linux.ibm.com> (raw)
In-Reply-To: <20200327211801.31234-7-murphyp@linux.vnet.ibm.com>



On 3/27/20 4:17 PM, Paul E. Murphy via Libc-alpha wrote:
> Add compiler feature tests to ensure we can build ieee128 long double.
> These test for -mabi=ieeelongdouble, -mno-gnu-attribute, and -Wno-psabi.
> 
> Likewise, verify some compiler bugs have been addressed.  These aren't
> helpful for building glibc, but may cause test failures when testing
> the new long double.  See notes below from Raji.
> 
> On powerpc64le, some older compiler versions give error for the function
> signbit() for 128-bit floating point types. This is fixed by PR83862
> in gcc 8.0 and backported to gcc6 and gcc7. This patch adds a test
> to check compiler version to avoid compiler errors during make check.

It turns out this is incorrect.  Based on testing and feedback in the 
BZ, this fix arrived in GCC 7.4.  While GCC 7.3 can build glibc, it will 
fail to build several ldouble related tests.  Thus, the actual minimum 
is GCC 7.4.

I will update the commit message, and configure error to reflect this, 
and post new patches once the preparatory patches are submitted.

> 
> Likewise, test for -mno-gnu-attribute support which was
> 
> On powerpc64le, a few files are built on IEEE long double mode
> (-mabi=ieeelongdouble), whereas most are built on IBM long double mode
> (-mabi=ibmlongdouble, the default for -mlong-double-128). Since binutils
> 2.31, linking object files with different long double modes causes
> errors similar to:
> 
>    ld: libc_pic.a(s_isinfl.os) uses IBM long double,
>        libc_pic.a(ieee128-qefgcvt.os) uses IEEE long double.
>    collect2: error: ld returned 1 exit status
>    make[2]: *** [../Makerules:649: libc_pic.os] Error 1
> 
> The warnings are fair and correct, but in order for glibc to have
> support for both long double modes on powerpc64le, they have to be
> ignored.  This can be accomplished with the use of -mno-gnu-attribute
> option when building the few files that require IEEE long double mode.
> 
> However, -mno-gnu-attribute is not available in GCC 6, the minimum
> version required to build glibc, so this patch adds a test for this
> feature in powerpc64le builds, and fails early if it's not available.
> 
> Co-Authored-By: Rajalakshmi Srinivasaraghavan  <raji@linux.vnet.ibm.com>
> Co-Authored-By: Gabriel F. T. Gomes <gabrielftg@linux.ibm.com

  reply	other threads:[~2020-03-31 20:47 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-27 21:17 [PATCH v2 00/10] IEEE binary128 long double on powerpc64le Paul E. Murphy
2020-03-27 21:17 ` [PATCH v2 01/10] ldbl-128ibm-compat: workaround C++ redirect limitations Paul E. Murphy
2020-03-27 21:34   ` Joseph Myers
2020-04-01 20:29     ` Paul E Murphy
2020-04-01 20:41       ` DJ Delorie
2020-04-01 23:07       ` Joseph Myers
2020-04-02 16:48         ` Paul E Murphy
2020-03-27 21:17 ` [PATCH v2 02/10] ldbl-128ibm: simplify iscanonical.h Paul E. Murphy
2020-04-03 20:12   ` Tulio Magno Quites Machado Filho
2020-04-06 16:46     ` Paul E Murphy
2020-03-27 21:17 ` [PATCH v2 03/10] Rename __LONG_DOUBLE_USES_FLOAT128 to Paul E. Murphy
2020-04-03 19:22   ` Tulio Magno Quites Machado Filho
2020-03-27 21:17 ` [PATCH v2 04/10] powerpc64le: Enforce -mabi=ibmlongdouble when -mfloat128 used Paul E. Murphy
2020-04-03 19:29   ` Tulio Magno Quites Machado Filho
2020-04-06 16:49     ` Paul E Murphy
2020-03-27 21:17 ` [PATCH v2 05/10] powerpc64le: workaround ieee long double / _Float128 stdc++ bug Paul E. Murphy
2020-04-03 19:03   ` Tulio Magno Quites Machado Filho
2020-03-27 21:17 ` [PATCH v2 06/10] powerpc64le: raise GCC requirement to 7.3 for long double transition Paul E. Murphy
2020-03-31 20:47   ` Paul E Murphy [this message]
2020-03-27 21:17 ` [PATCH v2 07/10] powerpc64le: bump binutils version requirement to >= 2.26 Paul E. Murphy
2020-04-03 19:36   ` Tulio Magno Quites Machado Filho
2020-03-27 21:17 ` [PATCH v2 08/10] powerpc64le: enforce non-specific long double in .gnu.attributes section Paul E. Murphy
2020-04-03 19:49   ` Tulio Magno Quites Machado Filho
2020-03-27 21:18 ` [PATCH v2 09/10] powerpc64le: blacklist broken GCC compilers (e.g GCC 7.5.0) Paul E. Murphy
2020-04-03 20:38   ` Adhemerval Zanella
2020-04-07 19:57     ` Paul E Murphy
2020-03-27 21:18 ` [PATCH v2 10/10] powerpc64le: Enable support for IEEE long double Paul E. Murphy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=b646cd68-e0fc-754c-f275-46f17f428391@linux.ibm.com \
    --to=murphyp@linux.ibm.com \
    --cc=libc-alpha@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).