All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile.
@ 2013-05-06  7:35 Sonic Zhang
  2013-05-06  7:35 ` [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol Sonic Zhang
  2013-05-14  6:22 ` [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang
  0 siblings, 2 replies; 7+ messages in thread
From: Sonic Zhang @ 2013-05-06  7:35 UTC (permalink / raw)
  To: buildroot

From: Sonic Zhang <sonic.zhang@analog.com>

Reserve all 3 blackfin toolchain folders under the TOOLCHAIN_EXTERNAL_DIR.
Set current blackfin toolchain bin folder to the toolchain prefix subfolder.
Install FDPIC and FLAT library in target ext-toolchain-installed.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>

---
v8-changes:
- Append the if condition to the bool line other than the depends line.
In this case, 2 options of the same name are not necessary.

v7-changes:
- Revert merging the options of the same name and add descriptions. Only
2 options work in SHARED flat binary format case.

v6-changes:
- Move options of installing blackfin toolchain libraries into external
toolchain Config.in.
- Fix typo error.
- Merge the options of the same name and add descriptions.

v5-changes:
- Update comments.

v3-changes:
- Remove arch specific makefiles.
- Reserve all 3 blackfin toolchain folders under the TOOLCHAIN_EXTERNAL_DIR.
- Set current blackfin toolchain bin folder to the toolchain prefix subfolder.
- Move FDPIC and FLAT library installation target from blackfin makefile to
the ext-toolchain-installed target in external toolchain makefile.

v2-changes:
- Remove useless Macro __uClinux__

v1-changes:
- Create arch makefile.
- Create blackfin makefile.
- Add FDPIC and FLAT library options and makefile targets to install
libraries for different binary formats into the same rootfs image.
- update the TARGET_EXCEPTIONS variable in support/scripts/graph-depends for
new custom targets
---
 toolchain/toolchain-external/Config.in   |   27 +++++++++++++++++
 toolchain/toolchain-external/ext-tool.mk |   46 ++++++++++++++++++++++-------
 2 files changed, 62 insertions(+), 11 deletions(-)

diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
index a93ada3..1386ae7 100644
--- a/toolchain/toolchain-external/Config.in
+++ b/toolchain/toolchain-external/Config.in
@@ -920,5 +920,32 @@ config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
 	  Copy the gdbserver provided by the external toolchain to the
 	  target.
 
+# When the FDPIC shared binary format is used, the corresponding libraries are
+# always installed. When a different binary format is used, we offer the option
+# of installing the FDPIC shared libraries.
+config BR2_BFIN_INSTALL_FDPIC_SHARED
+	bool "Install FDPIC shared libraries"
+	depends on BR2_bfin && !BR2_BINFMT_FDPIC
+	help
+	  The Linux kernel supports running both FDPIC and FLAT applications
+	  concurrently if the binary format specific libraries are installed
+	  properly. This option allows developer to install FDPIC libraries
+	  into a buildroot rootfs image built with binary format that is not
+	  FDPIC.
+
+# When the FLAT shared binary format is used, we force the installation
+# of the corresponding libraries. When a different binary format is
+# used, we offer the option of installing the FLAT shared libraries.
+config BR2_BFIN_INSTALL_FLAT_SHARED
+	bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
+	depends on BR2_bfin
+	default y if BR2_BINFMT_FLAT_SHARED
+	help
+	  The Linux kernel supports running both FDPIC and FLAT applications
+	  concurrently if the binary format specific libraries are installed
+	  properly. This option allows developer to install FLAT libraries
+	  into a buildroot rootfs image built with binary format that is not
+	  shared FLAT.
+
 endif # BR2_TOOLCHAIN_EXTERNAL
 
diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
index bf2bee8..6f1fbe0 100644
--- a/toolchain/toolchain-external/ext-tool.mk
+++ b/toolchain/toolchain-external/ext-tool.mk
@@ -115,8 +115,12 @@ ifeq ($(TOOLCHAIN_EXTERNAL_DIR),)
 # if no path set, figure it out from path
 TOOLCHAIN_EXTERNAL_BIN:=$(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc))
 else
+ifeq ($(BR2_bfin),y)
+TOOLCHAIN_EXTERNAL_BIN:=$(TOOLCHAIN_EXTERNAL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin
+else
 TOOLCHAIN_EXTERNAL_BIN:=$(TOOLCHAIN_EXTERNAL_DIR)/bin
 endif
+endif
 
 TOOLCHAIN_EXTERNAL_CROSS=$(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)-
 TOOLCHAIN_EXTERNAL_CC=$(TOOLCHAIN_EXTERNAL_CROSS)gcc
@@ -318,17 +322,6 @@ $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1) $
 		$(TAR) $(TAR_STRIP_COMPONENTS)=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) -
 	$(INFLATE$(suffix $(TOOLCHAIN_EXTERNAL_SOURCE_2))) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2) | \
 		$(TAR) $(TAR_STRIP_COMPONENTS)=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) -
-ifeq ($(TOOLCHAIN_EXTERNAL_PREFIX),bfin-uclinux)
-	rm -rf $(TOOLCHAIN_EXTERNAL_DIR)/bfin-linux-uclibc
-	mv $(TOOLCHAIN_EXTERNAL_DIR)/bfin-uclinux $(TOOLCHAIN_EXTERNAL_DIR)/tmp
-	mv $(TOOLCHAIN_EXTERNAL_DIR)/tmp/* $(TOOLCHAIN_EXTERNAL_DIR)/
-	rmdir $(TOOLCHAIN_EXTERNAL_DIR)/tmp
-else
-	rm -rf $(TOOLCHAIN_EXTERNAL_DIR)/bfin-uclinux
-	mv $(TOOLCHAIN_EXTERNAL_DIR)/bfin-linux-uclibc $(TOOLCHAIN_EXTERNAL_DIR)/tmp
-	mv $(TOOLCHAIN_EXTERNAL_DIR)/tmp/* $(TOOLCHAIN_EXTERNAL_DIR)/
-	rmdir $(TOOLCHAIN_EXTERNAL_DIR)/tmp
-endif
 	$(Q)touch $@
 else
 # Download and extraction of a toolchain
@@ -423,6 +416,37 @@ $(STAMP_DIR)/ext-toolchain-installed: $(STAMP_DIR)/ext-toolchain-checked
 		@echo "External toolchain doesn't support --sysroot. Cannot use." ; \
 		exit 1 ; \
 	fi ; \
+	if test x"$(BR2_BFIN_INSTALL_FDPIC_SHARED)" == x"y" ; then \
+		$(call MESSAGE,"Install external toolchain FDPIC libraries to target...") ; \
+		FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \
+		FDPIC_LIBC_A_LOCATION=`readlink -f $$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libc.a)` ; \
+		FDPIC_SYSROOT_DIR=`echo $${FDPIC_LIBC_A_LOCATION} | sed -r -e 's:usr/lib(64)?/(.*/)?libc\.a::'` ; \
+		FDPIC_LIB_DIR=`echo $${FDPIC_LIBC_A_LOCATION} | sed -r -e 's:.*/usr/(lib(64)?)/(.*/)?libc.a:\1:'` ; \
+		FDPIC_SUPPORT_LIB_DIR="" ; \
+		if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \
+			FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \
+			if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \
+				FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \
+			fi ; \
+		fi ; \
+		for libs in $(LIB_EXTERNAL_LIBS); do \
+			$(call copy_toolchain_lib_root,$${FDPIC_SYSROOT_DIR},$${FDPIC_SUPPORT_LIB_DIR},$${FDPIC_LIB_DIR},$$libs,/lib); \
+		done ; \
+		for libs in $(USR_LIB_EXTERNAL_LIBS); do \
+			$(call copy_toolchain_lib_root,$${FDPIC_SYSROOT_DIR},$${FDPIC_SUPPORT_LIB_DIR},$${FDPIC_LIB_DIR},$$libs,/usr/lib); \
+		done ; \
+	fi ; \
+	if test x"$(BR2_BFIN_INSTALL_FLAT_SHARED)" == x"y" ; then \
+		$(call MESSAGE,"Install external toolchain FLAT libraries to target...") ; \
+		FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \
+		FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \
+		if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \
+# The flat libraries are found and linked according to the index in \
+# name "libN.so". Index 1 is reserved for the standard C library. \
+# Customer libraries can use 4 and above. \
+			$(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \
+		fi ; \
+	fi ; \
 	ARCH_LIBC_A_LOCATION=`readlink -f $$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libc.a)` ; \
 	ARCH_SYSROOT_DIR=`echo $${ARCH_LIBC_A_LOCATION} | sed -r -e 's:usr/lib(64)?/(.*/)?libc\.a::'` ; \
 	ARCH_LIB_DIR=`echo $${ARCH_LIBC_A_LOCATION} | sed -r -e 's:.*/usr/(lib(64)?)/(.*/)?libc.a:\1:'` ; \
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol
  2013-05-06  7:35 [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang
@ 2013-05-06  7:35 ` Sonic Zhang
  2013-05-14  6:23   ` Sonic Zhang
  2013-05-14  6:22 ` [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang
  1 sibling, 1 reply; 7+ messages in thread
From: Sonic Zhang @ 2013-05-06  7:35 UTC (permalink / raw)
  To: buildroot

From: Sonic Zhang <sonic.zhang@analog.com>

Introduce NOMMU symbol __NOMMU__

---
v6-changes:
- Remove space between comma and y.
- Restore endif after rebase.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
---
 package/Makefile.in |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/package/Makefile.in b/package/Makefile.in
index a449089..55d725d 100644
--- a/package/Makefile.in
+++ b/package/Makefile.in
@@ -107,6 +107,10 @@ ifeq ($(BR2_BINFMT_FLAT),y)
 TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE))
 endif
 
+ifneq ($(BR2_USE_MMU),y)
+TARGET_CFLAGS += -D__NOMMU__
+endif
+
 ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
 TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
 TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile.
  2013-05-06  7:35 [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang
  2013-05-06  7:35 ` [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol Sonic Zhang
@ 2013-05-14  6:22 ` Sonic Zhang
  1 sibling, 0 replies; 7+ messages in thread
From: Sonic Zhang @ 2013-05-14  6:22 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Mon, May 6, 2013 at 3:35 PM, Sonic Zhang <sonic.adi@gmail.com> wrote:
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> Reserve all 3 blackfin toolchain folders under the TOOLCHAIN_EXTERNAL_DIR.
> Set current blackfin toolchain bin folder to the toolchain prefix subfolder.
> Install FDPIC and FLAT library in target ext-toolchain-installed.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
>
> ---
> v8-changes:
> - Append the if condition to the bool line other than the depends line.
> In this case, 2 options of the same name are not necessary.
>
> v7-changes:
> - Revert merging the options of the same name and add descriptions. Only
> 2 options work in SHARED flat binary format case.
>
> v6-changes:
> - Move options of installing blackfin toolchain libraries into external
> toolchain Config.in.
> - Fix typo error.
> - Merge the options of the same name and add descriptions.
>
> v5-changes:
> - Update comments.
>
> v3-changes:
> - Remove arch specific makefiles.
> - Reserve all 3 blackfin toolchain folders under the TOOLCHAIN_EXTERNAL_DIR.
> - Set current blackfin toolchain bin folder to the toolchain prefix subfolder.
> - Move FDPIC and FLAT library installation target from blackfin makefile to
> the ext-toolchain-installed target in external toolchain makefile.
>
> v2-changes:
> - Remove useless Macro __uClinux__
>
> v1-changes:
> - Create arch makefile.
> - Create blackfin makefile.
> - Add FDPIC and FLAT library options and makefile targets to install
> libraries for different binary formats into the same rootfs image.
> - update the TARGET_EXCEPTIONS variable in support/scripts/graph-depends for
> new custom targets
> ---
>  toolchain/toolchain-external/Config.in   |   27 +++++++++++++++++
>  toolchain/toolchain-external/ext-tool.mk |   46 ++++++++++++++++++++++-------
>  2 files changed, 62 insertions(+), 11 deletions(-)
>
> diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
> index a93ada3..1386ae7 100644
> --- a/toolchain/toolchain-external/Config.in
> +++ b/toolchain/toolchain-external/Config.in
> @@ -920,5 +920,32 @@ config BR2_TOOLCHAIN_EXTERNAL_GDB_SERVER_COPY
>           Copy the gdbserver provided by the external toolchain to the
>           target.
>
> +# When the FDPIC shared binary format is used, the corresponding libraries are
> +# always installed. When a different binary format is used, we offer the option
> +# of installing the FDPIC shared libraries.
> +config BR2_BFIN_INSTALL_FDPIC_SHARED
> +       bool "Install FDPIC shared libraries"
> +       depends on BR2_bfin && !BR2_BINFMT_FDPIC
> +       help
> +         The Linux kernel supports running both FDPIC and FLAT applications
> +         concurrently if the binary format specific libraries are installed
> +         properly. This option allows developer to install FDPIC libraries
> +         into a buildroot rootfs image built with binary format that is not
> +         FDPIC.
> +
> +# When the FLAT shared binary format is used, we force the installation
> +# of the corresponding libraries. When a different binary format is
> +# used, we offer the option of installing the FLAT shared libraries.
> +config BR2_BFIN_INSTALL_FLAT_SHARED
> +       bool "Install FLAT shared libraries" if !BR2_BINFMT_FLAT_SHARED
> +       depends on BR2_bfin
> +       default y if BR2_BINFMT_FLAT_SHARED
> +       help
> +         The Linux kernel supports running both FDPIC and FLAT applications
> +         concurrently if the binary format specific libraries are installed
> +         properly. This option allows developer to install FLAT libraries
> +         into a buildroot rootfs image built with binary format that is not
> +         shared FLAT.
> +
>  endif # BR2_TOOLCHAIN_EXTERNAL
>
> diff --git a/toolchain/toolchain-external/ext-tool.mk b/toolchain/toolchain-external/ext-tool.mk
> index bf2bee8..6f1fbe0 100644
> --- a/toolchain/toolchain-external/ext-tool.mk
> +++ b/toolchain/toolchain-external/ext-tool.mk
> @@ -115,8 +115,12 @@ ifeq ($(TOOLCHAIN_EXTERNAL_DIR),)
>  # if no path set, figure it out from path
>  TOOLCHAIN_EXTERNAL_BIN:=$(shell dirname $(shell which $(TOOLCHAIN_EXTERNAL_PREFIX)-gcc))
>  else
> +ifeq ($(BR2_bfin),y)
> +TOOLCHAIN_EXTERNAL_BIN:=$(TOOLCHAIN_EXTERNAL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin
> +else
>  TOOLCHAIN_EXTERNAL_BIN:=$(TOOLCHAIN_EXTERNAL_DIR)/bin
>  endif
> +endif
>
>  TOOLCHAIN_EXTERNAL_CROSS=$(TOOLCHAIN_EXTERNAL_BIN)/$(TOOLCHAIN_EXTERNAL_PREFIX)-
>  TOOLCHAIN_EXTERNAL_CC=$(TOOLCHAIN_EXTERNAL_CROSS)gcc
> @@ -318,17 +322,6 @@ $(TOOLCHAIN_EXTERNAL_DIR)/.extracted: $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_1) $
>                 $(TAR) $(TAR_STRIP_COMPONENTS)=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) -
>         $(INFLATE$(suffix $(TOOLCHAIN_EXTERNAL_SOURCE_2))) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE_2) | \
>                 $(TAR) $(TAR_STRIP_COMPONENTS)=3 --hard-dereference -C $(@D) $(TAR_OPTIONS) -
> -ifeq ($(TOOLCHAIN_EXTERNAL_PREFIX),bfin-uclinux)
> -       rm -rf $(TOOLCHAIN_EXTERNAL_DIR)/bfin-linux-uclibc
> -       mv $(TOOLCHAIN_EXTERNAL_DIR)/bfin-uclinux $(TOOLCHAIN_EXTERNAL_DIR)/tmp
> -       mv $(TOOLCHAIN_EXTERNAL_DIR)/tmp/* $(TOOLCHAIN_EXTERNAL_DIR)/
> -       rmdir $(TOOLCHAIN_EXTERNAL_DIR)/tmp
> -else
> -       rm -rf $(TOOLCHAIN_EXTERNAL_DIR)/bfin-uclinux
> -       mv $(TOOLCHAIN_EXTERNAL_DIR)/bfin-linux-uclibc $(TOOLCHAIN_EXTERNAL_DIR)/tmp
> -       mv $(TOOLCHAIN_EXTERNAL_DIR)/tmp/* $(TOOLCHAIN_EXTERNAL_DIR)/
> -       rmdir $(TOOLCHAIN_EXTERNAL_DIR)/tmp
> -endif
>         $(Q)touch $@
>  else
>  # Download and extraction of a toolchain
> @@ -423,6 +416,37 @@ $(STAMP_DIR)/ext-toolchain-installed: $(STAMP_DIR)/ext-toolchain-checked
>                 @echo "External toolchain doesn't support --sysroot. Cannot use." ; \
>                 exit 1 ; \
>         fi ; \
> +       if test x"$(BR2_BFIN_INSTALL_FDPIC_SHARED)" == x"y" ; then \
> +               $(call MESSAGE,"Install external toolchain FDPIC libraries to target...") ; \
> +               FDPIC_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))/../../bfin-linux-uclibc/bin/bfin-linux-uclibc-gcc ; \
> +               FDPIC_LIBC_A_LOCATION=`readlink -f $$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libc.a)` ; \
> +               FDPIC_SYSROOT_DIR=`echo $${FDPIC_LIBC_A_LOCATION} | sed -r -e 's:usr/lib(64)?/(.*/)?libc\.a::'` ; \
> +               FDPIC_LIB_DIR=`echo $${FDPIC_LIBC_A_LOCATION} | sed -r -e 's:.*/usr/(lib(64)?)/(.*/)?libc.a:\1:'` ; \
> +               FDPIC_SUPPORT_LIB_DIR="" ; \
> +               if test `find $${FDPIC_SYSROOT_DIR} -name 'libstdc++.a' | wc -l` -eq 0 ; then \
> +                       FDPIC_LIBSTDCPP_A_LOCATION=$$(LANG=C $${FDPIC_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libstdc++.a) ; \
> +                       if [ -e "$${FDPIC_LIBSTDCPP_A_LOCATION}" ]; then \
> +                               FDPIC_SUPPORT_LIB_DIR=`readlink -f $${FDPIC_LIBSTDCPP_A_LOCATION} | sed -r -e 's:libstdc\+\+\.a::'` ; \
> +                       fi ; \
> +               fi ; \
> +               for libs in $(LIB_EXTERNAL_LIBS); do \
> +                       $(call copy_toolchain_lib_root,$${FDPIC_SYSROOT_DIR},$${FDPIC_SUPPORT_LIB_DIR},$${FDPIC_LIB_DIR},$$libs,/lib); \
> +               done ; \
> +               for libs in $(USR_LIB_EXTERNAL_LIBS); do \
> +                       $(call copy_toolchain_lib_root,$${FDPIC_SYSROOT_DIR},$${FDPIC_SUPPORT_LIB_DIR},$${FDPIC_LIB_DIR},$$libs,/usr/lib); \
> +               done ; \
> +       fi ; \
> +       if test x"$(BR2_BFIN_INSTALL_FLAT_SHARED)" == x"y" ; then \
> +               $(call MESSAGE,"Install external toolchain FLAT libraries to target...") ; \
> +               FLAT_EXTERNAL_CC=$(dir $(TOOLCHAIN_EXTERNAL_CC))../../bfin-uclinux/bin/bfin-uclinux-gcc ; \
> +               FLAT_LIBC_A_LOCATION=`$${FLAT_EXTERNAL_CC} $(TOOLCHAIN_EXTERNAL_CFLAGS) -mid-shared-library -print-file-name=libc`; \
> +               if [ -f $${FLAT_LIBC_A_LOCATION} -a ! -h $${FLAT_LIBC_A_LOCATION} ] ; then \
> +# The flat libraries are found and linked according to the index in \
> +# name "libN.so". Index 1 is reserved for the standard C library. \
> +# Customer libraries can use 4 and above. \
> +                       $(INSTALL) -D $${FLAT_LIBC_A_LOCATION} $(TARGET_DIR)/lib/lib1.so; \
> +               fi ; \
> +       fi ; \
>         ARCH_LIBC_A_LOCATION=`readlink -f $$(LANG=C $(TOOLCHAIN_EXTERNAL_CC) $(TOOLCHAIN_EXTERNAL_CFLAGS) -print-file-name=libc.a)` ; \
>         ARCH_SYSROOT_DIR=`echo $${ARCH_LIBC_A_LOCATION} | sed -r -e 's:usr/lib(64)?/(.*/)?libc\.a::'` ; \
>         ARCH_LIB_DIR=`echo $${ARCH_LIBC_A_LOCATION} | sed -r -e 's:.*/usr/(lib(64)?)/(.*/)?libc.a:\1:'` ; \
> --


May I have your Acked-by for the last 2 bfin arch support patches?

Regards,

Sonic

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol
  2013-05-06  7:35 ` [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol Sonic Zhang
@ 2013-05-14  6:23   ` Sonic Zhang
  2013-05-14  7:15     ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Sonic Zhang @ 2013-05-14  6:23 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Mon, May 6, 2013 at 3:35 PM, Sonic Zhang <sonic.adi@gmail.com> wrote:
> From: Sonic Zhang <sonic.zhang@analog.com>
>
> Introduce NOMMU symbol __NOMMU__
>
> ---
> v6-changes:
> - Remove space between comma and y.
> - Restore endif after rebase.
>
> Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
> ---
>  package/Makefile.in |    4 ++++
>  1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/package/Makefile.in b/package/Makefile.in
> index a449089..55d725d 100644
> --- a/package/Makefile.in
> +++ b/package/Makefile.in
> @@ -107,6 +107,10 @@ ifeq ($(BR2_BINFMT_FLAT),y)
>  TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE))
>  endif
>
> +ifneq ($(BR2_USE_MMU),y)
> +TARGET_CFLAGS += -D__NOMMU__
> +endif
> +
>  ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
>  TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
>  TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
> --

May I have your Acked-by for the last 2 bfin arch support patches?

Regards,

Sonic

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol
  2013-05-14  6:23   ` Sonic Zhang
@ 2013-05-14  7:15     ` Thomas Petazzoni
  2013-05-14  7:28       ` Sonic Zhang
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Petazzoni @ 2013-05-14  7:15 UTC (permalink / raw)
  To: buildroot

Dear Sonic Zhang,

On Tue, 14 May 2013 14:23:11 +0800, Sonic Zhang wrote:

> > diff --git a/package/Makefile.in b/package/Makefile.in
> > index a449089..55d725d 100644
> > --- a/package/Makefile.in
> > +++ b/package/Makefile.in
> > @@ -107,6 +107,10 @@ ifeq ($(BR2_BINFMT_FLAT),y)
> >  TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE))
> >  endif
> >
> > +ifneq ($(BR2_USE_MMU),y)
> > +TARGET_CFLAGS += -D__NOMMU__
> > +endif
> > +
> >  ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
> >  TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
> >  TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
> > --
> 
> May I have your Acked-by for the last 2 bfin arch support patches?

For the 2013.05 cycle, it is now too late to get functional patches in,
Peter is now only taking fixes. Though we can continue the work and get
them merged in -next.

Regarding this patch specifically (PATCH 7/7), I have never been happy
with it, because I don't like the idea of passing globally this
-D__NOMMU__ symbol all around, while it's not a standard symbol.

I've asked Peter, and he agrees with this position. Therefore, what we
would like to see is -D__NOMMU__ added only to those packages that
actually need it.

Regarding PATCH 6/7, since the 2013.05 cycle is over for new patches, I
was hoping to find some time to look and it and refactor it. But I
believe I'll just test it once again, give my Acked-by: so it gets
merged, and then later on find the time to refactor it.

Would this be ok for you?

Also, while we're at it, I've just launched a new version of our
autobuilders infrastructure (see
http://lists.busybox.net/pipermail/buildroot/2013-May/072143.html).
Would you be interested in receiving a daily e-mail that contains only
the list of Blackfin related build failures?

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol
  2013-05-14  7:15     ` Thomas Petazzoni
@ 2013-05-14  7:28       ` Sonic Zhang
  2013-05-14  7:30         ` Thomas Petazzoni
  0 siblings, 1 reply; 7+ messages in thread
From: Sonic Zhang @ 2013-05-14  7:28 UTC (permalink / raw)
  To: buildroot

Hi Thomas,

On Tue, May 14, 2013 at 3:15 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Dear Sonic Zhang,
>
> On Tue, 14 May 2013 14:23:11 +0800, Sonic Zhang wrote:
>
>> > diff --git a/package/Makefile.in b/package/Makefile.in
>> > index a449089..55d725d 100644
>> > --- a/package/Makefile.in
>> > +++ b/package/Makefile.in
>> > @@ -107,6 +107,10 @@ ifeq ($(BR2_BINFMT_FLAT),y)
>> >  TARGET_LDFLAGS += $(if $($(PKG)_FLAT_STACKSIZE),-Wl$(comma)-elf2flt=-s$($(PKG)_FLAT_STACKSIZE))
>> >  endif
>> >
>> > +ifneq ($(BR2_USE_MMU),y)
>> > +TARGET_CFLAGS += -D__NOMMU__
>> > +endif
>> > +
>> >  ifeq ($(BR2_BINFMT_FLAT_SHARED),y)
>> >  TARGET_LDFLAGS += -mid-shared-library -mshared-library-id=0
>> >  TARGET_CFLAGS += -mid-shared-library -mshared-library-id=0
>> > --
>>
>> May I have your Acked-by for the last 2 bfin arch support patches?
>
> For the 2013.05 cycle, it is now too late to get functional patches in,
> Peter is now only taking fixes. Though we can continue the work and get
> them merged in -next.
>
> Regarding this patch specifically (PATCH 7/7), I have never been happy
> with it, because I don't like the idea of passing globally this
> -D__NOMMU__ symbol all around, while it's not a standard symbol.
>
> I've asked Peter, and he agrees with this position. Therefore, what we
> would like to see is -D__NOMMU__ added only to those packages that
> actually need it.
>

OK. This is fine to me.

> Regarding PATCH 6/7, since the 2013.05 cycle is over for new patches, I
> was hoping to find some time to look and it and refactor it. But I
> believe I'll just test it once again, give my Acked-by: so it gets
> merged, and then later on find the time to refactor it.
>
> Would this be ok for you?
>

Yes, having your Acked-by for -next tree is good enough.

> Also, while we're at it, I've just launched a new version of our
> autobuilders infrastructure (see
> http://lists.busybox.net/pipermail/buildroot/2013-May/072143.html).
> Would you be interested in receiving a daily e-mail that contains only
> the list of Blackfin related build failures?

I am find to receive these notify email by my gmail account.

Regards,

Sonic

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol
  2013-05-14  7:28       ` Sonic Zhang
@ 2013-05-14  7:30         ` Thomas Petazzoni
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Petazzoni @ 2013-05-14  7:30 UTC (permalink / raw)
  To: buildroot

Dear Sonic Zhang,

On Tue, 14 May 2013 15:28:23 +0800, Sonic Zhang wrote:

> > For the 2013.05 cycle, it is now too late to get functional patches in,
> > Peter is now only taking fixes. Though we can continue the work and get
> > them merged in -next.
> >
> > Regarding this patch specifically (PATCH 7/7), I have never been happy
> > with it, because I don't like the idea of passing globally this
> > -D__NOMMU__ symbol all around, while it's not a standard symbol.
> >
> > I've asked Peter, and he agrees with this position. Therefore, what we
> > would like to see is -D__NOMMU__ added only to those packages that
> > actually need it.
> 
> OK. This is fine to me.

Thanks. Of course, this is our current position. Depending on how many
packages are affected, and how things turn out to work, we may decide
otherwise in the future. But for now, we'd prefer to have it on a
per-package basis to really understand which packages are affected by
that.

> > Regarding PATCH 6/7, since the 2013.05 cycle is over for new patches, I
> > was hoping to find some time to look and it and refactor it. But I
> > believe I'll just test it once again, give my Acked-by: so it gets
> > merged, and then later on find the time to refactor it.
> >
> > Would this be ok for you?
> 
> Yes, having your Acked-by for -next tree is good enough.

Ok, so I'll work on testing your patch as is.

> > Also, while we're at it, I've just launched a new version of our
> > autobuilders infrastructure (see
> > http://lists.busybox.net/pipermail/buildroot/2013-May/072143.html).
> > Would you be interested in receiving a daily e-mail that contains only
> > the list of Blackfin related build failures?
> 
> I am find to receive these notify email by my gmail account.

Ok, will do so.

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2013-05-14  7:30 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-05-06  7:35 [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang
2013-05-06  7:35 ` [Buildroot] [PATCH v8 7/7] package: Introduce NOMMU symbol Sonic Zhang
2013-05-14  6:23   ` Sonic Zhang
2013-05-14  7:15     ` Thomas Petazzoni
2013-05-14  7:28       ` Sonic Zhang
2013-05-14  7:30         ` Thomas Petazzoni
2013-05-14  6:22 ` [Buildroot] [PATCH v8 6/7] arch: toolchain: Install blackfin FDPIC and FLAT libraries in external toolchain makefile Sonic Zhang

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.