From: Romain Naour <romain.naour@openwide.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 4/4] toolchain-external: add OSELAS 2013.12.2 Cortex-M3 toolchain
Date: Mon, 02 Feb 2015 17:29:37 +0100 [thread overview]
Message-ID: <54CFA5F1.1020302@openwide.fr> (raw)
In-Reply-To: <1421951608-31233-5-git-send-email-ezequiel@vanguardiasur.com.ar>
Hi Ezequiel,
Le 22/01/2015 19:33, Ezequiel Garcia a ?crit :
> From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
>
> Binary toolchain based on uClibc for Cortex-M3 processor based on GCC
> 4.8.2.
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> Signed-off-by: Guido Mart?nez <guido@vanguardiasur.com.ar>
> ---
> toolchain/toolchain-external/Config.in | 12 ++++++++++++
> toolchain/toolchain-external/toolchain-external.hash | 3 +++
> toolchain/toolchain-external/toolchain-external.mk | 11 +++++++++++
> 3 files changed, 26 insertions(+)
>
> diff --git a/toolchain/toolchain-external/Config.in b/toolchain/toolchain-external/Config.in
> index 3b0f4cb..c9f2bfe 100644
> --- a/toolchain/toolchain-external/Config.in
> +++ b/toolchain/toolchain-external/Config.in
> @@ -192,6 +192,17 @@ config BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
>
> This toolchain uses software-floating point.
>
> +config BR2_TOOLCHAIN_EXTERNAL_OSELAS_ARM_CORTEX_M3
> + bool "OSELAS ARM Cortex-M3"
> + depends on BR2_arm
> + depends on BR2_HOSTARCH = "x86_64" || BR2_HOSTARCH = "x86"
> + select BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_12
> + select BR2_TOOLCHAIN_EXTERNAL_UCLIBC
> + select BR2_LARGEFILE
> + select BR2_INET_IPV6
> + select BR2_HOSTARCH_NEEDS_IA32_LIBS
> + select BR2_ARM_TOOLCHAIN_SKIP_CHECK
> +
> config BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411
> bool "Sourcery CodeBench MIPS 2014.11"
> depends on BR2_mips || BR2_mipsel || BR2_mips64 || BR2_mips64el
> @@ -970,6 +981,7 @@ config BR2_TOOLCHAIN_EXTERNAL_PREFIX
> default "arm-none-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_ARM201405
> default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV7A_201109
> default "arm-arago-linux-gnueabi" if BR2_TOOLCHAIN_EXTERNAL_ARAGO_ARMV5TE_201109
> + default "arm-cortexm3-uclinuxeabi" if BR2_TOOLCHAIN_EXTERNAL_OSELAS_ARM_CORTEX_M3
> default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_LINARO_AARCH64
> default "aarch64-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_AARCH64
> default "microblazeel-unknown-linux-gnu" if BR2_TOOLCHAIN_EXTERNAL_XILINX_MICROBLAZEEL_14_3
> diff --git a/toolchain/toolchain-external/toolchain-external.hash b/toolchain/toolchain-external/toolchain-external.hash
> index 7f211db..f00cce4 100644
> --- a/toolchain/toolchain-external/toolchain-external.hash
> +++ b/toolchain/toolchain-external/toolchain-external.hash
> @@ -56,3 +56,6 @@ sha256 3e1c7c53fadfd3346ab60386c573f07f0617ab119546ec8cb93bc20c23cff2b3 lin32-m
> sha256 b72f7be654a75bb643372f3909de7b8739f0f56bdf8bea98fea41dcecefe6b6b microblazeel-unknown-linux-gnu.tgz
> sha256 ed2fea022f2def257ca6db09911b73c7102aaa1792d2da2d81371a763e5c2eff lin32-microblaze-unknown-linux-gnu_14.3_early.tar.xz
> sha256 53ee0b1ad50e651eb14d0b53044b90e7bf7e3cb341ee57fe575bc4c4e142ea37 microblaze-unknown-linux-gnu.tgz
> +
> +# OSELAS Cortex-M3 toolchain
> +sha1 b5a85b489e32c3730673b74e998e08444e36aab4 oselas.toolchain-2013.12.2-arm-cortexm3-uclinuxeabi-gcc-4.8.2-uclibc-0.9.33.2-binutils-2.24-kernel-3.12-sanitized_2013.12.2_i386.deb
> diff --git a/toolchain/toolchain-external/toolchain-external.mk b/toolchain/toolchain-external/toolchain-external.mk
> index 5a69eb8..718bedc 100644
> --- a/toolchain/toolchain-external/toolchain-external.mk
> +++ b/toolchain/toolchain-external/toolchain-external.mk
> @@ -287,6 +287,9 @@ TOOLCHAIN_EXTERNAL_SOURCE = mips-2014.05-27-mips-linux-gnu-i686-pc-linux-gnu.tar
> else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_MIPS201411),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/mips-linux-gnu/
> TOOLCHAIN_EXTERNAL_SOURCE = mips-2014.11-22-mips-linux-gnu-i686-pc-linux-gnu.tar.bz2
> +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_OSELAS_ARM_CORTEX_M3),y)
> +TOOLCHAIN_EXTERNAL_SITE = http://debian.pengutronix.de/debian/pool/main/o/oselas.toolchain-2013.12.2-arm-cortexm3-uclinuxeabi-gcc-4.8.2-uclibc-0.9.33.2-binutils-2.24-kernel-3.12-sanitized/
> +TOOLCHAIN_EXTERNAL_SOURCE = oselas.toolchain-2013.12.2-arm-cortexm3-uclinuxeabi-gcc-4.8.2-uclibc-0.9.33.2-binutils-2.24-kernel-3.12-sanitized_2013.12.2_i386.deb
> else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_CODESOURCERY_NIOSII201305),y)
> TOOLCHAIN_EXTERNAL_SITE = http://sourcery.mentor.com/public/gnu_toolchain/nios2-linux-gnu/
> TOOLCHAIN_EXTERNAL_SOURCE = sourceryg++-2013.05-43-nios2-linux-gnu-i686-pc-linux-gnu.tar.bz2
> @@ -417,6 +420,14 @@ define TOOLCHAIN_EXTERNAL_EXTRACT_CMDS
> $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \
> $(TAR) $(TAR_STRIP_COMPONENTS)=3 --hard-dereference -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) $(TAR_OPTIONS) -
> endef
> +else ifeq ($(BR2_TOOLCHAIN_EXTERNAL_OSELAS_ARM_CORTEX_M3),y)
> +# Special handling for OSELAS toolchains
> +define TOOLCHAIN_EXTERNAL_EXTRACT_CMDS
> + mkdir -p $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)
> + (cd $(@D); ar xvf $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_SOURCE))
> + $(call suitable-extractor,data.tar.xz) $(@D)/data.tar.xz | \
> + $(TAR) $(TAR_STRIP_COMPONENTS)=5 -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR) $(TAR_OPTIONS) -
> +endef
> else ifneq ($(TOOLCHAIN_EXTERNAL_SOURCE),)
> # Normal handling of toolchain tarball extraction.
> define TOOLCHAIN_EXTERNAL_EXTRACT_CMDS
>
I tried to build some packages to test this toolchain and it fail with
Busybox :-/
/home/naourr/git/buildroot/test/cortexM/host/opt/ext-toolchain/arm-cortexm3-uclinuxeabi/bin/ld.real:
warning: cannot find entry symbol lf2flt; defaulting to 00000000
networking/lib.a(nslookup.o): In function `set_default_dns':
nslookup.c:(.text.set_default_dns+0x12): undefined reference to `__res_state'
nslookup.c:(.text.set_default_dns+0x2c): undefined reference to `__res_state'
networking/lib.a(nslookup.o): In function `nslookup_main':
nslookup.c:(.text.nslookup_main+0x16): undefined reference to `__res_init'
nslookup.c:(.text.nslookup_main+0x20): undefined reference to `__res_state'
collect2: error: ld returned 1 exit status
make[1]: *** [busybox_unstripped] Erreur 1
That's because __UCLIBC_HAS_RESOLVER_SUPPORT__ is not defined in the toolchain
configuration:
opt/sysroot-arm-cortexm3-uclinuxeabi/usr/include/bits/uClibc_config.h
To support this toolchain, we need to have another toolchain option named
BR2_TOOLCHAIN_HAS_RESOLVER_SUPPORT in order to be able to disable
packages/options which needs resolver support.
Best regards,
Romain Naour
next prev parent reply other threads:[~2015-02-02 16:29 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-22 18:33 [Buildroot] [PATCH 0/4] ARM Cortex-M3 support Ezequiel Garcia
2015-01-22 18:33 ` [Buildroot] [PATCH 1/4] arm: conditionally support regular ARM instructions Ezequiel Garcia
2015-02-02 16:17 ` Romain Naour
2015-02-02 20:18 ` Thomas Petazzoni
2015-01-22 18:33 ` [Buildroot] [PATCH 2/4] arm: update processor types Ezequiel Garcia
2015-02-02 16:18 ` Romain Naour
2015-02-07 18:05 ` Ezequiel Garcia
2015-02-14 13:51 ` Romain Naour
2015-02-07 19:47 ` Ezequiel Garcia
2015-02-14 14:43 ` Romain Naour
2015-01-22 18:33 ` [Buildroot] [PATCH 3/4] toolchain: allow for stupid toolchains Ezequiel Garcia
2015-01-25 19:32 ` Thomas Petazzoni
2015-02-02 16:18 ` Romain Naour
2015-02-02 17:32 ` Yann E. MORIN
2015-01-22 18:33 ` [Buildroot] [PATCH 4/4] toolchain-external: add OSELAS 2013.12.2 Cortex-M3 toolchain Ezequiel Garcia
2015-02-02 16:29 ` Romain Naour [this message]
2015-02-02 20:19 ` [Buildroot] [PATCH 0/4] ARM Cortex-M3 support Thomas Petazzoni
2015-02-03 1:05 ` Ezequiel Garcia
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=54CFA5F1.1020302@openwide.fr \
--to=romain.naour@openwide.fr \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.