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

Reply via email to