[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