Re: [BUG v5.2-rc1] ARM build broken

From: Kees Cook
Date: Tue May 21 2019 - 16:39:00 EST


On Tue, May 21, 2019 at 01:23:36PM +0200, H. Nikolaus Schaller wrote:
> >>> HOSTLLD -shared scripts/gcc-plugins/arm_ssp_per_task_plugin.so - due to target missing
> >>> Undefined symbols for architecture x86_64:
> >>> "gen_reg_rtx(machine_mode)", referenced from:
> >>> (anonymous namespace)::arm_pertask_ssp_rtl_pass::execute() in arm_ssp_per_task_plugin.o

Are you seeing this error still, even after the fix I sent? Perhaps I
misunderstood that it solves all of the build issues?

> That seems to be a significant assumption about the build infrastructure
> which now became permanently enabled by the "default y" for GCC_PLUGINS.
>
> I am not sure what the right way forward is. Probably for me it is to find
> out if I can fix my cross-toolchain. Or if the kernel should better check
> if gcc-plugins can really be built, if they are automatically enabled.
> Or keep all gcc-plugins disabled until explicitly configured for?

Right, that seems to be the case: it seems that the gcc plugin build
sanity detection script is not working in your environment. You can
check it directly.

Here's the bits from the Kconfig (though I added --show-error for you,
in case that's useful):

preferred-plugin-hostcc := $(if-success,[ $(gcc-version) -ge 40800 ],$(HOSTCXX),$(HOSTCC))

scripts/gcc-plugin.sh --show-error "$(preferred-plugin-hostcc)" "$(HOSTCXX)" "$(CC)"

I'm not sure what your kernel build picks for gcc-version, HOSTCXX
HOSTCC and CC...

--
Kees Cook