* [Buildroot] [PATCH] package: fix builds with $(PKG)_FLAT_STACKSIZE
@ 2026-08-17 18:17 Fengwei Tan
2026-08-20 19:20 ` Thomas Petazzoni via buildroot
0 siblings, 1 reply; 2+ messages in thread
From: Fengwei Tan @ 2026-08-17 18:17 UTC (permalink / raw)
To: buildroot; +Cc: Fengwei Tan
When a package defines $(PKG)_FLAT_STACKSIZE, ELF2FLT_FLAGS contains
-Wl,-elf2flt="-r -s<stack-size>". The embedded quotes are needed to
keep both elf2flt options in single linker argument.
However, many package Makefiles wrap $(TARGET_CFLAGS) in double quotes,
for example:
CFLAGS="$(TARGET_CFLAGS)"
After expansion, the embedded quote terminates the outer CFLAGS quote.
As a result, the shell interprets "-s<stack-size> ..." as a command
instead of passing it to the compiler.
Pass -r and -s<stack-size> in separate -Wl arguments instead. This
avoids embedded quotes; GCC forwards both -elf2flt options to
ld-elf2flt, which collects them before invoking elf2flt.
Signed-off-by: Fengwei Tan <tfx2001@outlook.com>
---
package/Makefile.in | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/package/Makefile.in b/package/Makefile.in
index eac28b3a96..229206d393 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -218,7 +218,7 @@ ifeq ($(BR2_riscv),y)
TARGET_CFLAGS += -fPIC
endif
ELF2FLT_FLAGS = $(if $($(PKG)_FLAT_STACKSIZE),\
- -Wl$(comma)-elf2flt="-r -s$($(PKG)_FLAT_STACKSIZE)",\
+ -Wl$(comma)-elf2flt=-r -Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
-Wl$(comma)-elf2flt=-r)
TARGET_CFLAGS += $(ELF2FLT_FLAGS)
TARGET_CXXFLAGS += $(ELF2FLT_FLAGS)
--
2.43.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH] package: fix builds with $(PKG)_FLAT_STACKSIZE
2026-08-17 18:17 [Buildroot] [PATCH] package: fix builds with $(PKG)_FLAT_STACKSIZE Fengwei Tan
@ 2026-08-20 19:20 ` Thomas Petazzoni via buildroot
0 siblings, 0 replies; 2+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-08-20 19:20 UTC (permalink / raw)
To: Fengwei Tan; +Cc: buildroot
Hello!
On Tue, Aug 18, 2026 at 02:17:29AM +0800, Fengwei Tan wrote:
> When a package defines $(PKG)_FLAT_STACKSIZE, ELF2FLT_FLAGS contains
> -Wl,-elf2flt="-r -s<stack-size>". The embedded quotes are needed to
> keep both elf2flt options in single linker argument.
>
> However, many package Makefiles wrap $(TARGET_CFLAGS) in double quotes,
> for example:
>
> CFLAGS="$(TARGET_CFLAGS)"
>
> After expansion, the embedded quote terminates the outer CFLAGS quote.
> As a result, the shell interprets "-s<stack-size> ..." as a command
> instead of passing it to the compiler.
>
> Pass -r and -s<stack-size> in separate -Wl arguments instead. This
> avoids embedded quotes; GCC forwards both -elf2flt options to
> ld-elf2flt, which collects them before invoking elf2flt.
>
> Signed-off-by: Fengwei Tan <tfx2001@outlook.com>
Thanks a lot for your patch, well spotted!
One thing that was missing from your commit message is the indication
of which commit broke this, so I added that and applied your commit to
our master branch.
This feature is not actually used by any package in Buildroot, which
explains why this problem remained unnoticed. Would you be willing to
work on adding a simple test case in support/testing/ for this? I
guess it could be a very simple br2-external, with a very simple
package that uses <pkg>_FLAT_STACKSIZE.
Aside from that, no many of our users use Buildroot for noMMU
platforms. Would you mind sharing your use case? Which platform are
you using, in which context, how did you end up running into this
<pkg>_FLAT_STACKSIZE issue?
Again, thanks for your contribution!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2026-08-20 19:20 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-17 18:17 [Buildroot] [PATCH] package: fix builds with $(PKG)_FLAT_STACKSIZE Fengwei Tan
2026-08-20 19:20 ` Thomas Petazzoni via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox