<div dir="ltr">Hi Sonic,<br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Mar 21, 2013 at 7:38 AM, Sonic Zhang <span dir="ltr"><<a href="mailto:sonic.adi@gmail.com" target="_blank">sonic.adi@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">From: Sonic Zhang <<a href="mailto:sonic.zhang@analog.com">sonic.zhang@analog.com</a>><br>
<br>
- Add BR2_TARGET_ABI_FLAT option<br>
- Add NOMMU compiling macro<br>
- Add FLAT ABI specific link flags<br>
- Add stack size to FLAT link flags if macro <PKG>_FLAT_STACKSIZE is defined.<br>
<br>
Signed-off-by: Sonic Zhang <<a href="mailto:sonic.zhang@analog.com">sonic.zhang@analog.com</a>><br>
---<br>
 arch/Config.in           |    3 +++<br>
 package/Makefile.in      |    8 ++++++++<br>
 package/<a href="http://pkg-autotools.mk" target="_blank">pkg-autotools.mk</a> |    5 +++++<br>
 package/<a href="http://pkg-generic.mk" target="_blank">pkg-generic.mk</a>   |    5 +++++<br>
 4 files changed, 21 insertions(+), 0 deletions(-)<br>
<br>
diff --git a/arch/Config.in b/arch/Config.in<br>
index 472b10c..120c67e 100644<br>
--- a/arch/Config.in<br>
+++ b/arch/Config.in<br>
@@ -174,6 +174,9 @@ config BR2_GCC_TARGET_ABI<br>
 config BR2_GCC_TARGET_CPU<br>
        string<br>
<br>
+config BR2_TARGET_ABI_FLAT<br>
+       bool<br>
+<br>
 if BR2_arm || BR2_armeb<br>
 source "arch/Config.in.arm"<br>
 endif<br>
diff --git a/package/Makefile.in b/package/Makefile.in<br>
index a8bf36b..acfd9c8 100644<br>
--- a/package/Makefile.in<br>
+++ b/package/Makefile.in<br>
@@ -103,6 +103,14 @@ TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI) $(TARGET_OPTIMIZATION) $(TARGET<br>
 TARGET_CXXFLAGS = $(TARGET_CFLAGS)<br>
 TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))<br>
<br>
+ifeq ($(BR2_TARGET_ABI_FLAT),y)<br>
+TARGET_LDFLAGS += -Wl,-elf2flt<br>
+endif<br>
+<br>
+ifneq ($(BR2_USE_MMU), y)<br>
+TARGET_CFLAGS += -D__NOMMU__<br>
+endif<br>
+<br>
 ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_CTNG),y)<br>
 TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-<br>
 else<br>
diff --git a/package/<a href="http://pkg-autotools.mk" target="_blank">pkg-autotools.mk</a> b/package/<a href="http://pkg-autotools.mk" target="_blank">pkg-autotools.mk</a><br>
index 890506b..b23feec 100644<br>
--- a/package/<a href="http://pkg-autotools.mk" target="_blank">pkg-autotools.mk</a><br>
+++ b/package/<a href="http://pkg-autotools.mk" target="_blank">pkg-autotools.mk</a><br>
@@ -82,6 +82,11 @@ $(2)_CLEAN_OPT                       ?= clean<br>
 $(2)_UNINSTALL_STAGING_OPT     ?= DESTDIR=$$(STAGING_DIR) uninstall<br>
 $(2)_UNINSTALL_TARGET_OPT      ?= DESTDIR=$$(TARGET_DIR)  uninstall<br>
<br>
+ifeq ($(BR2_TARGET_ABI_FLAT),y)<br>
+ ifneq ($$($(2)_FLAT_STACKSIZE),)<br>
+  $(2)_CONF_ENV                        += LDFLAGS="$(TARGET_LDFLAGS) -Wl,-elf2flt=-s$($(2)_FLAT_STACKSIZE)"<br>
+ endif<br>
+endif<br></blockquote><div><br></div><div>I'm not that familiar with these double $$, but is it intentional that you're using double-dollar AND single-dollar for the same variable <PKG>_FLAT_STACKSIZE in the above snippet?<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
 #<br>
 # Configure step. Only define it if not already defined by the package<br>
diff --git a/package/<a href="http://pkg-generic.mk" target="_blank">pkg-generic.mk</a> b/package/<a href="http://pkg-generic.mk" target="_blank">pkg-generic.mk</a><br>
index 57b0fd0..47ac33a 100644<br>
--- a/package/<a href="http://pkg-generic.mk" target="_blank">pkg-generic.mk</a><br>
+++ b/package/<a href="http://pkg-generic.mk" target="_blank">pkg-generic.mk</a><br>
@@ -303,6 +303,11 @@ endif<br>
<br>
 $(2)_REDISTRIBUTE              ?= YES<br>
<br>
+ifeq ($(BR2_TARGET_ABI_FLAT),y)<br>
+ ifneq ($$($(2)_FLAT_STACKSIZE),)<br>
+  $(2)_FLAT_LDFLAGS = -Wl,-elf2flt=-s$($(2)_FLAT_STACKSIZE)<br>
+ endif<br>
+endif<br>
<br>
 $(2)_DEPENDENCIES ?= $(filter-out $(1),$(patsubst host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
1.7.0.4<br>
<br>
<br>
</font></span></blockquote></div><br></div></div>