On Tue, 1 Dec 2020 at 19:13, Michael Meissner via Libstdc++ <libstd...@gcc.gnu.org> wrote: > > On Tue, Dec 01, 2020 at 04:04:30PM +0000, Jonathan Wakely wrote: > > On 01/12/20 15:10 +0000, Jonathan Wakely wrote: > > >On 30/11/20 16:30 -0500, Michael Meissner via Libstdc++ wrote: > > >>Jonathan, could you send a fresh set of patches (or at least > > >>replacements)? I > > >>tried installing the patches on a master branch I checked out this > > >>morning, and > > >>I got two rejects: > > > > > >I don't understand why those chunks failed, but I'll rebase and send a > > >new patch ASAP. > > > > Here's the rebased patch, with regenerated autoconf files and a fix > > for the <ext/numeric_limits.h> header. I'd changed it since sending > > the previous patch, and broke the "there's more than one long double" > > case (i.e. the _GLIBCXX_LONG_DOUBLE_ALT128_COMPAT case). > > Unfortunately this patch DOES NOT work at all. > > If I build a compiler with the configure option: > --with-long-double-format=ieee > > And I compile this simple program: > > #include <iostream> > > int main(int argc, char *argv[], char *envp[]) > { > std::cout << "Hello World!\n"; > return 0; > } > > I get all of these errors:
It works fine for me (see below). I think your symptoms are due to using a glibc that doesn't support the new long double, and so libstdc++ support for it is also disabled. You need at least glibc 2.32 for the libstdc++ changes to be enabled. [test@ibm-p9b-30 build-ieee128]$ rpm -q glibc glibc-2.32-2.fc33.ppc64le [test@ibm-p9b-30 tmp]$ cat hello.C #include <iostream> int main(int argc, char *argv[], char *envp[]) { std::cout << "Hello World!\n"; return 0; } [test@ibm-p9b-30 tmp]$ ~/gcc/ieee128/bin/g++ hello.C -Wl,-rpath,$HOME/gcc/ieee128/lib64 -v Using built-in specs. COLLECT_GCC=/home/test/gcc/ieee128/bin/g++ COLLECT_LTO_WRAPPER=/home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/lto-wrapper Target: powerpc64le-unknown-linux-gnu Configured with: ../gcc/configure --prefix=/home/test/gcc/ieee128/ --enable-libstdcxx-debug --disable-bootstrap --disable-multilib --disable-libvtv --with-system-zlib --without-isl --with-long-double-format=ieee --enable-languages=c,c++ : (reconfigured) ../gcc/configure --prefix=/home/test/gcc/ieee128/ --enable-libstdcxx-debug --disable-bootstrap --disable-multilib --disable-libvtv --with-system-zlib --without-isl --with-long-double-format=ieee --enable-languages=c,c++ : (reconfigured) ../gcc/configure --prefix=/home/test/gcc/ieee128/ --enable-libstdcxx-debug --disable-bootstrap --disable-multilib --disable-libvtv --with-system-zlib --without-isl --with-long-double-format=ieee --enable-languages=c,c++,lto --no-create --no-recursion Thread model: posix Supported LTO compression algorithms: zlib zstd gcc version 11.0.0 20201201 (experimental) (GCC) COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-dumpdir' 'a-' /home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/cc1plus -quiet -v -D_GNU_SOURCE hello.C -quiet -dumpdir a- -dumpbase hello.C -dumpbase-ext .C -version -o /tmp/cc1OWZTT.s GNU C++17 (GCC) version 11.0.0 20201201 (experimental) (powerpc64le-unknown-linux-gnu) compiled by GNU C version 10.2.1 20201016 (Red Hat 10.2.1-6), GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 ignoring nonexistent directory "/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../powerpc64le-unknown-linux-gnu/include" #include "..." search starts here: #include <...> search starts here: /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../include/c++/11.0.0 /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../include/c++/11.0.0/powerpc64le-unknown-linux-gnu /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../include/c++/11.0.0/backward /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/include /usr/local/include /home/test/gcc/ieee128/include /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/include-fixed /usr/include End of search list. GNU C++17 (GCC) version 11.0.0 20201201 (experimental) (powerpc64le-unknown-linux-gnu) compiled by GNU C version 10.2.1 20201016 (Red Hat 10.2.1-6), GMP version 6.2.0, MPFR version 4.1.0, MPC version 1.1.0, isl version none GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 Compiler executable checksum: 868967e3eb6523a59f0ddd7cc415f672 COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-dumpdir' 'a-' as -v -a64 -mpower8 -mlittle -o /tmp/ccpF549Q.o /tmp/cc1OWZTT.s GNU assembler version 2.35 (ppc64le-redhat-linux) using BFD version version 2.35-14.fc33 COMPILER_PATH=/home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/:/home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/:/home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/:/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/:/home/test/gcc/ieee128 /lib/gcc/powerpc64le-unknown-linux-gnu/ LIBRARY_PATH=/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/:/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../:/lib/:/usr/lib/ COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-dumpdir' 'a.' /home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/collect2 -plugin /home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/liblto_plugin.so -plugin-opt=/home/test/gcc/ieee128/libexec/gcc/powerpc64le-unknown-linux-gnu/11.0.0/lto-wrapper -plugin-opt=-fresolution=/tmp/cc69gZwR.res -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc -plugin-opt=-pass-through=-lc -plugin-opt=-pass-through=-lgcc_s -plugin-opt=-pass-through=-lgcc --eh-frame-hdr -V -m elf64lppc -dynamic-linker /lib64/ld64.so.2 /lib/../lib64/crt1.o /lib/../lib64/crti.o /home/test/gcc/ieee128/lib/gcc/powerpc64le-unkno wn-linux-gnu/11.0.0/crtbegin.o -L/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0 -L/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/../../.. /tmp/ccpF549Q .o -rpath /home/test/gcc/ieee128/lib64 -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/test/gcc/ieee128/lib/gcc/powerpc64le-unknown-linux-gnu/11.0.0/crtend.o /lib/../lib64/crtn.o GNU ld version 2.35-14.fc33 Supported emulations: elf64lppc elf32lppc elf32lppclinux elf32lppcsim elf64ppc elf32ppc elf32ppclinux elf32ppcsim elf64bpf COLLECT_GCC_OPTIONS='-v' '-shared-libgcc' '-dumpdir' 'a.' [test@ibm-p9b-30 tmp]$ ldd a.out linux-vdso64.so.1 (0x00007fff8c890000) libstdc++.so.6 => /home/test/gcc/ieee128/lib64/libstdc++.so.6 (0x00007fff8c5b0000) libm.so.6 => /lib64/libm.so.6 (0x00007fff8c470000) libgcc_s.so.1 => /home/test/gcc/ieee128/lib64/libgcc_s.so.1 (0x00007fff8c430000) libc.so.6 => /lib64/libc.so.6 (0x00007fff8c210000) /lib64/ld64.so.2 (0x00007fff8c8b0000) [test@ibm-p9b-30 tmp]$ ./a.out Hello World!