Hello all,
On Wed, Oct 6, 2021 at 1:20 PM Bruce Ashfield <[email protected]> wrote:
>
> On Wed, Oct 6, 2021 at 7:42 AM Ross Burton <[email protected]> wrote:
> >
> > I should have put this in the commit message, but here's the failure
> > when using an external toolchain:
> >
> > 2021-10-05 12:52:14 - INFO - | HOSTCXX
> > scripts/gcc-plugins/arm_ssp_per_task_plugin.so
> > 2021-10-05 12:52:14 - INFO - | In file included from
> > /builds/engineering/yocto/meta-arm/work/build/tmp/work-shared/fvp-base-arm32/kernel-source/scripts/gcc-plugins/gcc-common.h:103,
> > 2021-10-05 12:52:14 - INFO - | from
> > /builds/engineering/yocto/meta-arm/work/build/tmp/work-shared/fvp-base-arm32/kernel-source/scripts/gcc-plugins/arm_ssp_per_task_plugin.c:3:
> > 02021-10-05 12:52:14 - INFO - |
> > /builds/persist/toolchains/gcc-arm-10.3-2021.07-aarch64-arm-none-linux-gnueabihf/bin/../lib/gcc/arm-none-linux-gnueabihf/10.3.1/plugin/include/builtins.h:23:10:
> > fatal error: mpc.h: No such file or directory
> > 2021-10-05 12:52:14 - INFO - | #include <mpc.h>
> > 2021-10-05 12:52:14 - INFO - | ^~~~~~~
> > 2021-10-05 12:52:14 - INFO - | compilation terminated.
>
> Aha. Yes, that does tell the story. I knew it had to be a compilation
> failure, since that is how I picked up the other DEPENDS.
Sorry for jumping in here, I guess there is one additional issue that
would be unraveled after libmpc will be included.
What I saw long time ago (starting from v5.13.y) is that even when
both gmp and libmpc are added, following build errors are produced
from ARM32 builds when defconfig is used:
----
cc1: error: cannot load plugin
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so:
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so: undefined symbol:
_ZN8opt_pass14set_pass_paramEjb
cc1: error: cannot load plugin
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so:
./scripts/gcc-plugins/arm_ssp_per_task_plugin.so: undefined symbol:
_ZN8opt_pass14set_pass_paramEjb
----
It seems that GCC plugins are somehow disabled in SDK GCC, but Kernel
build system checks them on the host, which does provide them. This
leads to a false identification that plugins are enabled and leads to
further build failures.
This behavior came with commit 1e860048c53e ("gcc-plugins: simplify
GCC plugin-dev capability test"), where previously build system ran an
internal script to verify if plugins are present by running compile
tests, but after this commit - it checks only if the folder containing
plugins is there. This leads to the issue that when host GCC has the
folder - plugins are enabled, but when later the compile pass is taken
- it fails since the .so is not present in the SDK sysroot.
I'd have to point out that this error only occurs for ARM32 builds,
aarch64 builds are not affected.
This has also been discussed here on the list, but I can't seem to
find a reference to it anymore.
>
> Did we want to tweak the commit message and add linux-yocto-dev to the
> patch ? I can have go at that if you want.
>
> Bruce
>
> >
> > On Wed, 6 Oct 2021 at 11:12, Ross Burton <[email protected]> wrote:
> > >
> > > On Wed, 6 Oct 2021 at 11:10, Ross Burton <[email protected]> wrote:
> > > > This depends on CONFIG_GCC_PLUGINS which I don't believe is enabled in
> > > > any of the default configurations. meta-arm builds a few kernels with
> > > > defconfig, which does.
> > >
> > > Sorry, brain still not warmed up yet.
> > >
> > > CONFIG_GCC_PLUGINS needs to be enabled, but the real difference is
> > > that using the normal GCC pulls libmpc into the sysroot via implicit
> > > dependencies. If you use an external toolchain (like
> > > meta-arm-toolchain) this doesn't happen, and the dependency needs to
> > > be explicit.
> > >
> > > Ross
>
>
>
> --
> - Thou shalt not follow the NULL pointer, for chaos and madness await
> thee at its end
> - "Use the force Harry" - Gandalf, Star Trek II
>
>
>
--
Regards,
Andrey.
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#156931):
https://lists.openembedded.org/g/openembedded-core/message/156931
Mute This Topic: https://lists.openembedded.org/mt/86092630/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-