[Buildroot] [PATCH 1/2] package: Makefile.in: Add target compilation flags for NOMMU architecture.

Thomas De Schampheleire patrickdepinguin+buildroot at gmail.com
Fri Mar 22 06:52:11 UTC 2013


Hi Sonic,


On Thu, Mar 21, 2013 at 7:38 AM, Sonic Zhang <sonic.adi at gmail.com> wrote:

> From: Sonic Zhang <sonic.zhang at analog.com>
>
> - Add BR2_TARGET_ABI_FLAT option
> - Add NOMMU compiling macro
> - Add FLAT ABI specific link flags
> - Add stack size to FLAT link flags if macro <PKG>_FLAT_STACKSIZE is
> defined.
>
> Signed-off-by: Sonic Zhang <sonic.zhang at analog.com>
> ---
>  arch/Config.in           |    3 +++
>  package/Makefile.in      |    8 ++++++++
>  package/pkg-autotools.mk |    5 +++++
>  package/pkg-generic.mk   |    5 +++++
>  4 files changed, 21 insertions(+), 0 deletions(-)
>
> diff --git a/arch/Config.in b/arch/Config.in
> index 472b10c..120c67e 100644
> --- a/arch/Config.in
> +++ b/arch/Config.in
> @@ -174,6 +174,9 @@ config BR2_GCC_TARGET_ABI
>  config BR2_GCC_TARGET_CPU
>         string
>
> +config BR2_TARGET_ABI_FLAT
> +       bool
> +
>  if BR2_arm || BR2_armeb
>  source "arch/Config.in.arm"
>  endif
> diff --git a/package/Makefile.in b/package/Makefile.in
> index a8bf36b..acfd9c8 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -103,6 +103,14 @@ TARGET_CFLAGS = $(TARGET_CPPFLAGS) $(TARGET_ABI)
> $(TARGET_OPTIMIZATION) $(TARGET
>  TARGET_CXXFLAGS = $(TARGET_CFLAGS)
>  TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
>
> +ifeq ($(BR2_TARGET_ABI_FLAT),y)
> +TARGET_LDFLAGS += -Wl,-elf2flt
> +endif
> +
> +ifneq ($(BR2_USE_MMU), y)
> +TARGET_CFLAGS += -D__NOMMU__
> +endif
> +
>  ifeq ($(BR2_TOOLCHAIN_BUILDROOT)$(BR2_TOOLCHAIN_CTNG),y)
>  TARGET_CROSS=$(HOST_DIR)/usr/bin/$(GNU_TARGET_NAME)-
>  else
> diff --git a/package/pkg-autotools.mk b/package/pkg-autotools.mk
> index 890506b..b23feec 100644
> --- a/package/pkg-autotools.mk
> +++ b/package/pkg-autotools.mk
> @@ -82,6 +82,11 @@ $(2)_CLEAN_OPT                       ?= clean
>  $(2)_UNINSTALL_STAGING_OPT     ?= DESTDIR=$$(STAGING_DIR) uninstall
>  $(2)_UNINSTALL_TARGET_OPT      ?= DESTDIR=$$(TARGET_DIR)  uninstall
>
> +ifeq ($(BR2_TARGET_ABI_FLAT),y)
> + ifneq ($$($(2)_FLAT_STACKSIZE),)
> +  $(2)_CONF_ENV                        += LDFLAGS="$(TARGET_LDFLAGS)
> -Wl,-elf2flt=-s$($(2)_FLAT_STACKSIZE)"
> + endif
> +endif
>

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?


>
>  #
>  # Configure step. Only define it if not already defined by the package
> diff --git a/package/pkg-generic.mk b/package/pkg-generic.mk
> index 57b0fd0..47ac33a 100644
> --- a/package/pkg-generic.mk
> +++ b/package/pkg-generic.mk
> @@ -303,6 +303,11 @@ endif
>
>  $(2)_REDISTRIBUTE              ?= YES
>
> +ifeq ($(BR2_TARGET_ABI_FLAT),y)
> + ifneq ($$($(2)_FLAT_STACKSIZE),)
> +  $(2)_FLAT_LDFLAGS = -Wl,-elf2flt=-s$($(2)_FLAT_STACKSIZE)
> + endif
> +endif
>
>  $(2)_DEPENDENCIES ?= $(filter-out $(1),$(patsubst
> host-host-%,host-%,$(addprefix host-,$($(3)_DEPENDENCIES))))
>
> --
> 1.7.0.4
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130322/aae70bfd/attachment-0002.html>


More information about the buildroot mailing list