<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>