On Tue, Jan 04, 2022 at 12:07:49PM +0100, Jakub Jelinek wrote: > On Mon, Jan 03, 2022 at 11:43:57PM +0100, Thomas Koenig wrote: > > > clearly there is still work to fix (but seems e.g. most of the lto tests > > > are related to the gnu attributes stuff:( ). > > > > This is looking better than what I expected. Apart from LTO, I expect > > I've just verified that LTO is broken even in C/C++, it isn't just gfortran. > Just do > make check-gcc RUNTESTFLAGS='--target_board=unix\{-mabi=ieeelongdouble\} > lto.exp' > on a system where gcc is configured to default to -mabi=ibmlongdouble > with glibc 2.32 or later and watch all the FAILs. > All the failures look like: > /home/jakub/gcc/obj/gcc/xgcc -B/home/jakub/gcc/obj/gcc/ c_lto_20081024_0.o > -mabi=ieeelongdouble -fdiagnostics-plain-output -O0 -flto > -flto-partition=none -o gcc- > dg-lto-20081024-01.exe > lto1: warning: Using IEEE extended precision 'long double' [-Wpsabi] > FAIL: gcc.dg/lto/20081024 c_lto_20081024_0.o-c_lto_20081024_0.o link, -O0 > -flto -flto-partition=none > > Michael, do you think you could have a look? Either it is the ELF object > created for debug info or the one created by lto1. > > Jakub >
The problem is in rs6000_option_override_internal. I allowed C and C++ to change the long double format, but not other languages. I forgot that LTO is another front end. I have a patch to remove the checks for C/C++. I hope to validate it and send it out before the end of the night for me. Note, I have a day surgery tomorrow, and I will be offline for at least part of the day. -- Michael Meissner, IBM PO Box 98, Ayer, Massachusetts, USA, 01432 email: meiss...@linux.ibm.com