Messages in this thread Patch in this message | | | From | Guenter Roeck <> | Subject | [PATCH] riscv: Disable STACKPROTECTOR_PER_TASK if GCC_PLUGIN_RANDSTRUCT is enabled | Date | Tue, 6 Jul 2021 09:26:21 -0700 |
| |
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") Cc: Guo Ren <guoren@linux.alibaba.com> Signed-off-by: Guenter Roeck <linux@roeck-us.net> --- arch/riscv/Kconfig | 1 + 1 file changed, 1 insertion(+)
diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index 469a70bd8da6..3afb84fa2190 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -486,6 +486,7 @@ config CC_HAVE_STACKPROTECTOR_TLS config STACKPROTECTOR_PER_TASK def_bool y + depends on !GCC_PLUGIN_RANDSTRUCT depends on STACKPROTECTOR && CC_HAVE_STACKPROTECTOR_TLS config PHYS_RAM_BASE_FIXED -- 2.25.1
| |