package/gcc: disable fortran use of libquadmath
authorMatt Weber <matthew.weber@rockwellcollins.com>
Fri, 11 Sep 2020 12:41:31 +0000 (07:41 -0500)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sun, 25 Oct 2020 14:58:02 +0000 (15:58 +0100)
commita07fc4b03b7ed4c0dadda9a1fb7370bb4472a7b2
treecd293b70477f1c79251e81f759051178446057fc
parentada7e6a24e0ae2088573d7d58019cf0242d8df67
package/gcc: disable fortran use of libquadmath

The GCC package has a default conf option of disabling libquadmath and
the toolchain dependencies selectively enabled it if i386 / x64.

Fixes:
https://gitlab.com/bootlin/toolchains-builder/-/jobs/729359622

This patch fixes a build failure when (GCC + glibc) is being built for
the IBM Power8 arch and has libgfortran enabled + libquadmath disabled.
The libgfortran has a code condition for __float128 and includes the
quadmath headers. The bug occurs because Power8 has emulated
float128 support. The fix per GCC options is to also set
--disable-libquadmath-support which disables the
__float128/libquadmath support in gcc/fortran and in libgfortran [1].

Another option to fix the build failure was to enable libquadmath for
IBM Power8 (ISA 2.07), however this would be soft float based as the
ISA 3.0+ (Power9) first supports native float128 [2][3].

[1] https://fortran.gcc.gnu.narkive.com/8uSfoKUS/patch-build-pr-46540-add-disable-libquadmath-disable-libquadmath-support
[2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66382#c7
[3] https://gcc.gnu.org/onlinedocs/gcc/RS_002f6000-and-PowerPC-Options.html

Cc: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Matthew Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/gcc/gcc.mk