From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) by sourceware.org (Postfix) with ESMTPS id C4A8D3858C60 for ; Sat, 22 Jan 2022 06:34:32 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org C4A8D3858C60 Received: from mimecast-mx01.redhat.com (mimecast-mx01.redhat.com [209.132.183.4]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id us-mta-37-hXHq1yfZNsOASCh7NQpe5A-1; Sat, 22 Jan 2022 01:34:29 -0500 X-MC-Unique: hXHq1yfZNsOASCh7NQpe5A-1 Received: from smtp.corp.redhat.com (int-mx06.intmail.prod.int.phx2.redhat.com [10.5.11.16]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by mimecast-mx01.redhat.com (Postfix) with ESMTPS id AFA482F47 for ; Sat, 22 Jan 2022 06:34:28 +0000 (UTC) Received: from greed.delorie.com (ovpn-112-3.rdu2.redhat.com [10.10.112.3]) by smtp.corp.redhat.com (Postfix) with ESMTPS id 7F6587958B for ; Sat, 22 Jan 2022 06:34:28 +0000 (UTC) Received: from greed.delorie.com.redhat.com (localhost [127.0.0.1]) by greed.delorie.com (8.15.2/8.15.2) with ESMTP id 20M6YR8e1125609 for ; Sat, 22 Jan 2022 01:34:27 -0500 Date: Sat, 22 Jan 2022 01:34:27 -0500 Message-Id: From: DJ Delorie To: libc-alpha@sourceware.org Subject: ppc64le: gcc 12 vs -mabi=ibmlongdouble X-Scanned-By: MIMEDefang 2.79 on 10.5.11.16 X-Mimecast-Spam-Score: 0 X-Mimecast-Originator: redhat.com Content-Type: text/plain; charset="US-ASCII" X-Spam-Status: No, score=-6.4 required=5.0 tests=BAYES_00, DKIMWL_WL_HIGH, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, RCVD_IN_DNSWL_LOW, RCVD_IN_MSPIKE_H2, SPF_HELO_NONE, SPF_NONE, 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: 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: Sat, 22 Jan 2022 06:34:34 -0000 I've been working on updating glibc for Fedora Rawhide, and have stumbled upon this issue (after working around the -Wuse-after-free issues with a cflags hack)... A few of the math tests explicitly add -mlong-double-64 but configure adds -mabi=ibmlongdouble I would guess that we need a "CFLAGS -= -mabi=ibmlongdouble" in all the places we add -mlong-double-64 but I don't see an easy way of doing that, nor am I sure that's a valid solution. Alternately, gcc could be changed to accept the conflicting flags in a meaningful way, if there is one. Is there an -mabi= that undoes the -mabi=ibmlongdouble that we can just add to the -mlong-double-64 flag lines? Has anyone else seen this, and if so, is there a solution? Working case (Fedora 35): gcc version 11.2.1 20211203 (Red Hat 11.2.1-7) (GCC) checking whether gcc -O2 -g -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mlong-double-128 uses IBM extended format... yes Failing case (Fedora Rawhide): gcc version 12.0.1 20220118 (Red Hat 12.0.1-0) (GCC) checking whether gcc -O2 -g -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mlong-double-128 uses IBM extended format... no checking whether gcc -O2 -g -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 supports -mabi=ibmlongdouble... yes The logic is coming from sysdeps/unix/sysv/linux/powerpc/configure.ac, which checks for the above and amends CFLAGS. Logs: gcc ../sysdeps/ieee754/ldbl-opt/test-narrow-macros-ldbl-64.c -c -std=gnu11 -fgnu89-inline -O2 -g -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -mabi=ibmlongdouble -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants -frounding-math -fstack-protector-strong -fno-common -Wstrict-prototypes -Wold-style-definition -fmath-errno -Wno-psabi -mno-gnu-attribute -fpie -mlong-double-64 -I../include -I/builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-redhat-linux/math -I/builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-redhat-linux -I../sysdeps/unix/sysv/linux/powerpc/powerpc64/le/fpu -I../sysdeps/unix/sysv/linux/powerpc/powerpc64/fpu -I../sysdeps/unix/sysv/linux/powerpc/powerpc64/le -I../sysdeps/unix/sysv/linux/powerpc/powerpc64 -I../sysdeps/unix/sysv/linux/wordsize-64 -I../sysdep s/unix/sysv/linux/powerpc -I../sysdeps/powerpc/nptl -I../sysdeps/unix/sysv/linux/include -I../sysdeps/unix/sysv/linux -I../sysdeps/nptl -I../sysdeps/pthread -I../sysdeps/gnu -I../sysdeps/unix/inet -I../sysdeps/unix/sysv -I../sysdeps/unix/powerpc -I../sysdeps/unix -I../sysdeps/posix -I../sysdeps/powerpc/powerpc64/le/power8/fpu/multiarch -I../sysdeps/powerpc/powerpc64/le/power7/fpu/multiarch -I../sysdeps/powerpc/powerpc64/le/fpu/multiarch -I../sysdeps/powerpc/powerpc64/le/power8/fpu -I../sysdeps/powerpc/powerpc64/le/power7/fpu -I../sysdeps/powerpc/powerpc64/le/fpu -I../sysdeps/powerpc/powerpc64/fpu -I../sysdeps/powerpc/powerpc64/le/power8/multiarch -I../sysdeps/powerpc/powerpc64/le/power7/multiarch -I../sysdeps/powerpc/powerpc64/le/multiarch -I../sysdeps/powerpc/powerpc64/multiarch -I../sysdeps/powerpc/powerpc64/le/power8 -I../sysdeps/powerpc/powerpc64/power8 -I../sysdeps/powerpc/powerpc64/le/power7 -I../sysdeps/powerpc/powerpc64/power7 -I../sysdeps/powerpc/p owerpc64/power6 -I../sysdeps/powerpc/powerp! c64/power4 -I../sysdeps/powerpc/power4 -I../sysdeps/powerpc/powerpc64/le -I../sysdeps/powerpc/powerpc64 -I../sysdeps/wordsize-64 -I../sysdeps/powerpc/fpu -I../sysdeps/powerpc -I../sysdeps/ieee754/ldbl-128ibm-compat -I../sysdeps/ieee754/ldbl-128ibm/include -I../sysdeps/ieee754/ldbl-128ibm -I../sysdeps/ieee754/ldbl-opt -I../sysdeps/ieee754/dbl-64 -I../sysdeps/ieee754/flt-32 -I../sysdeps/ieee754/float128 -I../sysdeps/ieee754 -I../sysdeps/generic -I.. -I../libio -I. -nostdinc -isystem /usr/lib/gcc/ppc64le-redhat-linux/12/include -isystem /usr/include -D_LIBC_REENTRANT -include /builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-redhat-linux/libc-modules.h -DMODULE_NAME=testsuite -include ../include/libc-symbols.h -DPIC -DTOP_NAMESPACE=glibc -I../soft-fp -o /builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-redhat-linux/math/test-narrow-macros-ldbl-64.o -MD -MP -MF /builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-red hat-linux/math/test-narrow-macros-ldbl-64.o.dt -MT /builddir/build/BUILD/glibc-2.34.9000-563-gf44820821a/build-ppc64le-redhat-linux/math/test-narrow-macros-ldbl-64.o cc1: error: '-mabi=ibmlongdouble' requires '-mlong-double-128'