[2/2] gcc-runtime: Avoid march conflicts with newer cortex-a55 CPUs

Submitted by Khem Raj on May 5, 2020, 11:33 p.m. | Patch ID: 172344

Details

Message ID 20200505233353.1836668-2-raj.khem@gmail.com
State New
Headers show

Commit Message

Khem Raj May 5, 2020, 11:33 p.m.
gcc-runtime/libatomic explicitly add -march=armv8-a+lse for all arch64
but cortex-a55 is armv8.2-a, which essentially conflicts, so let gcc
override it by not forcing the -mcpu option from TUNE_CCARGS

Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
 meta/recipes-devtools/gcc/gcc-runtime.inc | 4 ++++
 1 file changed, 4 insertions(+)

Patch hide | download patch | download mbox

diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
index ace706dbf4..547644572a 100644
--- a/meta/recipes-devtools/gcc/gcc-runtime.inc
+++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
@@ -18,6 +18,10 @@  EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
 EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
 EXTRA_OECONF_append_libc-newlib = " --with-newlib"
 
+# A55 is ARMv82.1 based but libatomic explicitly asks for -march=armv8.1a
+# which caused march conflicts in gcc
+TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc cortex-a55 -mcpu=cortex-a55+crc+crypto"
+
 # Disable ifuncs for libatomic on arm conflicts -march/-mcpu
 EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
 EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "

Comments

Andre McCurdy May 5, 2020, 11:54 p.m.
On Tue, May 5, 2020 at 4:33 PM Khem Raj <raj.khem@gmail.com> wrote:
>
> gcc-runtime/libatomic explicitly add -march=armv8-a+lse for all arch64
> but cortex-a55 is armv8.2-a, which essentially conflicts, so let gcc
> override it by not forcing the -mcpu option from TUNE_CCARGS
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
>  meta/recipes-devtools/gcc/gcc-runtime.inc | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/meta/recipes-devtools/gcc/gcc-runtime.inc b/meta/recipes-devtools/gcc/gcc-runtime.inc
> index ace706dbf4..547644572a 100644
> --- a/meta/recipes-devtools/gcc/gcc-runtime.inc
> +++ b/meta/recipes-devtools/gcc/gcc-runtime.inc
> @@ -18,6 +18,10 @@ EXTRA_OECONF_append_linuxstdbase = " --enable-clocale=gnu"
>  EXTRA_OECONF_append = " --cache-file=${B}/config.cache"
>  EXTRA_OECONF_append_libc-newlib = " --with-newlib"
>
> +# A55 is ARMv82.1 based but libatomic explicitly asks for -march=armv8.1a

Typo.

> +# which caused march conflicts in gcc
> +TUNE_CCARGS_remove = "-mcpu=cortex-a55+crc cortex-a55 -mcpu=cortex-a55+crc+crypto"

Do you mean "-mcpu=cortex-a55" instead of just "cortex-a55" ?


> +
>  # Disable ifuncs for libatomic on arm conflicts -march/-mcpu
>  EXTRA_OECONF_append_arm = " libat_cv_have_ifunc=no "
>  EXTRA_OECONF_append_armeb = " libat_cv_have_ifunc=no "
> --
> 2.26.2
>
>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.

View/Reply Online (#137957): https://lists.openembedded.org/g/openembedded-core/message/137957
Mute This Topic: https://lists.openembedded.org/mt/74010697/3617530
Group Owner: openembedded-core+owner@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub  [oe-patchwork@oe-patch.openembedded.org]
-=-=-=-=-=-=-=-=-=-=-=-