summaryrefslogtreecommitdiff
path: root/toolchain
AgeCommit message (Collapse)Author
2015-08-18toolchain/external: ensure gcc version is knownYann E. MORIN
Currently, when a preconfigured prebuilt toolchain forgets to specify its gcc version, the error message is a bit misleading, like: Incorrect selection of gcc version: expected .x, got 4.9.2 Add a an explicit check for the gcc version being set, that reports a better error message. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-09toolchain/external: better check for gcc-5Yann E. MORIN
gcc will always report a three-digit version sting, like 4.9.3 or 5.1.0. For gcc before 5, we want to check the first two digits, while starting with gcc 5, we are only concerned about the first digit. So, change our matching code to test for the leading part of the version string, up to the first dot after as-many version digit we're interested in. Note: we're adding the dot in the .mk code rather than in the Kconfig symbol, because it seemed cleaner to do so. Reported-by: Jörg Krause <joerg.krause@embedded.rocks> Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-05toolchain-external: add support for gcc version dependencyThomas Petazzoni
This commit wires up the gcc version dependency mechanism in the external toolchain backend. To do so, it: * Changes the definition of all pre-defined external toolchain profiles to select the appropriate BR2_TOOLCHAIN_GCC_AT_LEAST_* option. * For custom external toolchains, provides a visible Config.in "choice" to select the gcc version used in the external toolchain. * Adds a new check_gcc_version function, that verifies that the real gcc version found in the external toolchain matches the one declared in the Buildroot configuration. [Thomas: use better sed expression proposed by Yann E. Morin, which works with more cases.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-05toolchain: add common gcc version hidden config optionsThomas Petazzoni
This commit adds a number of hidden Config.in options, that will be used to handle dependencies on the gcc version. We mimic the model that was used for the kernel headers dependency mechanism. These hidden options will be selected by the internal and external toolchain backend logic respectively, in follow-up commits. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-07-26toolchain-external wrapper: don't pass march/mcpu if mtune is on cmdlineThomas De Schampheleire
Before commit 5715d2dcf48a39c16a3f3e41c97109613fed121d, the external toolchain wrapper would not pass its own march/mcpu/mtune flags to the real compiler if at least one of them was passed on the wrapper command-line. The mentioned commit intended to remove the passing of an mtune parameter coming from Buildroot, which was always empty after some other refactoring, but the changes have the side-effect that march/mcpu is now also passed when mtune is already given on the command-line. In that case, only mtune should be passed to the real compiler. Restore part of the original toolchain wrapper code to check the presence of mtune on the command-line. Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-17trivial: fix typo optimazationThomas De Schampheleire
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-16toolchain-external: fix uClibc-ng 64bit dynamic loader linkBaruch Siach
Commit 34f95bf9dbb0 (toolchain-external: fix support of uClibc-ng toolchains, 2015-07-13) added the missing ld-uClibc.so.1 dynamic linker symlink that binaries expect when linked with uClibc-ng. However on 64bit targets the linker is called ld64-uClibc.so.1. Handle that case as well. Signed-off-by: Baruch Siach <baruch@tkos.co.il> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-14toolchain-external: fix support of uClibc-ng toolchainsThomas Petazzoni
The uClibc-ng dynamic loader is called ld-uClibc.so.1, but gcc is not patched specifically for uClibc-ng, so it continues to generate binaries that expect the dynamic loader to be named ld-uClibc.so.0, like with the original uClibc. Therefore, when a uClibc-ng toolchain is used as an external toolchain, we need to create an additional symbolic link to make uClibc-ng systems work properly. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-13toolchain-external: improve lib subdirectory matchingBai Yingjie
The toolchain from the Cavium Networks Octeon SDK provides a sysroot with library directories lib32, lib32-fp, lib64 and lib64-fp. The -fp variants are used for processors with hardware floating point unit, such as the Octeon III variants. When specifying -march=octeon3 in BR2_TARGET_OPTIMIZATION, the toolchain will use lib32-fp, but currently Buildroot does not accept that pattern. This patch improves the matching by accepting lib(32|64)?([^/]*)? as lib directory name. Signed-off-by: Bai Yingjie <byj.tea@gmail.com> [ThomasDS: update commit message] Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com> [Thomas: add comment above the function being modified to illustrate the various cases we try to handle.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-13toolchain/helpers.mk: use --chmod on rsyncGuido Martínez
This makes sure we don't have any weird permissions on the staging dir, which could affect the target. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-12aarch64: add big endian(aarch64_be) supportBamvor Jian Zhang
Add aarch64_be support. Note that CONFIG_CPU_BIG_ENDIAN should be defined in kernel config when building a big endian kernel. Signed-off-by: Zhang Jian(Bamvor) <bamvor.zhangjian@huawei.com> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-12packages: do not use TAR_STRIP_COMPONENTS, but directly --strip-componentsThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-28toolchain: allow for stupid toolchainsGuido Martínez
check_arm_abi builds a test C file to check that the toolchain is working correctly, with the output redirected to /dev/null. However, some toolchains (OSELAS 2014.12.0, for instance) foolishly append ".gdb" to the output filename for an intermediate file, causing an attempt to write to /dev/null.gdb, which obviously fails. Fix this by adding changing the output to a temporary file, which is later removed along with any other "suffixed" files. Suggested-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-23toolchain-buildroot: mark eglibc as deprecatedThomas Petazzoni
eglibc is a dead project and has not been making any release since a while, now that glibc is back and kicking. So let's deprecated our eglibc support. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-22toolchain: add 4.1.x choice for headersGustavo Zacarias
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-09arch: tidy up mmu configGuido Martínez
Instead of blacklisting which architectures support MMUs (mandatorily or optionally), introduce two Kconfig options that are selected by each architecture in each case. This simplifies the logic in BR2_USE_MMU. Signed-off-by: Guido Martínez <guido@vanguardiasur.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-04toolchain-external: add CodeSourcery MIPS 2015.05, remove 2013.11Vicente Olivert Riera
- Add CodeSourcery MIPS 2015.05 toolchain - Remove CodeSourcery MIPS 2013.11 toolchain - Update the hash file Toolchain datasheet: https://sourcery.mentor.com/GNUToolchain/release3068?@template=datasheet Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-05toolchain/external: better report RPC error for custom toolchainsYann E. MORIN
Currently, we instruct users to enable/disable BR2_TOOLCHAIN_HAS_NATIVE_RPC but that is a blind option. The only option users can set/unset is BR2_TOOLCHAIN_EXTERNAL_INET_RPC. Use that in the error message. Notes: the only way for this message to appear is for a custom external toolchain, either downloaded or pre-installed, so even though we check the validity of the toolchain with BR2_TOOLCHAIN_HAS_NATIVE_RPC, we do report on BR2_TOOLCHAIN_EXTERNAL_INET_RPC. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-04toolchain-external: mark musl based toolchains as experimentalPeter Korsgaard
Like we do for the internal musl backend. We still see a large number of build failures with musl, so warn users about it. Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-03sh4: fix toolchain creationWaldemar Brodkorb
The Linux kernel does force compile with -m4-nofpu, which is only available when building a multilib toolchain. The interesting part here is, that buildroot use --disable-multilib for gcc configure, but enables --with-multilib-list=m4,m4-nofpu in the default configuration for Qemu targeting r2d emulation. This results in a toolchain, which can be used for the kernel and for userland without creating a multilib toolchain with different kinds of libgcc version. In the multilib case there would be subdirectories created (!m4 and m4-nofpu). As buildroot uses a short version of toolchain creation, a multilib enabled gcc build fails when creating libgcc. So the best solution is to just keep multilib disabled, but always add --with-multilib-list when sh4/sh4eb/sh4a/sh4aeb is choosen. Tested with sh4/sh4a toolchain build and qemu defconfig with gcc 4.8.x/4.9.x (with and without C++ enabled), uClibc and glibc. Disable sh4a/sh4aeb for uClibc, as it does not implemented, yet. Signed-off-by: Waldemar Brodkorb <wbx@openadk.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> (ARM and SH4 uClibc toolchain builds)
2015-05-01toolchain-external: remove non-existent mips-sf musl toolchainsArnout Vandecappelle
Since 1.1.6, the mips softfloat toolchains are merged into the mips toolchain using multilib. Our external toolchain infrastructure copies the correct version to the target depending on the BR2_SOFT_FLOAT option. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-01toolchain-external: add hashes for musl toolchainsArnout Vandecappelle
Add hashes for all musl toolchains, including the ones that we currently don't support (arm hf, sh4, x86_64-x32). Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-01toolchain-external: fix rebuild/reinstall for Linaro toolchainsThomas Petazzoni
For Linaro toolchains, a special post install staging hook is used to create two symlinks needed for the dynamic loader to find the libraries. However, the way the link is created prevents a 'make toolchain-external-reinstall' from succeeding, because the symlink already exists and points to a directory: ln -sf . /home/thomas/projets/outputs/training/target/lib/arm-linux-gnueabihf ln: '/home/thomas/projets/outputs/training/target/lib/arm-linux-gnueabihf/.': cannot overwrite directory This commit adjust the hook to pass the '-n' option so that the link name is treated as a normal file if it is a symbolic link to a directory. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2015-05-01toolchain-external: mark Synopsys toolchain as brokenThomas Petazzoni
This uClibc toolchain does not provide an appropriate uClibc configuration for Buildroot: missing IPv6, missing nsl stub, missing program invocation, etc. Therefore, we mark it as broken, waiting for a new upstream release of a new toolchain. We keep around the toolchain-external Synopsys code anyway, since it will most likely be identical for the new toolchain version. However, we remove all the quirks that were introduced to start work around issues related to this toolchain. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-25toolchain/external: ignore missing hash for custom downloaded toolchainYann E. MORIN
We will *always* be missing a hash file for custom external toolchains that are downloaded. So, just ignore that failure. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-23toolchain-external: update musl-cross toolchain to 1.1.6Will Wagner
The 1.1.6 version of musl-cross fixes the two issues that had been preventing versions after 1.1.1 being used by buildroot, namely: - sysroot is enabled again - kernel headers are included again Signed-off-by: Will Wagner <will_wagner@carallon.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22toolchain: drop BR2_INET_IPV6Gustavo Zacarias
It's no longer used so farewell. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22toolchain: make IPv6 mandatory for external toolchainsGustavo Zacarias
Remove BR2_INET_IPV6 select for predefined external toolchains. Remove the (non)IPv6 option prompt since it's now mandatory. And force the toolchain check now that internal uclibc is always built with IPv6 support and external non-IPv6 toolchains are disallowed. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22toolchain-external: remove CS sh2 toolchainsGustavo Zacarias
Normally we'd deprecate them, but: 1) They don't support IPv6 and it's being removed so it makes no sense. 2) They're based on uClibc 0.9.30-ish which is very old and surely has package build breakage all over it. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22toolchain: fix installing gconv libs with multi-arch toolchainYann E. MORIN
For a multi-arch toolchain, gconv modules are in a sub-directory named after the machine gcc targets. This is the case, for example, for the Linaro ARM 2014.09 toolchain, which has the gconv modules in (relative to the sysroot): /usr/lib/arm-linux-gnueabihf/gconv while the Sourcery CodeBench ARM 2014.05 (non-multi-arch) has them in: /usr/lib/gconv So, to catter for both cases, search both paths. We want to favour the machine-specific gconv modules over potentially existing "generic" ones, so we first search that (if it exists) and fallback to looking in the generic location. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-19toolchain-external: install libatomicGustavo Zacarias
It's required in some 32-bit architectures for the extended (64-bit) atomic operations, like __sync_add_and_fetch_8. These arches are at least: i386, mips & mipsel. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-13toolchain: add 4.0.x choice for headersGustavo Zacarias
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-04toolchain/external: do not accept distro-class toolchainsYann E. MORIN
Distro toolchains, i.ie. toolchains coing with distributions, will almost invariably be unsuitable for use with Buildroot: - they are mostly non-relocatable; - their sysroot is tainted with a lot of extra libraries. Especially, the toolchains coming with Ubuntu (really, all the Debian familly of distros) are configured with --sysroot=/ which makes them non-relocatable, and they already contain quite some libraries that conflict (in any combination of version, API or ABI) with what Buildroot wants to build (i.e. extra libraries, some not even present in Buildroot...) but also their mere preence when Buildroot does not expect them to be already built (so that a package would enable features when it should not). So, try to detect those toolchains and black-list them; inform the user that the toolchain is unusable for the reasons mentioned above. Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01toolchain-common: drop BR2_LARGEFILEGustavo Zacarias
It's now unused so remove it. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01toolchain: remove LARGEFILE selectsGustavo Zacarias
There's no need for toolchains or the user to declare largefile support since it's now mandatory. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01toolchain-common: default to Y for LARGEFILEGustavo Zacarias
This will allow us to remove largefile handling in the tree without breaking things while doing so. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01toolchain/helpers: make LFS mandatory for uclibc toolchainsGustavo Zacarias
As discussed on the mailing list drop the non-largefile option for toolchains. The size delta is minimal and it just complicates package dependencies. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01toolchain/helpers: add check for mandatory uClibc optionsGustavo Zacarias
We currently only check that the Buildroot configuration matches what is available in the toolchain. Since we're going to remove the check for LFS and make it a mandatory feature, we will lose the corresponding buildroot option, so we won't be able to use check_uclibc_feature as-is. Introduce a magic value passed as the buildroot option name to recognise checks for mandatory uclibc options that do not have a corresponding option in buildroot. If the buildroot option name is empty then the check is against a mandatory uclibc option. If a mandatory uclibc option is missing we reject the toolchain as being unusable by buildroot. [Thomas: minor tweaks in comment, remove space instead of tab.] Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-25toolchain: enable musl for shLionel Orry
The SuperH architecture is supported by the musl libc since some time now, so let's enable it. Tested via qemu_sh4_r2d_defconfig. Signed-off-by: Lionel Orry <lionel.orry@gmail.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-19toolchain: enable musl for aarch64Gustavo Zacarias
musl 1.1.7 brings in experimental aarch64 support so enable it. Tested via qemu_aarch64_virt_defconfig. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-03-17toolchain: disable internal for blackfinGustavo Zacarias
The internal toolchain was a "best effort" approach - we strived to make it build properly and all but it's mostly untested. Since it's got issues disable it until it's properly fixed and tested and leave the official ADI toolchain instead. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-16toolchain-external: add Synopsys DesignWare tools for ARC coresAlexey Brodkin
With this change we add pre-built external toolachins for DesignWare ARC cores. All currently existed flavours are supported: * ARC 700 and ARC HS cores * Little- and big-endian configurations These pre-built tools are built with build scripts available here (https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/tree/arc-2014.12) and correspond to arc-2014.12 release of sources. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Cc: Anton Kolesov <akolesov@synopsys.com> Cc: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-03-15toolchain-external: fix support for non-ADI Blackfin external toolchainsThomas Petazzoni
The computation of TOOLCHAIN_EXTERNAL_BIN has a special case for Blackfin, where it's set to $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/$(TOOLCHAIN_EXTERNAL_PREFIX)/bin instead of $(TOOLCHAIN_EXTERNAL_INSTALL_DIR)/bin for other architectures. However, this is actually only true for Analog Devices pre-built toolchains. Other Blackfin external toolchains (such as ones built by Buildroot) do not have this special organization. Therefore, in order to make those non-ADI Blackfin toolchains work, we need to change the condition from BR2_bfin to testing specifically for the ADI toolchains. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-10Remove trailing slash from all package site URLsLuca Ceresoli
The recommended form is without the trailing slash. Buildroot will add a slash between FOO_SITE and FOO_SOURCE as appropriate. Reported-by: Arnout Vandecappelle <arnout@mind.be> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-03-07toolchain: add link-time-optimization supportPeter Kümmel
Add a new option BR2_GCC_ENABLE_LTO that builds gcc and binutils with LTO support. Individual packages still have to enable LTO explicitly by passing '-flto' to GCC, which passes it on to the linker. This option does not add that flag globally. Some packages detect if the compiler supports LTO and enable the flag if it does. To support LTO, ar and ranlib must be called with an argument which triggers the usage of the LTO plugin. Since GCC doesn't call these tools itself, it instead provides wrappers for ar and ranlib that pass the LTO arguments. This way existing Makefiles don't need to be changed for LTO support. However, these wrappers are called <tuple>-gcc-ar which matches the pattern to link to the buildroot wrapper in the external toolchain logic. So the external toolchain logic is updated to provide the correct symlink. [Thomas: - Add a separate BR2_BINUTILS_ENABLE_LTO option to enable LTO support in binutils. This is a blind option, selected by BR2_GCC_ENABLE_LTO. It just avoids having binutils.mk poke directly into gcc Config.in options. - Remove the check on the AVR32 special gcc version, which we don't support anymore. - Adapt the help text of the LTO Config.in option to no longer mention "Since version 4.5", since we only support gcc >= 4.5 in Buildroot anyway. - Fix typo in toolchain-external.mk comment.] Signed-off-by: Peter Kümmel <syntheticpp@gmx.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-04toolchain-external: add CodeSourcery AMD64 2014.05Gustavo Zacarias
This toolchain is AMD64-only so restrict it accordingly. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-04arch: add support for AMD steamrollerGustavo Zacarias
Add support for AMD steamroller optimizations, available in gcc 4.8+ as bdver3. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-04toolchain/external: remove xilinx microblaze v2/14.3 toolchainsGustavo Zacarias
These have been deprecated since 2014.02 Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-04toolchain/buildroot: default to glibc where possible/convenientGustavo Zacarias
Default to glibc over eglibc where it's possible and/or convenient. Since the eglibc project is basically gone and merged with glibc it doesn't make sense to keep defaulting to it for architectures that aren't uClibc-capable. Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-02Merge branch 'next'Peter Korsgaard
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>