Re: [PATCH] xtensa: Increase size of gcc stack frame check

From: Guenter Roeck
Date: Sun Sep 12 2021 - 00:03:00 EST


On 9/11/21 8:05 PM, Max Filippov wrote:
On Sat, Sep 11, 2021 at 7:52 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:

xtensa frame size is larger than the frame size for almost all other
architectures. This results in more than 50 "the frame size of <n> is
larger than 1024 bytes" errors when trying to build xtensa:allmodconfig.

Increase frame size for xtensa to 1536 bytes to avoid compile errors
due to frame size limits.

Cc: Chris Zankel <chris@xxxxxxxxxx>
Cc: Max Filippov <jcmvbkbc@xxxxxxxxx>
Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
---
lib/Kconfig.debug | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index ed4a31e34098..afad11e57d6b 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -346,7 +346,7 @@ config FRAME_WARN
int "Warn for stack frames larger than"
range 0 8192
default 2048 if GCC_PLUGIN_LATENT_ENTROPY
- default 1536 if (!64BIT && PARISC)
+ default 1536 if (!64BIT && (PARISC || XTENSA))
default 1024 if (!64BIT && !PARISC)

Shouldn't that line also be changed to
default 1024 if (!64BIT && !(PARISC || XTENSA))
?

I could do that, but I tested it and it looks like the evaluation
is top-down, so it didn't seem necessary or useful. For example,
the default value is 2048 for 32-bit systems (such as arm, riscv32,
or i386) if GCC_PLUGIN_LATENT_ENTROPY is enabled, even though the
line with the default of 1024 matches as well.

Thanks,
Guenter