On Sat, Mar 27, 2021 at 04:07:18PM +0100, Florian Weimer wrote: > This issue is still present. > > What about the patch below? > > Thanks, > Florian > > rs6000: Do not build _Float128/Decimal routines with --disable-decimal-float > > Fixes commit 781183595acba67a37c66f59a0c1d9b5fee7e248 ("Add conversions > between _Float128 and Decimal.). > > libgcc/ > * config/rs6000/t-float128 (fp128_ppc_funcs): Add decimal floating > point functions for $(decimal_float) only. > > diff --git a/libgcc/config/rs6000/t-float128 b/libgcc/config/rs6000/t-float128 > index 6fb1a3d871b..b1f00accdf1 100644 > --- a/libgcc/config/rs6000/t-float128 > +++ b/libgcc/config/rs6000/t-float128 > @@ -37,8 +37,11 @@ ibm128_dec_funcs = _tf_to_sd _tf_to_dd _tf_to_td \ > # New functions for software emulation > fp128_ppc_funcs = floattikf floatuntikf fixkfti fixunskfti \ > extendkftf2-sw trunctfkf2-sw \ > - sfp-exceptions _mulkc3 _divkc3 _powikf2 \ > - $(fp128_dec_funcs) $(fp128_decstr_funcs) > + sfp-exceptions _mulkc3 _divkc3 _powikf2 > + > +ifeq ($(decimal_float),yes) > +fp128_ppc_funcs += $(fp128_dec_funcs) $(fp128_decstr_funcs) > +endif > > fp128_ppc_src = $(addprefix > $(srcdir)/config/rs6000/,$(addsuffix \ > .c,$(fp128_ppc_funcs))) >
Here is an updated version of the patch that works with the change that I checked in today. It works on a little endian power9 system with the stage1 builds for 3 compilers built with the 3 different long double types (IEEE, IBM, 64-bit). The bootstrap builds will be starting shortly. Honor --disable-decimal-float on PowerPC Decimal/Float128 conversions This patch fixes the problem that the Decimal <-> Float128 conversions were built even if the user configured GCC with --disable-decimal-float. libgcc/ 2021-03-29 Florian Weimer <fwei...@redhat.com> Michael Meissner <meiss...@linux.ibm.com> * config/rs6000/t-float128 (fp128_ppc_funcs): Add decimal floating point functions for $(decimal_float) only. --- libgcc/config/rs6000/t-float128 | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/libgcc/config/rs6000/t-float128 b/libgcc/config/rs6000/t-float128 index 8b089d4433c..d745f0d82e1 100644 --- a/libgcc/config/rs6000/t-float128 +++ b/libgcc/config/rs6000/t-float128 @@ -33,8 +33,11 @@ ibm128_dec_funcs = _tf_to_sd _tf_to_dd _tf_to_td \ # New functions for software emulation fp128_ppc_funcs = floattikf floatuntikf fixkfti fixunskfti \ extendkftf2-sw trunctfkf2-sw \ - sfp-exceptions _mulkc3 _divkc3 _powikf2 \ - $(fp128_dec_funcs) + sfp-exceptions _mulkc3 _divkc3 _powikf2 + +ifeq ($(decimal_float),yes) +fp128_ppc_funcs += $(fp128_dec_funcs) +endif fp128_ppc_src = $(addprefix $(srcdir)/config/rs6000/,$(addsuffix \ .c,$(fp128_ppc_funcs))) -- 2.22.0 -- 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