https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97543
--- Comment #7 from Michael Meissner <meissner at gcc dot gnu.org> --- Just to be clear, my patch only turns on -mno-gnu-attributes on compiling ibm-ldouble.c. That is the module that has the extended IBM 128-bit support in it. However, I believe if any module in libgcc_s.so has the IBM extended long double attributes set, it essentially taints the entire shared library. At least on 64-bit little endian Linux, it does not use long double at all. It uses __ibm128 explicitly. However, t-linux and t-ibm-ldouble both explicitly set -mlong-double-128. Since long double is explicitly set to 128-bit, it sets the gnu attributes for __ibm128 (since internally __ibm128 is mapped to long double in this case).