package/gcc: re-enable gcc 8.x for PowerPC SPE
authorMichael Durrant <mdurrant@ArcturusNetworks.com>
Mon, 26 Oct 2020 19:17:35 +0000 (15:17 -0400)
committerThomas Petazzoni <thomas.petazzoni@bootlin.com>
Sat, 31 Oct 2020 22:48:51 +0000 (23:48 +0100)
The GCC-7.x compiler series was the last to officially support PowerPC
SPE CPUs. Now that GCC-8.x is the default compiler used by Buildroot,
some defconfigs, notably the arcturus_ucp1020_defconfig and
freescale_p1025twr_defconfig ones started to fail building, as they
are PowerPC SPE platforms.

In fact, the GCC-8.x compiler series continues to support PowerPC SPE
CPU cores, but only as an --enable-obsoleted instruction set. This
patch enables the use of GCC-8.x and asserts the required option to
enable the PowerPC SPE instruction set.

This patch passes compilation and run tests with the
arcturus/ppc-ucp1020  board.

This patch should address a noted job failure on GitLab CI
https://gitlab.com/buildroot.org/buildroot/-/jobs/805461732

Fixes: https://gitlab.com/buildroot.org/buildroot/-/jobs/805461732
Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>
Signed-off-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
package/gcc/Config.in.host
package/gcc/gcc.mk

index 74999c800b4c966bf081f15f921bb2795d8149a2..4aa6d3725fdbc5c987e0e3244d3584e7a5db75c4 100644 (file)
@@ -25,9 +25,6 @@ config BR2_GCC_VERSION_8_X
        depends on !BR2_ARCH_NEEDS_GCC_AT_LEAST_9
        # Broken or unsupported architectures
        depends on !BR2_or1k
-       # powerpc spe support has been deprecated since gcc 8.x.
-       # https://gcc.gnu.org/ml/gcc/2018-04/msg00102.html
-       depends on !BR2_powerpc_SPE
        select BR2_TOOLCHAIN_GCC_AT_LEAST_8
 
 config BR2_GCC_VERSION_9_X
index f372857916d86f804819da17bb8fe697dfa75503..beac27ede4b78e066f59427c87618f1b66b22f2e 100644 (file)
@@ -217,6 +217,7 @@ endif
 # Enable proper double/long double for SPE ABI
 ifeq ($(BR2_powerpc_SPE),y)
 HOST_GCC_COMMON_CONF_OPTS += \
+       --enable-obsolete \
        --enable-e500_double \
        --with-long-double-128
 endif