riscv: Disable STACKPROTECTOR_PER_TASK if GCC_PLUGIN_RANDSTRUCT is enabled
authorGuenter Roeck <linux@roeck-us.net>
Tue, 6 Jul 2021 16:26:21 +0000 (09:26 -0700)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Wed, 4 Aug 2021 04:24:48 +0000 (21:24 -0700)
commita18b14d8886614b3c7d290c4cfc33389822b0535
tree0c89003076bb79ec85965fd5bae07dc024df86ac
parentd09560435cb712c9ec1e62b8a43a79b0af69fe77
riscv: Disable STACKPROTECTOR_PER_TASK if GCC_PLUGIN_RANDSTRUCT is enabled

riscv uses the value of TSK_STACK_CANARY to set
stack-protector-guard-offset. With GCC_PLUGIN_RANDSTRUCT enabled, that
value is non-deterministic, and with riscv:allmodconfig often results
in build errors such as

cc1: error: '8120' is not a valid offset in '-mstack-protector-guard-offset='

Enable STACKPROTECTOR_PER_TASK only if GCC_PLUGIN_RANDSTRUCT is disabled
to fix the problem.

Fixes: fea2fed201ee5 ("riscv: Enable per-task stack canaries")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
arch/riscv/Kconfig