On Sat, 1 Aug 2020 at 14:42, Ryan Harkin ryan.harkin@linaro.org wrote:
Hi Sumit,
On Sat, 1 Aug 2020, 07:51 Sumit Garg, sumit.garg@linaro.org wrote:
Hi Ryan,
On Fri, 31 Jul 2020 at 21:05, Ryan Harkin ryan.harkin@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?
I would suggest you to switch to GCC 9.2 Arm toolchain for Dunfell. RPB does the same [1].
I can do that, I have no reason to use 8.3 other than it's the default. Is my problem a known issue with 8.3, or is moving to 9.2 a general suggestion?
AFAIK, as upstream OE switches to a newer GCC version, it stops supporting older GCC versions. And since we are building here Arm toolchain from source and rely on OE core recipes, so it is possible that build could fail while trying to build an old toolchain version using latest OE core recipes.
So the general recommendation is to keep the Arm toolchain version as close to the OE core to avoid any possible build failures.
-Sumit
GCCVERSION = "arm-9.2"
[1] https://github.com/96boards/meta-rpb/blob/dunfell/conf/distro/include/rpb.in...
Thanks for the pointer.
-Sumit
note: Warrior used meta-linaro-toolchain and for Dunfell, it's moved to meta-arm-toolchain.
Regards, Ryan.