[Buildroot] [PATCH 1/3 v2] toolchain/external: add Linaro ARM 2014.11 ARMv7 EABIhf
thomas.petazzoni at free-electrons.com
Sun Mar 29 11:11:43 UTC 2015
Dear Yann E. MORIN,
On Sat, 28 Mar 2015 16:27:10 +0100, Yann E. MORIN wrote:
> - it is available only for x86_64 hosts
> - the toolchain is split in three parts:
> - the main archive, with the tools and a minimalist sysroot with
> just the strictly required stuff (e.g. just the C library and most
> libs as static libs, i.e. no shared libs but libc.so)
> - a secondary archive, with the complete sysroot , duplicationg most
> previously existing files in the minimal sysroot, above
> - a tertiary archive, with the 'runtime' content (whatever that
> could mean...); that one seems completely unnecessary for
> - the sys/types.h headers from the main sysroot is correct, while the
> one from the secondary archive (thus overwriting the main one) is
> broken, as it removes the definition of caddr_t (why? WHY?).
Can you report this bug to the Linaro folks?
> - there's a stray backup file for libstdc++
I already reported the stray backup file issue, but as part of my
original bug report. Maybe we should report it as a separate bug.
> +config BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM_2014_11
> + bool "Linaro arm 2014.11"
For Linaro toolchains, we've stopped adding version-specific Config.in
options. At any given time, we support only one Linaro toolchain, under
the option BR2_TOOLCHAIN_EXTERNAL_LINARO_ARM.
> +# The Linaro 2014.11 toolchains are split in two parts:
> +# - the main archive, contains compiler and other tools, plus a minimal
No comma between 'archive' and 'contains'.
> +# sysroot without a lot of share dlibs (e.g. libstdc++.so)
> +# - a secondrary archive with another part of the sysroot (in that both
> +# the intersection and exclusion are non-empty)
"in that both the intersection and exclusion are non-empty" ?!?
> +# The standard package infra handles the main archive, and we use a
> +# post-extract hook to extract the secondary, sysroot archive
> +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_EXTRACT_SYSROOT
> + $(call suitable-extractor,$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS)) $(DL_DIR)/$(TOOLCHAIN_EXTERNAL_EXTRA_DOWNLOADS) | \
> + $(TAR) $(TAR_STRIP_COMPONENTS)=1 --hard-dereference -C $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc $(TAR_OPTIONS) -
> +# The sysroot archive is kinda broken, keep the pieces together...
Maybe be more specific here about what is being done rather than just
"let's fix the breakage".
> +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_FIX_TYPES_H
> + $(SED) 's/\(typedef __daddr_t daddr_t;\)/\1\ntypedef __caddr_t caddr_t;/' \
> + $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/include/sys/types.h
> +define TOOLCHAIN_EXTERNAL_LINARO_2014_11_CLEAN_UP_32
> + rm -f $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/libc/usr/lib/libgcc_s.so.1.backup
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
More information about the buildroot