diff mbox series

[3/4] arm-toolchain/external-arm: remove -fcanon-prefix-map from DEBUG_PREFIX_MAP

Message ID 20230612145659.934478-3-ross.burton@arm.com
State New
Headers show
Series [1/4] arm/trusted-firmware-m: remove -fcanon-prefix-map from DEBUG_PREFIX_MAP | expand

Commit Message

Ross Burton June 12, 2023, 2:56 p.m. UTC
From: Ross Burton <ross.burton@arm.com>

The binaryh Arm compiler is based on GCC 12. Remove this GCC 13-specific
option until the next release.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc | 3 +++
 1 file changed, 3 insertions(+)

Comments

Sumit Garg June 13, 2023, 5:10 a.m. UTC | #1
On Mon, 12 Jun 2023 at 20:27, Ross Burton <ross.burton@arm.com> wrote:
>
> From: Ross Burton <ross.burton@arm.com>
>
> The binaryh Arm compiler is based on GCC 12. Remove this GCC 13-specific
> option until the next release.
>

We have to keep this GCC 13 flag removed by default since we support
multiple versions of Arm binary toolchain GCC 8 onwards.

-Sumit

> Signed-off-by: Ross Burton <ross.burton@arm.com>
> ---
>  meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
> index 71fac597..61a9c0a7 100644
> --- a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
> +++ b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
> @@ -4,6 +4,9 @@
>
>  EXTERNAL_TOOLCHAIN ?= "/usr/local/arm-binary-toolchain/${TARGET_ARCH}"
>
> +# oe-core passes this by default because it assumes GCC 13. This can be removed when Arm GCC is 13.1+.
> +DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
> +
>  TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:"
>  PATH =. "${TOOLCHAIN_PATH_ADD}"
>
> --
> 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#4760): https://lists.yoctoproject.org/g/meta-arm/message/4760
> Mute This Topic: https://lists.yoctoproject.org/mt/99484944/1777089
> Group Owner: meta-arm+owner@lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/meta-arm/unsub [sumit.garg@linaro.org]
> -=-=-=-=-=-=-=-=-=-=-=-
>
Ross Burton June 13, 2023, 2:16 p.m. UTC | #2
On 13 Jun 2023, at 06:10, Sumit Garg <sumit.garg@linaro.org> wrote:
> 
> On Mon, 12 Jun 2023 at 20:27, Ross Burton <ross.burton@arm.com> wrote:
>> 
>> From: Ross Burton <ross.burton@arm.com>
>> 
>> The binaryh Arm compiler is based on GCC 12. Remove this GCC 13-specific
>> option until the next release.
>> 
> 
> We have to keep this GCC 13 flag removed by default since we support
> multiple versions of Arm binary toolchain GCC 8 onwards.

8?  <shudder>

Who supports this, where is this documented, and more importantly who wants an ancient gcc?

Ross
Sumit Garg June 14, 2023, 5:29 a.m. UTC | #3
On Tue, 13 Jun 2023 at 19:46, Ross Burton <Ross.Burton@arm.com> wrote:
>
> On 13 Jun 2023, at 06:10, Sumit Garg <sumit.garg@linaro.org> wrote:
> >
> > On Mon, 12 Jun 2023 at 20:27, Ross Burton <ross.burton@arm.com> wrote:
> >>
> >> From: Ross Burton <ross.burton@arm.com>
> >>
> >> The binaryh Arm compiler is based on GCC 12. Remove this GCC 13-specific
> >> option until the next release.
> >>
> >
> > We have to keep this GCC 13 flag removed by default since we support
> > multiple versions of Arm binary toolchain GCC 8 onwards.
>
> 8?  <shudder>
>
> Who supports this, where is this documented,

The external-arm toolchain recipe is designed to work with the
toolchain which is pre-installed on the build machine. There isn't any
hardcoded version but we rather extract version information from
external toolchain here [1].

> and more importantly who wants an ancient gcc?

I have seen people still using prebuilt Linaro GCC which predates Arm
GCC. I guess the reason being that the toolchain is an essential piece
in building the overall product software stack and people are
reluctant to not switch toolchain versions.

[1] https://git.yoctoproject.org/meta-arm/tree/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc#n26

-Sumit

>
> Ross
Denys Dmytriyenko June 15, 2023, 7:46 p.m. UTC | #4
On Wed, Jun 14, 2023 at 10:59:29AM +0530, Sumit Garg wrote:
> On Tue, 13 Jun 2023 at 19:46, Ross Burton <Ross.Burton@arm.com> wrote:
> >
> > On 13 Jun 2023, at 06:10, Sumit Garg <sumit.garg@linaro.org> wrote:
> > >
> > > On Mon, 12 Jun 2023 at 20:27, Ross Burton <ross.burton@arm.com> wrote:
> > >>
> > >> From: Ross Burton <ross.burton@arm.com>
> > >>
> > >> The binaryh Arm compiler is based on GCC 12. Remove this GCC 13-specific
> > >> option until the next release.
> > >>
> > >
> > > We have to keep this GCC 13 flag removed by default since we support
> > > multiple versions of Arm binary toolchain GCC 8 onwards.
> >
> > 8?  <shudder>
> >
> > Who supports this, where is this documented,
> 
> The external-arm toolchain recipe is designed to work with the
> toolchain which is pre-installed on the build machine. There isn't any
> hardcoded version but we rather extract version information from
> external toolchain here [1].

Heh, this goes back to the early days of external toolchain support in 
OpenEmbedded Classic, which I added 14 years ago:
https://git.openembedded.org/openembedded/commit/?id=2512ba21856d0ffd942ddd3a7c834d585a117ff1

This is something being passed in from outside and OE/YP has no control 
over, hence some flexibility was designed in. It's not meant to support 
all the version ever released, but some flexibility is expected.


> > and more importantly who wants an ancient gcc?
> 
> I have seen people still using prebuilt Linaro GCC which predates Arm
> GCC. I guess the reason being that the toolchain is an essential piece
> in building the overall product software stack and people are
> reluctant to not switch toolchain versions.
> 
> [1] https://git.yoctoproject.org/meta-arm/tree/meta-arm-toolchain/conf/distro/include/external-arm-toolchain-versions.inc#n26
diff mbox series

Patch

diff --git a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
index 71fac597..61a9c0a7 100644
--- a/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
+++ b/meta-arm-toolchain/conf/distro/include/tcmode-external-arm.inc
@@ -4,6 +4,9 @@ 
 
 EXTERNAL_TOOLCHAIN ?= "/usr/local/arm-binary-toolchain/${TARGET_ARCH}"
 
+# oe-core passes this by default because it assumes GCC 13. This can be removed when Arm GCC is 13.1+.
+DEBUG_PREFIX_MAP:remove = "-fcanon-prefix-map"
+
 TOOLCHAIN_PATH_ADD = "${EXTERNAL_TOOLCHAIN}/bin:"
 PATH =. "${TOOLCHAIN_PATH_ADD}"