From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from albireo.enyo.de (albireo.enyo.de [37.24.231.21]) by sourceware.org (Postfix) with ESMTPS id BB7223858D32 for ; Wed, 22 Apr 2020 15:23:27 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.3.2 sourceware.org BB7223858D32 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=deneb.enyo.de Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=fw@deneb.enyo.de Received: from [172.17.203.2] (helo=deneb.enyo.de) by albireo.enyo.de with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1jRHDi-0002Sd-O6; Wed, 22 Apr 2020 15:23:26 +0000 Received: from fw by deneb.enyo.de with local (Exim 4.92) (envelope-from ) id 1jRHDi-0006OR-Lz; Wed, 22 Apr 2020 17:23:26 +0200 From: Florian Weimer To: "Paul E. Murphy via Libc-alpha" Subject: Re: [PATCH v3 5/6] powerpc64le: blacklist broken GCC compilers (e.g GCC 7.5.0) References: Date: Wed, 22 Apr 2020 17:23:26 +0200 In-Reply-To: (Paul E. Murphy via Libc-alpha's message of "Mon, 6 Apr 2020 14:12:38 -0500") Message-ID: <87d07zilxt.fsf@mid.deneb.enyo.de> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Status: No, score=-21.5 required=5.0 tests=BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, KAM_DMARC_STATUS, SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.2 X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on server2.sourceware.org X-BeenThere: libc-alpha@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-alpha mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 22 Apr 2020 15:23:29 -0000 * Paul E. Murphy via Libc-alpha: > GCC 7.5.0 (BZ# 94200) will refuse to compile if both -mabi=% and > -mlong-double-128 are passed on the command line. Surprisingly, > it will work happily if the latter is not. For the sake of > maintianing status quo, test for and blacklist such compilers. GCC PR reference syntax (as mentioned before), and typo: maintianing > diff --git a/sysdeps/powerpc/powerpc64/le/configure.ac b/sysdeps/powerpc/powerpc64/le/configure.ac > index 630086bd88..dde956505c 100644 > --- a/sysdeps/powerpc/powerpc64/le/configure.ac > +++ b/sysdeps/powerpc/powerpc64/le/configure.ac > @@ -51,6 +51,21 @@ CFLAGS="$save_CFLAGS"]) > AS_IF([test "$libc_cv_compiler_powerpc64le_ice" != "yes"], > [critic_missing="$critic_missing __builtin_signbit is broken. GCC 7.4 or newer is required to resolve (BZ 83862)."]) > > +dnl Some old compiler versions give out error messages when combining > +dnl -mabi=% and -mlong-double-128. i.e GCC 7.5.0 (BZ# 94200) PR reference. > +AC_CACHE_CHECK([if $CC compiles with -mabi=ieeelongdouble and -mlong-double-128], > + libc_cv_compiler_powerpc64le_ldbl128_mabi, [dnl > +save_CFLAGS="$CFLAGS" > +CFLAGS="$CFLAGS -mabi=ieeelongdouble -mlong-double-128" > +AC_COMPILE_IFELSE([AC_LANG_SOURCE([[ > +long double x; > +]])], > + [libc_cv_compiler_powerpc64le_ldbl128_mabi=yes], > + [libc_cv_compiler_powerpc64le_ldbl128_mabi=no]) > +CFLAGS="$save_CFLAGS"]) > +AS_IF([test "$libc_cv_compiler_powerpc64le_ldbl128_mabi" == "no"], > + [critic_missing="$critic_missing The compiler must support -mabi=ieeelongdouble and -mlongdouble simultaneously."]) > + > # Binutils (objcopy) 2.26 or newer required to support the --update-section > # feature for fixing up .gnu.attribute section with IEEE ldbl. > AC_CHECK_PROG_VER(OBJCOPY, $OBJCOPY, --version, This change looks reasonable to me. Maybe add the @c comment to the install.texi file with this patch? Something like this: @c See this autoconf check: @c if $CC compiles with -mabi=ieeelongdouble and -mlong-double-128