[PATCH, V3] PR target/99708- Define __SIZEOF_FLOAT128__ and __SIZEOF_IBM128__
Joseph Myers
joseph@codesourcery.com
Fri Mar 11 20:42:27 GMT 2022
The version of this patch applied to GCC 10 branch (commit
641b407763ecfee5d4ac86d8ffe9eb1eeea5fd10) has broken the glibc build for
powerpc64le-linux-gnu (it's fine with GCC 11 branch and master, just GCC
10 branch is broken)
<https://sourceware.org/pipermail/libc-testresults/2022q1/009444.html>.
Specifically, the test program links-dso-program.cc built during the glibc
build no longer builds, with a series of errors in libstdc++ headers such
as:
/scratch/jmyers/glibc/many10/install/compilers/powerpc64le-linux-gnu/powerpc64le-glibc-linux-gnu/include/c++/10.3.1/type_traits:387:39: error: '__float128' was not declared in this scope
387 | struct __is_floating_point_helper<__float128>
| ^~~~~~~~~~
So it appears that with the GCC 10 version, there is some inconsistency
between what the compiler defines and what the headers expect.
This file in glibc is built with the following command:
powerpc64le-glibc-linux-gnu-g++ links-dso-program.cc -c
-I/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/
-g -O2 -Wall -Wwrite-strings -Wundef -Werror -fmerge-all-constants
-frounding-math -fno-stack-protector -fno-common -mabi=ieeelongdouble
-Wno-psabi -mno-gnu-attribute -mlong-double-128 -fpie -mno-float128
-I../include
-I/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/support
-I/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc
-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../sysdeps/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/powerpc64/power6
-I../sysdeps/powerpc/powerpc64/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.
-D_LIBC_REENTRANT -include
/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/libc-modules.h
-DMODULE_NAME=nonlib -include ../include/libc-symbols.h -DPIC
-DTOP_NAMESPACE=glibc -o
/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/support/links-dso-program.o
-MD -MP -MF
/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/support/links-dso-program.o.dt
-MT
/scratch/jmyers/glibc/many10/build/glibcs/powerpc64le-linux-gnu/glibc/support/links-dso-program.o
--
Joseph S. Myers
joseph@codesourcery.com
More information about the Gcc-patches
mailing list