On Fri, Oct 16, 2020 at 02:14:04PM -0500, Segher Boessenkool wrote: > On Thu, Sep 24, 2020 at 04:20:36PM -0400, Michael Meissner wrote: > > This series of 9 patches is an attempt to gather together all of the patches > > that are needed to be able to configure and build a little endian 64-bit > > PowerPC Linux GCC compiler where the defualt long double format uses the > > IEEE > > 128-bit representation. > > > > I have created an IBM vendor branch that includes these patches (along the > > other outstanding patches that I have for IEEE 128-bit min/max/cmove on > > power10, and power10 PCREL_OPT support): > > > > vendors/ibm/ieee-longdouble-001 > > > > You will need a new enough GLIBC in order to do this configuration. > > What happens if you glibc is older, and you try?
You get linker errors due to the older GLIBC not using -mno-gnu-attribute in all of the appropriate places, and and not all of the names that are renamed will be present. -marlin-> ./xgcc -B./ -O2 -g foo.c -lm -mabi=ieeelongdouble -Wno-psabi && ./a.out /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /opt/at13.0/lib/../lib64/libm.so uses IBM long double, /home/meissner/tmp/gcc-tmp/ccvzdRyj.o uses IEEE long double /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: ./libgcc_s.so.1 uses IBM long double, /home/meissner/tmp/gcc-tmp/ccvzdRyj.o uses IEEE long double /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /opt/at13.0/lib/../lib64/libc.so.6 uses IBM long double, /home/meissner/tmp/gcc-tmp/ccvzdRyj.o uses IEEE long double /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: ./libgcc_s.so.1 uses IBM long double, /home/meissner/tmp/gcc-tmp/ccvzdRyj.o uses IEEE long double /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home/meissner/tmp/gcc-tmp/ccvzdRyj.o: in function `main': /home3/meissner/fsf-build-ppc64le/work020-at13.0/gcc/foo.c:8: undefined reference to `__sinieee128' /home3/meissner/fsf-install-ppc64le/binutils-gdb/bin/ld: /home3/meissner/fsf-build-ppc64le/work020-at13.0/gcc/foo.c:8: undefined reference to `__printfieee128' collect2: error: ld returned 1 exit status -- Michael Meissner, IBM IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA email: meiss...@linux.ibm.com, phone: +1 (978) 899-4797