Hi Everyone,
We are pleased to announce that support for ARM GCC 9.2-2019.12 [1]
toolchain has been added in meta-linaro [2].
- Support for ARM GCC 9.2 toolchain built from source, steps to use it:
- Add <path-to-meta-linaro-repo>/meta-linaro-toolchain/ to BBLAYERS
in conf/bblayers.conf.
- Configure: GCCVERSION = "arm-9.2" in conf/local.conf.
- Support for prebuilt ARM GCC 9.2 toolchain, steps to use it:
- Add <path-to-meta-linaro-repo>/meta-linaro-toolchain/ to BBLAYERS
in conf/bblayers.conf.
- Configure: TCMODE = "external-arm" in conf/local.conf.
- For AArch64 (eg. qemuarm64 machine in poky distro)
- Configure: EXTERNAL_TOOLCHAIN =
"<installation-path>/gcc-arm-9.2-2019.12-x86_64-aarch64-none-linux-gnu"
in
conf/local.conf.
- For AArch32 (eg. qemuarm machine in poky distro)
- Configure: EXTERNAL_TOOLCHAIN =
"<installation-path>/gcc-arm-9.2-2019.12-x86_64-arm-none-linux-gnueabihf"
in conf/local.conf.
Distro testing:
===========
- poky distro (branch: zeus, machines: qemuarm and qemuarm64)
- Build and boot tested.
- RPB distro (branch: zeus, machine: dragonboard-410c)
- Build and boot tested.
- World builds (branch: zeus, machines: qemuarm and qemuarm64) for
following layers:
- poky/meta
- poky/meta-poky
- poky/meta-yocto-bsp
- meta-openembedded/meta-oe
- meta-openembedded/meta-python
- meta-openembedded/meta-networking
Known issues:
===========
- mariadb build failure with ARM GCC 9.2 toolchain built from source:
- Recipe fix patch [3] accepted in OE upstream.
- Native tools dependency issues seen with multiple recipes (psmisc,
xclock, ndisc6, dovecot, man-db, drbd-utils and unbound) when using
prebuilt ARM GCC 9.2 toolchain.
- Fixes posted in OE upstream [4] [5].
Reporting bugs:
============
Please report any issue here [6].
[1]
https://developer.arm.com/tools-and-software/open-source-software/developer…
[2] https://git.linaro.org/openembedded/meta-linaro.git/?h=master
[3] https://patchwork.openembedded.org/patch/169296/
[4] https://patchwork.openembedded.org/patch/169289/
[5] https://patchwork.openembedded.org/series/22188/
[6] https://bugs.linaro.org/enter_bug.cgi?product=Linaro%20OpenEmbedded
Happy hacking!,
Regards,
Sumit
On Sat, 1 Aug 2020 at 19:40, Sumit Garg via lists.yoctoproject.org
<sumit.garg=linaro.org(a)lists.yoctoproject.org> wrote:
>
> On Sat, 1 Aug 2020 at 14:57, Ryan Harkin <ryan.harkin(a)linaro.org> wrote:
> >
> >
> >
> > On Sat, 1 Aug 2020 at 10:09, Ryan Harkin <ryan.harkin(a)linaro.org> wrote:
> >>
> >> Hi Khem,
> >>
> >> On Fri, 31 Jul 2020, 21:58 Khem Raj, <raj.khem(a)gmail.com> wrote:
> >>>
> >>> On Fri, Jul 31, 2020 at 8:35 AM Ryan Harkin <ryan.harkin(a)linaro.org> wrote:
> >>> >
> >>> > Hello,
> >>> >
> >>> > I'm migrating from Warrior to Dunfell and I'm getting a curious build failure in gcc-sanitizers.
> >>> >
> >>> > Here's the full gory detail:
> >>> > https://pastebin.ubuntu.com/p/nh4cDKMvgS/
> >>> >
> >>> > However, the main error is this:
> >>> >
> >>> > | In file included from ../../../../../../../../../work-shared/gcc-arm-8.3-r2019.03/git/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:193:
> >>> > | ../../../../../../../../../work-shared/gcc-arm-8.3-r2019.03/git/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:317:72: error: size of array 'assertion_failed__1152' is negative
> >>> > | typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1]
> >>> >
> >>> > I have no idea where to begin with this. I don't even know why gcc-sanitizers is included in the build, what it does, or why I need it. I'm building an image with dev packages and gcc, so I guess that's why.
> >>> >
> >>> > I've hacked meta-arm to patch sanitizer_platform_limits_posix.cc to null out the macros and that builds fine. I'm sure it won't work, should someone want to use it, mind you.
> >>> >
> >>> > Is there something obvious that I should be doing as part of a Warrior -> Dunfell migration to get this to work?
> >>> >
> >>> > note: Warrior used meta-linaro-toolchain and for Dunfell, it's moved to meta-arm-toolchain.
> >>> >
> >>>
> >>> is gcc 8.3 the latest for linaro
> >>
> >>
> >> I assume so. I haven't attempted to change the default.
> >
> >
> > I'm sorry, that's incorrect: local.conf has an over-ride to specify 8.3.
> > I've just removed it and now it's using 9.3. And it's building fine.
> >
It's using GCC 9.3 from OE core. If you wish to use Arm toolchain then
you need to override the default OE core GCC version with Arm
toolchain GCC version:
GCCVERSION = "arm-9.2"
-Sumit
> > Sumit, do you know if there's a reason for using 9.2 in RPB instead of 9.3?
> >
>
> Arm GCC 9.3 toolchain isn't released yet (see here [1]).
>
> [1] https://developer.arm.com/tools-and-software/open-source-software/developer…
>
> -Sumit
>
> >>
> >>>
> >>> > Regards,
> >>> > Ryan.
> >>> >
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
>
> View/Reply Online (#50161): https://lists.yoctoproject.org/g/yocto/message/50161
> Mute This Topic: https://lists.yoctoproject.org/mt/75909560/1777089
> Group Owner: yocto+owner(a)lists.yoctoproject.org
> Unsubscribe: https://lists.yoctoproject.org/g/yocto/unsub [sumit.garg(a)linaro.org]
> -=-=-=-=-=-=-=-=-=-=-=-
Hello,
I'm migrating from Warrior to Dunfell and I'm getting a curious build
failure in gcc-sanitizers.
Here's the full gory detail:
https://pastebin.ubuntu.com/p/nh4cDKMvgS/
However, the main error is this:
| In file included from
../../../../../../../../../work-shared/gcc-arm-8.3-r2019.03/git/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:193:
|
../../../../../../../../../work-shared/gcc-arm-8.3-r2019.03/git/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:317:72:
error: size of array 'assertion_failed__1152' is negative
| typedef char IMPL_PASTE(assertion_failed_##_, line)[2*(int)(pred)-1]
I have no idea where to begin with this. I don't even know why
gcc-sanitizers is included in the build, what it does, or why I need it.
I'm building an image with dev packages and gcc, so I guess that's why.
I've hacked meta-arm to patch sanitizer_platform_limits_posix.cc to null
out the macros and that builds fine. I'm sure it won't work, should someone
want to use it, mind you.
Is there something obvious that I should be doing as part of a Warrior ->
Dunfell migration to get this to work?
note: Warrior used meta-linaro-toolchain and for Dunfell, it's moved to
meta-arm-toolchain.
Regards,
Ryan.