PowerPC: Add -mno-gnu-attributes to ibm-ldouble.o.

I have split all of these patches into separate patches to hopefully get them
into the tree.

This patch is split off from the patch adding __float128 <-> Decimal
conversions.  This patch is needed to prevent the linker from issuing a
warning when the long double format is IEEE 128-bit.

I have tested this patch with bootstrap builds on a little endian power9 system
running Linux.  With the other patches, I have built two full bootstrap builds
using this patch and the patches after this patch.  One build used the current
default for long double (IBM extended double) and the other build switched the
default to IEEE 128-bit.  I used the Advance Toolchain AT 14.0 compiler as the
library used by this compiler.  There are no regressions between the tests.
There are 3 fortran benchmarks (ieee/large_2.f90, default_format_2.f90, and
default_format_denormal_2.f90) that now pass.

Can I install this into the trunk?

We have gotten some requests to back port these changes to GCC 10.x.  At the
moment, I am not planning to do the back port, but I may need to in the future.

libgcc/
2020-10-22  Michael Meissner  <meiss...@linux.ibm.com>

        * config/rs6000/t-float128: Compile ibm-ldouble.o with
        -mno-gnu-attributes.
---
 libgcc/config/rs6000/t-float128 | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/libgcc/config/rs6000/t-float128 b/libgcc/config/rs6000/t-float128
index d5413445189..c2cb3e2b705 100644
--- a/libgcc/config/rs6000/t-float128
+++ b/libgcc/config/rs6000/t-float128
@@ -69,6 +69,11 @@ $(fp128_ppc_obj)      : INTERNAL_CFLAGS += $(FP128_CFLAGS_SW)
 $(fp128_obj)            : $(fp128_includes)
 $(fp128_obj)            : $(srcdir)/config/rs6000/quad-float128.h
 
+
+# Turn off gnu attributes to allow using the IBM extended double support for
+# __ibm128 if long double uses the IEEE 128-bit representation.
+ibm-ldouble$(objext)   : INTERNAL_CFLAGS += -mno-gnu-attribute
+
 $(fp128_softfp_src) : $(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@)) 
$(fp128_dep)
        @src="$(srcdir)/soft-fp/$(subst -sw,,$(subst kf,tf,$@))"; \
        echo "Create $@"; \
-- 
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

Reply via email to