Commit Graph

125 Commits

Author SHA1 Message Date
Thomas Petazzoni
d75e573e93 toolchain-external: update Linaro AArch64 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-09 16:07:29 +02:00
Thomas Petazzoni
bb58fafbd9 toolchain-external: update Linaro ARM toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-09 16:06:32 +02:00
Thomas Petazzoni
692a585d84 toolchain-external: improve help text of some options
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-09 16:02:38 +02:00
Thomas Petazzoni
a1d94aaa3a toolchain-external: add support for musl C library
This commit adds support for external toolchains based on the musl C
library, as available from http://www.musl-libc.org.

Note that the pre-built musl toolchains available from
http://musl.codu.org/ are not working for the moment, since they lack
sysroot support. However, this problem has been reported to the
maintainer, who has already added sysroot support in his scripts at
https://bitbucket.org/GregorR/musl-cross, and therefore the next
version of the pre-built toolchains should work with Buildroot
out-of-the-box. In the mean time, the musl-cross script must be used
to build the toolchain.

[Peter: reword comment]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-09 16:01:25 +02:00
Thomas Petazzoni
2020c9a957 toolchain: update Linaro AArch64 external toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 23:32:31 +02:00
Thomas Petazzoni
2281fe95ca toolchain: update Linaro ARM external toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 23:28:17 +02:00
Thomas Petazzoni
c5866be0ad toolchain: refactor Stack Smashing Protection support
This commit refactors how Stack Smashing Protection support is handled
in Buildroot:

 *) It turns the BR2_TOOLCHAIN_BUILDROOT_USE_SSP option into an option
    that only enables the SSP support in uClibc, when using the internal
    toolchain backend.

 *) It adds an hidden BR2_TOOLCHAIN_HAS_SSP option that gets enabled
    when the toolchain has SSP support. Here we have the usual dance:
    glibc/eglibc in internal/external backend always select this
    option, in the case of uClibc/internal, it gets selected when
    BR2_TOOLCHAIN_BUILDROOT_USE_SSP is enabled, in the case of
    uClibc/external, there is a new configuration option that the user
    must select (or not) depending on whether the toolchain has SSP
    support.

 *) It adds a new options BR2_ENABLE_SSP in the "Build options" menu,
    to enable the usage of SSP support, by adding
    -fstack-protector-all to the CFLAGS.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-15 23:02:57 +02:00
Ezequiel Garcia
d1de1c0d1f toolchain-external: Add Sourcery CodeBench for Nios-II
This commit adds the pre-built Sourcery CodeBench toolchains
currently available for the Nios-II architecture.

Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-09-02 21:39:35 +02:00
Markos Chandras
6f70ba3bed toolchain-external: Restrict Sourcery CodeBench toolchains for MIPS/n32
n32 is not supported in Sourcery CodeBench toolchains.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-13 11:56:44 +02:00
Thomas Petazzoni
ea6b277539 toolchain-external: update config options after EABIhf introduction
The introduction of the EABIhf ABI requires a few updates to the
configuration options for external toolchains, in order to ensure that
the user doesn't do any invalid selection. In detail:

 * The Linaro ARM toolchains now depend on BR2_ARM_EABIHF, because
   that's the ABI they use, and it is incompatible with EABI. The
   comment about the availability of Linaro toolchains is updated to
   inform users selecting EABI that they should select EABIhf if they
   want to see Linaro toolchains.

 * The Sourcery CodeBench toolchains now depend on BR2_ARM_EABI,
   because that's the ABI they use. A comment is added to inform users
   that have selected EABIhf that Sourcery CodeBench are only
   available when EABI is used.

 * The Arago toolchains now depend on BR2_ARM_EABI, because that's the
   ABI they use. The description of the ARMv7 Arago toolchain is also
   slightly improved.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 15:19:53 +02:00
Jan Viktorin
cd34446835 Make the microblaze toolchains easily distinguishable
It was confusing to have two different toolchains with the
same label.

Signed-off-by: Jan Viktorin <xvikto03@stud.fit.vutbr.cz>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-08 23:09:49 +02:00
Thomas Petazzoni
381616e77a Introduce BR2_TOOLCHAIN_USES_{UCLIBC, GLIBC}
Currently, when we need to do a conditional on the type of C library
used, we need to take into account the three toolchain backends. As we
are going to add eglibc support to the Buildroot toolchain backend, it
would become even uglier, so this patch introduces two new hidden
options: BR2_TOOLCHAIN_USES_UCLIBC and BR2_TOOLCHAIN_USES_GLIBC, that
exist regardless of the toolchain backend. The entire Buildroot code
base is converted to use those options.

Note that we have intentionally created only one option
(BR2_TOOLCHAIN_USES_GLIBC) for both glibc and eglibc, since they are
essentially the same, as far as Buildroot is concerned.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 09:08:42 +02:00
Thomas Petazzoni
164f9fef0f toolchain-external: bump to Linaro AArch64 2013.06
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-23 21:55:55 +02:00
Thomas Petazzoni
88d9d17d97 toolchain-external: bump to Linaro ARM 2013.06
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-23 21:55:42 +02:00
Sonic Zhang
8b4ade86aa toolchain-external: Install blackfin FDPIC and FLAT libraries
For certain situations, users may want to install shared FLAT
libraries to the target filesystem even if FDPIC is used as the
primary binary format, or symmetrically users may want to install FDPIC
libraries to the target filesystem even if shared FLAT is used as the
primary binary format.

This commit allows that by:

 * Offering additional Kconfig options to install shared FLAT or FDPIC
   libraries even when those libraries are not selected as the primary
   binary format.

 * Preserving all Blackfin toolchain folders under the
   TOOLCHAIN_EXTERNAL_DIR, instead of keeping only the one related to
   the selected binary format.

 * Adding some additional install targets that do the installation of
   either the shared FLAT or FDPIC libraries when requested.

[Thomas: refactored code, adjusted commit log]
Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:07:40 +02:00
Thomas Petazzoni
f3d6e6cfd7 toolchain-external: add arch conditionals on Arago ARMv5TE toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:05:36 +02:00
Thomas Petazzoni
c5f87f72f5 toolchain-external: use BR2_GCC_TARGET_ARCH for toolchain conditionals
Instead of a long list of the ARMv7-A Cortex-A, use a conditional
based on BR2_GCC_TARGET_ARCH to hide/show toolchains that are only
usable on ARMv7-A.

However, in the comment related to Linaro toolchains, we keep
mentioning Cortex-A{5,8,9,15} because that's what users see when they
select their architecture variant.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:04:37 +02:00
Thomas Petazzoni
2592f256a1 toolchain-external: add support for Arago 2011.09 ARMv5
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:04:12 +02:00
Thomas Petazzoni
93d2b247f9 toolchain-external: add support for Arago 2011.09 ARMv7A
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:03:49 +02:00
Thomas Petazzoni
405127d7c9 toolchain-external: bump Linaro AArch64 toolchains to 2013.04 and 2013.05
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:01:55 +02:00
Thomas Petazzoni
ea25177384 toolchain-external: bump Linaro ARM toolchains to 2013.04 and 2013.05
We add support for Linaro 2013.04 and Linaro 2013.05 and remove
support for Linaro 2013.01 and Linaro 2013.02.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:01:36 +02:00
Markos Chandras
4d34fb7c62 toolchain-external: Version bump to 2013.05 release for MIPS
Remove old 2011.09 release. Allow MIPS64 cores on
2013.05 release since they are supported by the toolchain.

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-10 23:12:42 +02:00
Peter Korsgaard
1ba51d2fbd Merge branch 'next' 2013-06-02 16:33:05 +02:00
Fabio Porcedda
9af20485d4 toolchain-external: remove support for 'Sourcery CodeBench ARM 2011.03'
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-28 00:00:30 +02:00
Fabio Porcedda
786700eebe toolchain-external: add support for 'Sourcery CodeBench ARM 2013.05'
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-27 23:59:54 +02:00
Sonic Zhang
f8a9c13252 toolchain: blackfin: Remove Blackfin toolchain 2011R1 release.
ADI officially supports the buildroot and related GNU toolchain for
Blackfin since ADI's 2012R1 release only. In order to avoid confusion,
it is better to remove the 2011R1 GNU toolchain for Blackfin. In
addition, the 2011R1 GNU toolchain for Blackfin doesn't support the
BF60x processors.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-27 23:51:31 +02:00
Sonic Zhang
57133825c9 arch: toolchain: Introduce binary formats BINFMT_*.
Just introduce the symbol and options in arch generic Config.in.
Append FLAT format link flags to external toolchain wrapper.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-05 22:46:37 +02:00
Thomas Petazzoni
a0b6faaab4 gdb: convert to the package infrastructure
This commit converts gdb to the package infrastructure, and therefore
moves it from toolchain/gdb to package/gdb.

The target package is now visible in "Package selection for the
target" => "Debugging, profiling and benchmark". The main option,
"gdb", forcefully selects the "gdbserver" sub-option by
default. Another sub-option, "full debugger" allows to install the
complete gdb on the target. When this option is enabled, then
"gdbserver" is no longer forcefully selected. This ensures that at
least gdbserver or the full debugger gets built/installed, so that the
package is not a no-op.

The host debugger is still enabled through a configuration option in
"Toolchain". It is now visible regardless of the toolchain type (it
used to be hidden for External Toolchains). The configuration options
relative to the host debugger are now in package/gdb/Config.in.host,
similar to how we have package/binutils/Config.in.host.

Since gdb is now a proper package, it is no longer allowed to 'select
BR2_PTHREADS_DEBUG' to ensure thread debugging is available when
needed. Instead, it now 'depends on
BR2_TOOLCHAIN_HAS_THREADS_DEBUG'. This option, in turn, is selected by
the different toolchain backends when appropriate. The
'BR2_TOOLCHAIN_HAS_THREADS_DEBUG_IF_NEEDED' option is removed, since
we no longer need to know when it is allowed to 'select
BR2_PTHREADS_DEBUG'. Also, the 'BR2_PTHREADS_DEBUG' option is moved to
appear right below the thread implementation selection (in the case of
the Buildroot toolchain backend).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:46:32 +02:00
Peter Korsgaard
c1a6f6863a toolchain-external: Only show MICROBLAZEBE_14_3 toolchain for BE systems
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 07:52:02 +02:00
Thomas Petazzoni
8d8a73fae1 toolchain-external: fix typo in Blackfin toolchain config option
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:49:15 +02:00
Thomas Petazzoni
4a03796450 toolchain-external: update AArch64 Linaro toolchains
Add the AArch64 Linaro toolchains 2013.02 and 2013.03, remove 2012.11
and 2012.12.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:49:04 +02:00
Thomas Petazzoni
79828fc01d toolchain-external: update ARM Linaro toolchains
Add the ARM Linaro toolchains 2013.02 and 2013.03, remove 2012.11 and
2012.12.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:48:33 +02:00
Thomas Petazzoni
313094d787 toolchain-external: add new Microblaze toolchains
The existing Microblaze toolchains that we have have the annoying
property of being based on a very old glibc version: 2.3.6. Xilinx
provides newer toolchains with glibc 2.14, generated by Crosstool-NG,
but they are only available as part of a huge Git repository that
contains the gcc, Linux, binutils, glibc sources unpacked (4.4 GB
total), which makes is very unpractical.

I contacted the Xilinx person who did those toolchains, but they
apparently didn't intend to change that anytime soon.

So, we have created a tarball for those toolchains, adding a
README.txt file in the tarball that points back to the original
location that contains the source code for them. Those tarballs are
hosted on sources.buildroot.net.

This commit then adds support for those two new external toolchains,
one for little endian Microblaze, another one for big endian
Microblaze.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-23 00:12:14 +01:00
Thomas Petazzoni
1382af876b toolchain-external: remove support for AArch64 Linaro 2012.10 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 17:35:53 +01:00
Thomas Petazzoni
7bf0e3538f toolchain-external: add support for AArch64 Linaro 2013.01 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 17:35:31 +01:00
Peter Korsgaard
a84075b5f4 toolchain-external: add linaro 2013.01, remove 2012.10
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 13:42:03 +01:00
Gustavo Zacarias
82e39a2900 blackfin: add 2012r2 and remove 2010rc1 toolchains
Remove the old 2010RC1 toolchain and add the new 2012R2-RC2 toolchain.
On related good news the new toolchain fixes:
http://autobuild.buildroot.net/results/eac5bd4f4766d98431e72a3c81492a962c85fa98/
since it's got unshare() support now.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 08:26:40 +01:00
Thomas Petazzoni
2d16ba9162 toolchain-external: use BR2_HOSTARCH_NEEDS_IA32_LIBS where needed
All supported pre-built external toolchains are built for x86 Linux,
so we add the BR2_HOSTARCH_NEEDS_IA32_LIBS select.

[Peter: microblaze toolchains are 64bit]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:37:23 +01:00
Thomas Petazzoni
4eff1f2064 toolchain-external: add dependency on BR2_HOST_ARCH
The pre-build external toolchains are all built for x86, so they are
only available if the build machine is a x86 or x86-64 machine.

[Peter: microblaze toolchains are 64bit]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-06 21:32:54 +01:00
Thomas Petazzoni
2534754102 toolchain-external: remove support for 'Linaro ARM 2012.09'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:50 +01:00
Thomas Petazzoni
e658cdf1ad toolchain-external: add support for 'Linaro ARM 2012.12'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:10 +01:00
Thomas Petazzoni
8fa0a06d5b toolchain-external: add support for 'Linaro AArch64 12.12'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:24:04 +01:00
Thomas Petazzoni
6a0adcec31 toolchain-external: add support for 'Linaro AArch64 12.11'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:23:44 +01:00
Thomas Petazzoni
7feaa991b5 toolchain-external: remove support for 'Sourcery CodeBench MIPS 2011.03'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:23:05 +01:00
Thomas Petazzoni
7540ef8887 toolchain-external: remove support for 'Sourcery CodeBench MIPS 4.4'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:22:56 +01:00
Thomas Petazzoni
8de1f57e66 toolchain-external: add support for 'Sourcery CodeBench MIPS 2012.09'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:22:23 +01:00
Thomas Petazzoni
60e26e3b1b toolchain-external: add support for 'Sourcery CodeBench MIPS 2012.03'
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-21 09:21:51 +01:00
Thomas Petazzoni
16dcf2d668 toolchain-external: Linaro toolchains are available for Cortex-A{5, 15}
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-10 10:41:35 +01:00
Thomas Petazzoni
90f763c77d toolchain-external: on ARM, show comment about the availability of Linaro toolchains
On ARM, Linaro external toolchains are only visible if the user
selects Cortex-A8 or Cortex-A9. Therefore, we add a comment that tells
the user that the Linaro toolchains are only available under those
conditions.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:11:45 -08:00
Thomas Petazzoni
ba60360e41 toolchain-external: remove Linaro 2012.08
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-27 17:11:41 -08:00