diff mbox

nommu/flat: build packages with the correct FLAGS

Message ID 1378904024-14607-1-git-send-email-gustavo@zacarias.com.ar
State Accepted
Commit 71701eb6d77f2fe03124f559ed0d1a9e559b3d17
Headers show

Commit Message

Gustavo Zacarias Sept. 11, 2013, 12:53 p.m. UTC
When building for nommu flat targets the CFLAGS/CXXFLAGS/LDFLAGS must be
adjusted accordingly.
For gcc this means passing along -Wl,-elf2flt to signal the linker.
For ld this means -elf2flt.

Also correct the error in STACKSIZE settings from commit 9edf482d which
is setting gcc flags as ld flags and will surely fail (no package uses
it at the moment so it was never seen).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
---
 package/Makefile.in | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Thomas Petazzoni Sept. 11, 2013, 1:40 p.m. UTC | #1
Dear Gustavo Zacarias,

On Wed, 11 Sep 2013 09:53:44 -0300, Gustavo Zacarias wrote:

>  ifeq ($(BR2_BINFMT_FLAT),y)
> +TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
> +	-Wl$(comma)-elf2flt)

Nitpicking, can't this be written:

TARGET_CFLAGS += -Wl$(comma)-elf2flt$(if $($(PKG)_FLAT_STACKSIZE),=-s$($(PKG)_FLAT_STACKSIZE))

not sure if it's more readable though.

Thomas
Gustavo Zacarias Sept. 11, 2013, 1:41 p.m. UTC | #2
On 09/11/2013 10:40 AM, Thomas Petazzoni wrote:

> Dear Gustavo Zacarias,
> 
> On Wed, 11 Sep 2013 09:53:44 -0300, Gustavo Zacarias wrote:
> 
>>  ifeq ($(BR2_BINFMT_FLAT),y)
>> +TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
>> +	-Wl$(comma)-elf2flt)
> 
> Nitpicking, can't this be written:
> 
> TARGET_CFLAGS += -Wl$(comma)-elf2flt$(if $($(PKG)_FLAT_STACKSIZE),=-s$($(PKG)_FLAT_STACKSIZE))
> 
> not sure if it's more readable though.

Yes very likely, but i went for readable :)
If the FLAT support is extended there may be other options appended
there and separate clauses will be likely/better to avoid duplication
and general uglyness.
Regards.
Peter Korsgaard Sept. 12, 2013, 10:12 p.m. UTC | #3
>>>>> "Gustavo" == Gustavo Zacarias <gustavo@zacarias.com.ar> writes:

 Gustavo> When building for nommu flat targets the CFLAGS/CXXFLAGS/LDFLAGS must be
 Gustavo> adjusted accordingly.
 Gustavo> For gcc this means passing along -Wl,-elf2flt to signal the linker.
 Gustavo> For ld this means -elf2flt.

 Gustavo> Also correct the error in STACKSIZE settings from commit 9edf482d which
 Gustavo> is setting gcc flags as ld flags and will surely fail (no package uses
 Gustavo> it at the moment so it was never seen).

Committed, thanks.
diff mbox

Patch

diff --git a/package/Makefile.in b/package/Makefile.in
index 91ae1b9..dd365be 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -115,7 +115,11 @@  TARGET_CXXFLAGS = $(TARGET_CFLAGS)
 TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
 
 ifeq ($(BR2_BINFMT_FLAT),y)
-TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE))
+TARGET_CFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
+	-Wl$(comma)-elf2flt)
+TARGET_CXXFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),\
+	-Wl$(comma)-elf2flt)
+TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-elf2flt=-s$($(PKG)_FLAT_STACKSIZE),-elf2flt)
 endif
 
 ifeq ($(BR2_BINFMT_FLAT_SHARED),y)