diff mbox series

[1/1] package/gcc: Enable gcc-8.x support for BR2_powerpc_spe

Message ID 8a492cbe-907c-1699-8f6f-eb9c40d8785c@ArcturusNetworks.com
State Accepted
Delegated to: Thomas Petazzoni
Headers show
Series [1/1] package/gcc: Enable gcc-8.x support for BR2_powerpc_spe | expand

Commit Message

Michael Durrant Oct. 26, 2020, 7:17 p.m. UTC
The GCC-7.x compiler series was the last to support BR2_powerpc_SPE CPUs
within GCC.  After GCC-7.x support was removed as a default in buildroot,
some boards, including the arcturus_ucp1020_defconfig and
freescale_p1025twr_defconfig will fail to compile.

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.

Tested-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>

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: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>
---
 package/gcc/Config.in.host | 2 +-
 package/gcc/gcc.mk         | 1 +
 2 files changed, 2 insertions(+), 1 deletion(-)

Comments

Matt Weber Oct. 27, 2020, 3:03 p.m. UTC | #1
MIchael,


On Mon, Oct 26, 2020 at 2:20 PM Michael Durrant
<mdurrant@arcturusnetworks.com> wrote:
>
> The GCC-7.x compiler series was the last to support BR2_powerpc_SPE CPUs
> within GCC.  After GCC-7.x support was removed as a default in buildroot,
> some boards, including the arcturus_ucp1020_defconfig and
> freescale_p1025twr_defconfig will fail to compile.
>
> 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.
>

Hopefully things get revived and support moves back out of obsoleted....

https://lists.freebsd.org/pipermail/freebsd-ppc/2018-May/009465.html

> This Patch passes compilation and run tests with the
> arcturus/ppc-ucp1020  board.
>
> Tested-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
>
> 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: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
> Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>


Review-by: Matt Weber <matthew.weber@rockwellcollins.com>
Oleksandr G Zhadan Oct. 28, 2020, 2:56 p.m. UTC | #2
Hi Matthew,

Unfortunately, in the latest release of GCC 8.4 [2020-03-04], 
powerpc_spe could only be built with the --enable-obsolete option, and 
support for powerpc_spe has been removed from GCC 9.

Oleks

On 10/27/20 11:03 AM, Matthew Weber wrote:
> MIchael,
>
>
> On Mon, Oct 26, 2020 at 2:20 PM Michael Durrant
> <mdurrant@arcturusnetworks.com> wrote:
>> The GCC-7.x compiler series was the last to support BR2_powerpc_SPE CPUs
>> within GCC.  After GCC-7.x support was removed as a default in buildroot,
>> some boards, including the arcturus_ucp1020_defconfig and
>> freescale_p1025twr_defconfig will fail to compile.
>>
>> 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.
>>
> Hopefully things get revived and support moves back out of obsoleted....
>
> https://lists.freebsd.org/pipermail/freebsd-ppc/2018-May/009465.html
>
>> This Patch passes compilation and run tests with the
>> arcturus/ppc-ucp1020  board.
>>
>> Tested-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
>>
>> 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: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
>> Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>
>
> Review-by: Matt Weber <matthew.weber@rockwellcollins.com>
> _______________________________________________
> buildroot mailing list
> buildroot@busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot
>
>
Thomas Petazzoni Oct. 31, 2020, 10:49 p.m. UTC | #3
On Mon, 26 Oct 2020 15:17:35 -0400
Michael Durrant <mdurrant@ArcturusNetworks.com> wrote:

> The GCC-7.x compiler series was the last to support BR2_powerpc_SPE CPUs
> within GCC.  After GCC-7.x support was removed as a default in buildroot,
> some boards, including the arcturus_ucp1020_defconfig and
> freescale_p1025twr_defconfig will fail to compile.
> 
> 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.
> 
> Tested-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
> 
> 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: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
> Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>
> ---
>  package/gcc/Config.in.host | 2 +-
>  package/gcc/gcc.mk         | 1 +
>  2 files changed, 2 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas
Romain Naour Nov. 3, 2020, 8:37 p.m. UTC | #4
Hello,

Le 31/10/2020 à 23:49, Thomas Petazzoni a écrit :
> On Mon, 26 Oct 2020 15:17:35 -0400
> Michael Durrant <mdurrant@ArcturusNetworks.com> wrote:
> 
>> The GCC-7.x compiler series was the last to support BR2_powerpc_SPE CPUs
>> within GCC.  After GCC-7.x support was removed as a default in buildroot,
>> some boards, including the arcturus_ucp1020_defconfig and
>> freescale_p1025twr_defconfig will fail to compile.
>>
>> 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 is sad to see a CPU that is still used removed from upstream GCC.
But what's the plan for next year ? GCC 8 is currently at 8.4.0 and the last
release will be available in few month.
As soon as GCC 11.1 is added to Buildroot, GCC 8 will likely be removed to keep
only 3 GCC version.
I don't see a future proof solution... maybe using a prebuilt toolchain for this
defconfig?

Best regards,
Romain

>>
>> This Patch passes compilation and run tests with the
>> arcturus/ppc-ucp1020  board.
>>
>> Tested-by: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
>>
>> 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: Oleksandr G Zhadan <Oleks@ArcturusNetworks.com>
>> Signed-off-by: Michael Durrant <mdurrant@ArcturusNetworks.com>
>> ---
>>  package/gcc/Config.in.host | 2 +-
>>  package/gcc/gcc.mk         | 1 +
>>  2 files changed, 2 insertions(+), 1 deletion(-)
> 
> Applied to master, thanks.
> 
> Thomas
>
diff mbox series

Patch

diff --git a/package/gcc/Config.in.host b/package/gcc/Config.in.host
index 74999c800b..8ae778437b 100644
--- a/package/gcc/Config.in.host
+++ b/package/gcc/Config.in.host
@@ -27,7 +27,7 @@  config BR2_GCC_VERSION_8_X
        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
+       # it can still be built with --enable-obsolete
        select BR2_TOOLCHAIN_GCC_AT_LEAST_8

 config BR2_GCC_VERSION_9_X
diff --git a/package/gcc/gcc.mk b/package/gcc/gcc.mk
index f372857916..beac27ede4 100644
--- a/package/gcc/gcc.mk
+++ b/package/gcc/gcc.mk
@@ -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