This patch retires ppc64-fp.c in favour of using "LIB2_SIDITI_CONV_FUNCS = yes", which is a lot better solution than having a copy of selected libgcc2.c functions.
So for powerpc64-linux we see these changes in libgcc files (plus corresponding _s.o variants). +_fixdfti.o +_fixsfti.o +_fixtfti.o +_fixunsdfti.o +_fixunssfti.o +_fixunstfti.o +_floattidf.o +_floattisf.o +_floattitf.o +_floatuntidf.o +_floatuntisf.o +_floatuntitf.o -ppc64-fp.o with these empty objects also appearing (plus _s.o variants). +_fixunsxfti.o +_fixxfti.o +_floattixf.o +_floatuntixf.o In reality we aren't getting new TI mode conversions as it might seem, because the old *di*.o files corresponding to the above files contained TI mode conversions, whereas now they contain DI mode conversions. Those match the functions provided in ppc64-fp.o, and the set of dynamic libgcc_s.so.1 symbols is identical, apart from values, to before this patch. For ppc32 we get a whole lot more empty objects replacing the empty ppc64-fp.o. Again the set of global symbol in libgcc.a and dynamic symbols in libgcc_s.so.1 are unchanged. Bootstrapped and regression tested powerpc64-linux, powerpc64le-linux, powerpc-linux and powerpc-ibm-aix7.2.4.0. OK? * config/rs6000/t-ppc64-fp (LIB2ADD): Delete. (LIB2_SIDITI_CONV_FUNCS): Define. * config/rs6000/ppc64-fp.c: Delete file. diff --git a/libgcc/config/rs6000/t-ppc64-fp b/libgcc/config/rs6000/t-ppc64-fp index 26d1730bcdb..999679fc3cb 100644 --- a/libgcc/config/rs6000/t-ppc64-fp +++ b/libgcc/config/rs6000/t-ppc64-fp @@ -1,2 +1 @@ -# Can be used unconditionally, wrapped in __powerpc64__ || __64BIT__ __ppc64__. -LIB2ADD += $(srcdir)/config/rs6000/ppc64-fp.c +LIB2_SIDITI_CONV_FUNCS = yes -- Alan Modra Australia Development Lab, IBM