Commit Graph

1978 Commits

Author SHA1 Message Date
Gustavo Zacarias
eeaf658c98 eglibc: needs MMU
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-08-10 10:43:21 +02:00
Thomas Petazzoni
0f3a6bf8c4 Revert "uClibc: Add uClibc patch to fix MIPS64/n64 interpreter"
This reverts commit 1c834dd1ce.

This patch has been mistakenly applied, while a new version of it had
already been merged. Thanks Gustavo for noticing.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-31 14:10:34 +02:00
Markos Chandras
1c834dd1ce uClibc: Add uClibc patch to fix MIPS64/n64 interpreter
uClibc picks the wrong interpreter for MIPS64/n64.
This patch fixes this problem by checking the selected
MIPS ABI instead of the MIPS variant.

This patch was sent upstream:
http://lists.uclibc.org/pipermail/uclibc/2013-July/047838.html

Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-30 23:29:40 +02:00
Thomas De Schampheleire
650106b52e toolchain-external: support toolchains with lib32 directories
Some toolchains, like the Cavium Networks' one, have lib32/ and lib64/
directories, while the standard lib/ is empty. To find libc.a, buildroot
currently only looks in lib/ and lib64/. This patch extends the search
to lib32/ as well.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 16:28:24 +02:00
Gustavo Zacarias
808cc0a5e1 toolchain/buildroot: properly handle SSP
The current SSP handling is incomplete.

First we need to build uClibc with SSP support for a complete
"experience".

Second, it doesn't hurt to add -fstack-protector-all to the
CFLAGS/CXXFLAGS since most users would expect buildroot to do this
rather than adding the flags themselves.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-07-27 13:16:50 +02:00
Spenser Gilliland
aa86b52ca3 ext-toolchain-wrapper: fix uboot/linux with hardfp
The linux kernel and uboot specify -msoft-float in order to prevent floating
point code from being generated.  This causes a conflict when -mfloat-abi=hard
or -mfloat-abi options are specified in the wrapper. This patch removes the
-mfloat-abi option from the options generated by the wrapper only when
-msoft-float, -mhard-float or -mfloat-abi are specified by the user.

[Peter: fix !BR_FLOAT_ABI case, simplify]
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-21 00:58:55 +02:00
Spenser Gilliland
27c9370344 ext-toolchain-wrapper: fix typo on s/BR2_FPU/BR_FPU/
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-21 00:12:57 +02:00
Jerzy Grzegorek
e0d9d33cc2 fix white spaces
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-20 21:13:57 +02:00
Yann E. MORIN
aaa06aaa82 toolchain: instrument external toolchain wrapper
If BR_DEBUG_WRAPPER is set in the envirnment, dump the actual command
being exec()uted, to ease debugging issues with the wrapper.

[Peter: adjust code style and output format to be cut'n'paste compatible]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-19 08:32:39 +02:00
Thomas Petazzoni
f50eff3401 toolchain/toolchain-external: don't use x$(...) construct or ==
With modern shells, we can simply do test using the "$(...)" = "value"
form. This commit gets rid of the x$(...) = x"value" constructs and
replaces == by =, which is the correct operator to test the equality
of two strings with the test program.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-18 00:25:06 +02:00
Thomas Petazzoni
b2e88073db toolchain: check ARM EABI vs. EABIhf for external toolchains
Following the introduction of the support of EABIhf as a second ARM
ABI, it is important to check whether the external toolchain provided
by the user actually uses the ABI that has been selected in the
Buildroot configuration. This commit introduces such a check by
looking at the 'Tag_ABI_VFP_args' tag of the architecture-specific
section of the ELF headers. This assumes that ELF is the binary format
used on ARM, which may not be the case on ARM noMMU systems (they use
the FLAT binary format), but Buildroot doesn't have support for such
systems at the moment.

Also ensure the correct CFLAGS are passed to the cross compiler for the
test, so the correct variant is used in case the toolchain is multilib.

[Peter: mention CFLAGS change]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-18 00:22:40 +02:00
Thomas Petazzoni
0bbbcb96db toolchain/helpers: don't use the x$(...) = x"value" syntax
As noted by Yann E. Morin, the x$(...) = x"value" syntax is old and
ugly, and the easier to read "$(...)" = "value" can now be used
without problems.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-17 22:51:04 +02:00
Thomas Petazzoni
85d0769ac5 arch/arm: add support for Thumb2
Until now, we were using the default ARM instruction set, as used by
the toolchain: the 32 bits ARM instruction set for the internal
backend, and for external toolchain, whatever default was chosen when
the toolchain was generated.

This commit adds support for the Thumb2 instruction set. To do so, it:

 * provides a menuconfig choice between ARM and Thumb2. The choice is
   only shown when Thumb2 is supported, i.e on ARMv7-A CPUs.

 * passes the --with-mode={arm,thumb} option when building gcc in the
   internal backend. This tells the compiler which type of
   instructions it should generate.

 * passes the m{arm,thumb} option in the external toolchain
   wrapper. ARM and Thumb2 code can freely be mixed together, so the
   fact that the C library has been built either ARM or Thumb2 and
   that the rest of the code is built Thumb2 or ARM is not a problem.

[Peter: fix empty BR2_GCC_TARGET_MODE check]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 15:28:03 +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
Thomas Petazzoni
d806005b08 toolchain: remove the old BR2_VFP_FLOAT option
Now that we have a much better way of selecting between the various
VFP versions and capabilities, the BR2_VFP_FLOAT version no longer
makes sense. This commit gets rid of it, and adds the appropriate
Config.in.legacy code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 15:13:57 +02:00
Thomas Petazzoni
9b3e72b4fd arch: Refactor BR2_SOFT_FLOAT into per-architecture options
As we are going to introduced a more advanced support of floating
point options for the ARM architecture, we need to adjust how the
soft-float option is handled. We replace the current hidden option
BR2_PREFER_SOFT_FLOAT option and the visible BR2_SOFT_FLOAT option by:

 * A global hidden BR2_SOFT_FLOAT option, defined in arch/Config.in,
   that tells whether the architecture-specific code is using software
   emulated floating point. This hidden option can be used throughout
   Buildroot to determine whether soft float is used or not.

 * Per-architecture visible BR2_<arch>_SOFT_FLOAT options, for the
   architecture for which it makes sense, which allows users to select
   soft float emulation when needed.

This change will allow each architecture to have a different way of
presenting its floating point capabilities.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 14:35:07 +02:00
Thomas Petazzoni
d774551787 arch: introduce BR2_GCC_TARGET_{FPU, FLOAT_ABI}
Buildroot already has the BR2_GCC_TARGET_{TUNE,ARCH,ABI,CPU} hidden
kconfig strings that allow per-architecture Config.in files to feed
the appropriate values of --with-{tune,arch,abi-cpu} when building
gcc, or the appropriate flags for the external toolchain wrapper.

This commit has two additional options:
BR2_GCC_TARGET_{FPU,FLOAT_ABI}, that allows to define the
--with-{fpu,float} gcc configure options for the internal backend, or
the -m{fpu,float-abi} options for the flags of the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 13:44:00 +02:00
Yann E. MORIN
95bfc99fb1 toolchain/helpers: only check for an EABI toolchain
... since we only support EABI now.

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>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-14 22:18:13 +02:00
Yann E. MORIN
e3923dd1bf toolchain/helpers: ARM OABI is no longer supported
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>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-14 22:16:07 +02:00
Peter Korsgaard
24262cd561 toolchain-external: fix bfin external toolchain download
Fixes http://autobuild.buildroot.org/results/7d0/7d0eee796407880a4554474e5affbe98b8caa271/

Commit 1cbffbd (eliminate double slashes caused by FOO_SITE ending in
a slash) added a double replacement for the special bfin external
toolchain download, breaking it.

Fix it by removing the 2nd replacement.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-11 07:14:44 +02:00
Thomas Petazzoni
748b45ab57 toolchain: disable C++ support on AVR32 gcc 4.2 with uClibc
In 25c3160092 ("uClibc 0.9.31: remove stray kludges/conditions"), a
conditional that prevents the combination gcc 4.2-avr / C++ / locale
with uClibc 0.9.31 was removed. However, it turns out that the same
problem is affecting uClibc 0.9.33, described at
http://comments.gmane.org/gmane.comp.lib.uclibc.buildroot/24260.

Therefore, we prevent the combination of gcc 4.2-avr / C++ / locale to
happen.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-08 23:10:29 +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
8d29893893 eglibc: enable support in the Buildroot toolchain backend
Using the newly introduced 'eglibc' package, this commit enables the
option of building a toolchain using the eglibc C library in the
Buildroot toolchain backend.

In details, this commit:

 * Creates a choice to select uClibc or eglibc in the Buildroot
   toolchain backend (in toolchain/toolchain-buildroot/Config.in), and
   removes the fact that the Buildroot toolchain backend forcefully
   enables uClibc (toolchain/Config.in).

 * Creates a BUILDROOT_LIBC variables, which points to the package
   implementing the C library (i.e either 'uclibc' or 'eglibc').

 * Modifies the gcc-final and gcc-intermediate makefiles to use the
   BUILDROOT_LIBC variable instead of hardcoding the use of uclibc.

 * Ensures that TLS support is always enabled when building eglibc.

[Peter: fix commit text to refer to BUILDROOT_LIBC]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 11:08:27 +02:00
Thomas Petazzoni
095fa7d875 uclibc: move configuration options into the package
In preparation for the introduction of the eglibc library to the
internal toolchain backend, the options that allow to enable/disable C
library features such as largefile, IPv6, RPC and so on now belong to
the uClibc package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 10:33:56 +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
e57e4b96bf Use more sensible names for the external/ctng targets
Instead of using the 'uclibc' target for all toolchain backends,
introduce more sensible target names for the external toolchain and
Crosstool-NG toolchain backend make targets.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 00:14:10 +02:00
Thomas Petazzoni
a5e92d92e7 uclibc: convert to the package infrastructure
[Peter: update manual to match]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-04 00:13:23 +02:00
Thomas Petazzoni
e236fe481e toolchain: switch to using gcc through package infrastructure
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 23:00:02 +02:00
Thomas Petazzoni
7f240d984b kernel-headers: migrate to the package infrastructure
[Peter: fix file header]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 22:45:14 +02:00
Thomas Petazzoni
e21db00026 elf2flt: convert to the package infrastructure
[Peter: Correct legacy position]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 22:09:12 +02:00
Peter Korsgaard
8a3992e897 kernel-headers: bump 3.0.x / 3.4.x / 3.9.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 21:08:21 +02:00
Thomas Petazzoni
39a38a554c toolchain/gcc: get rid of stale variable reference
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 08:41:40 +02:00
Thomas Petazzoni
6d22f56ed8 toolchain: remove references to LIBFLOAT_TARGET
The libfloat package was removed in
accbd71154, and therefore since this
commit, the LIBFLOAT_TARGET variable is always empty. We get rid of
the stale references to this variable.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 08:40:24 +02:00
Thomas Petazzoni
1f6d92d2ce toolchain/gcc: remove dead code related to host binary stripping
The GCC_STRIP_HOST_BINARIES variable was always defined to 'nope',
which means that the host binaries were never stripped. Get rid of the
corresponding code, which is not in use.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-03 08:28:15 +02:00
Thomas Petazzoni
7557753334 uClibc: KERNEL_SOURCE no longer exists
The KERNEL_SOURCE configuration option no longer exists in uClibc, so
there's no point in setting it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-02 23:49:45 +02:00
Gustavo Zacarias
5e6e92bc6b kernel-headers: bump 3.{0, 4, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-28 11:34:58 +02:00
Gustavo Zacarias
0056b811f7 toolchain/uClibc: properly honor DEBUG and STRIP options
The default uClibc configurations strip the resulting binaries/libraries
and don't add debug symbols which is a problem when wanting to debug
issues.
Bind the buildroot BR2_STRIP_* option to uClibc .config DO_STRIP and
BR2_ENABLE_DEBUG to uClibc DO_DEBUG.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-27 21:58:06 +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
Gustavo Zacarias
6e9686419f kernel-headers: bump 3.{0, 4, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-23 21:33:44 +02:00
Alexandre Belloni
95442bb324 Normalize separator size to 80 in remaining makefiles
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-20 17:32:07 +02:00
Peter Korsgaard
1c9c40d53b kernel-headers: bump 3.2.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-19 20:23:09 +02:00
Gustavo Zacarias
25c3160092 uClibc 0.9.31: remove stray kludges/conditions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-17 13:08:37 +02:00
Kelvin Cheung
9d19151351 arm: update processor types
Update arm architecture variant: add the cortex A7.

Signed-off-by: Kelvin Cheung <keguang.zhang@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-16 21:12:36 +02:00
Gustavo Zacarias
4aa71bba79 kernel-headers: bump 3.{0, 4, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-14 13:15:22 +02:00
Gustavo Zacarias
8abb5b33c1 toolchain/uClibc: remove deprecated version 0.9.31
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-12 22:38:45 +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
Patrick Ziegler
9d5e6fa2fd ext-toolchain-wrapper: force hash-style to 'both'
If ext-toolchain-wrapper was built with a gcc that uses hash-style 'gnu' by
default, the resulting binary might be unusable on other systems. The error
in this case is "Floating point exception".
Using hash-style 'both' solves this issue.

Signed-off-by: Patrick Ziegler <patrick.ziegler@fh-kl.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-11 00:06:30 +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
Gustavo Zacarias
b0e0ec04d5 kernel-headers: bump 3.{0, 2, 4, 9}.x stable version
And mark 3.8.x series as deprecated to match upstream.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-08 21:50:10 +02:00
Jerzy Grzegorek
086f333f39 Normalize separator size to 80
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-07 10:54:54 +02:00
Jerzy Grzegorek
35c5c6f6c7 Fix package headers
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-07 10:53:32 +02:00
Peter Korsgaard
1ba51d2fbd Merge branch 'next' 2013-06-02 16:33:05 +02:00
Patrick Ziegler
74ae7af927 ext-toolchain-wrapper: fix paths if executable was resolved by PATH
If ext-toolchain-wrapper or any symbolic link to it was resolved by PATH,
the wrapper takes the working directory to calculate the relative paths.

Now '/proc/self/exe' is used to resolve the absolute path to the toolchain
directory if the wrapper was called neither with a relative nor an absolute
path.

[Peter: fix off-by-one, swap value == var checks around]
Signed-off-by: Patrick Ziegler <patrick.ziegler@fh-kl.de>
Tested-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-31 22:05:44 +02:00
Peter Korsgaard
ed09a3601d gcc: bump 4.8.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-31 13:57:17 +02:00
Gustavo Zacarias
fb1419bedd kernel-headers: bump 3.{0, 4, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-28 23:47:29 +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
Thomas Petazzoni
32a5968999 Remove useless CVS related files
Fixes bug #5912.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-27 23:59:09 +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
Thomas Petazzoni
517de29c52 gcc: fix gcc 4.8 build when thread support is disabled
When thread support is disabled, the libitm and libatomic libraries
from gcc should be disabled, otherwise, the build of gcc fails.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-27 23:51:05 +02:00
Thomas Petazzoni
85e3090a92 elf2flt: fix build when zlib is not installed on the host
For a reason that's fairly unclear to me, Peter added a '-lz' link
flag to the elf2flt.mk build in d5664ee99 ("elf2flt: fix link").

However, the zlib library may not necessarily be installed on the host
machine, so we should depend on host-zlib, and pass the appropriate
LDFLAGS. This is what this patch does.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-27 23:50:54 +02:00
Thomas Petazzoni
7c6232658a toolchain/gcc: the ARC version of gcc needs host-flex/host-bison
For some reason (probably because the ARC changes modify some lex/yacc
files without updating their pre-generated variants, or because the
date/time of the pre-generated files is not correct), building the ARC
gcc requires host-flex and host-bison.

We have tested 4.2 for AVR, 4.3 and 4.4 for ARM, and none of those
need host-flex or host-bison to be installed, so only the 4.4 for ARC
seems to be affected.

Fixes the build failure visible at
http://autobuild.buildroot.org/results/673c6262e3dde8ee8dd28204d814097e6ba8f8e9/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-12 22:22:18 +02:00
Mischa Jonker
671bd04685 toolchain/gcc: make sure to pass $(HOST_DIR)/usr/bin in the PATH
Since gcc doesn't use the package infrastructure, it doesn't get all
the good generic environment variables, and forgets to get
$(HOST_DIR)/usr/bin in its PATH. This prevents gcc from finding and
using host tools built by Buildroot.

This patch therefore ensures that $(HOST_MAKE_ENV) or
$(TARGET_MAKE_ENV) are passed at the appropriate locations. It will be
useful for a later patch that makes gcc depend on host-flex/host-bison
in some situations.

Original patch by Thomas Petazzoni.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-12 22:22:00 +02:00
Gustavo Zacarias
e7dce165ab kernel-headers: bump 3.{0, 4, 8, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-12 21:43:42 +02:00
Raúl Sánchez Siles
98b5cc3eb4 Choose xz compressed tarball for linux kernel.
Prefer xz compressed tarball so some bandwidth is saved for kernel headers
and kernel itself downloads.

Signed-off-by: Raúl Sánchez Siles <rasasi78@gmail.com>
Reviewed-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-11 22:43:58 +02:00
Gustavo Zacarias
603293f5ff toolchain-external: fix bug #5054
The external toolchain logic checks (and finds) the proper ARCH_LIB_DIR
and forcibly copies it to */lib even if it's in */lib64
This is all well until the check is done for create_lib64_symlinks which
only verifies if ARCH_SYSROOT_DIR/lib64 is a symlink, which in some
toolchain it's a real directory (like sourcery x86_64 2012.09) and thus
doesn't make the symlink in the target.

Fix this by also checking for a real directory.

Easily reproducible by running "make qemu_x86_64_defconfig", switching
to an external toolchain before build, building and then trying to run
the resulting image.

Closes bug #5054

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-11 21:52:22 +02:00
Gustavo Zacarias
7953826e8d kernel-headers: bump 3.{0, 4, 8, 9}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-08 12:47:43 +02:00
Yann E. MORIN
8fda9b7813 toolchain/crostool-NG: mark as deprecated
For the following reasons:
  - it used to be broken without anyone noticing for a long time,
  - it is still not fully integrated within the Buildroot set of options,
  - it has not gained much traction (not even I use it),
  - I've always argued that sustained development should use an external
    toolchain, and not rely on building one with Buildroot,
  - I did not submit any of the enhancements requested during the last
    developpers' day in Brussels,
  - I have neither the incentive nor the time to maintain and enhance it,

it is time to deprecate the crosstool-NG backend for the 2013.05 release.

Then, it will be entirely removed early in the 2013.08 cycle, to let some
time for those that rely on it to voice their opinions. ;-)

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Peter Korsgaard <jacmet@uclibc.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-07 23:01:09 +02:00
Maxime Ripard
cccb01bf59 toolchain/gcc: Enable --with-float for powerpc
Commit 8d929f4b ("toolchain/gcc: Only enable --with-float when it makes
sense") restricted the --with-float use to only MIPS, ARM and SPARC,
while it seems that powerpc needs it as well.

Fixes the qemu_ppc_virtex_ml507_defconfig build.

Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-06 12:29:34 +02:00
Sonic Zhang
66d41890ec arch: toolchain: Introduce target CPU revision.
Adds the possibility to have a free-form CPU revision string and append it
to the target CPU. Only Blackfin actually uses this option.

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:49:50 +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
Mischa Jonker
40b17f8082 kernel-headers: Add support for ARC kernel headers
Also make sure that older kernels are not selected for ARC.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:24:02 +02:00
Mischa Jonker
ddcfc49350 toolchain/toolchain-buildroot: Disable NPTL for ARC
NPTL is not yet supported for ARC.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:21:31 +02:00
Mischa Jonker
8d929f4bb4 toolchain/gcc: Only enable --with-float when it makes sense
According to gcc/config.gcc, only ARM, MIPS and SPARC have the
"--with-float" option when configuring gcc.

[Peter: sort list]
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:21:31 +02:00
Mischa Jonker
a6e6bf3ef6 arc: Make sure that libgcc doesn't get included when it doesn't exist yet
For ARC, libgcc is always included, even when -nostdlib is given. This is
related to some small pieces of code that are not always generated by the
compiler; a call to libgcc is used in those cases instead.

During the initial stages of building the toolchain, this is a problem, as
libgcc does not exist yet. The ARC compiler supports -really-nostdlib to
override the default behavior.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:21:31 +02:00
Mischa Jonker
5de23bf875 arc: Add support for ARC-specific uClibc
[Peter: fix whitespace]
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:21:19 +02:00
Mischa Jonker
1ef17030d0 arc: add gcc for ARC
ARC needs a specific GCC for now, while we wait for ARC support to get
upstreamed.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:10:30 +02:00
Mischa Jonker
cb232b31ff arc: disable Crosstool-NG for ARC
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:09:07 +02:00
Gustavo Zacarias
8867c892ae kernel-headers: bump 3.{0, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-02 23:10:22 +02:00
Gustavo Zacarias
8f434ff274 toolchain/arm: add support for Marvell PJ4
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-29 22:22:49 +02:00
Peter Korsgaard
c322c57cc4 kernel-headers: bump 3.8.10, add 3.9
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-29 09:24:44 +02:00
Gustavo Zacarias
b526a80e6d kernel-headers: bump 3.{0, 2, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-26 12:58:49 +02:00
Gustavo Zacarias
a3efaabced kernel-headers: bump 3.{0, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-17 22:03:56 +02:00
Shawn J. Goff
1cbffbd015 eliminate double slashes caused by FOO_SITE ending in a slash
When a FOO_SITE variable ends in a slash and gets joined with a
FOO_SOURCE variable like $(FOO_SITE)/$(FOO_SOURCE), the resulting URI
has a double slash. While double-slashes are fine in unix paths, they
are reserved in URIs - the part following '//' must be an authority.

Signed-off-by: Shawn J. Goff <shawn7400@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-15 20:33:52 +02:00
Thomas Petazzoni
5dbb403815 toolchain-external: fix Linaro ARM URL
Commit 79828fc01d (toolchain-external:
update ARM Linaro toolchains) accidently broke the URL for the Linaro
2013.01 toolchain by replacing a .bz2 extension by .bz. This patch
fixes this problem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-13 20:10:50 +02:00
Peter Korsgaard
2f452bf11c toolchain/gcc: bump 4.6.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-13 09:40:01 +02:00
Gustavo Zacarias
4d73496230 kernel-headers: bump 3.{0, 2, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-13 00:26:28 +02:00
Thomas Petazzoni
e8fad4d95d toolchain-external: support more gdbserver locations
The x86/x86-64 CodeSourcery toolchains use some weird locations for
the gdbserver binary:

$ find . -name 'gdbserver'
./i686-pc-linux-gnu/libc/atom/usr/bin/gdbserver
./i686-pc-linux-gnu/libc/atom/usr/lib/bin/gdbserver
./i686-pc-linux-gnu/libc/core2/usr/bin/gdbserver
./i686-pc-linux-gnu/libc/core2/usr/lib64/bin/gdbserver
./i686-pc-linux-gnu/libc/usr/lib/bin/gdbserver
./i686-pc-linux-gnu/libc/usr/lib64/bin/gdbserver

Notice that it's sometimes hidden in a usr/{lib,lib64}/bin
directory. This patch changes the gdbserver logic to also try in this
location.

Originally based on work done by Daniel Nilsson, visible at
http://patchwork.ozlabs.org/patch/155767/.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:47:57 +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
Gustavo Zacarias
15ada1c184 toolchain/gcc: bump 4.7.x series to 4.7.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 21:18:54 +02:00
Gustavo Zacarias
9474421da3 toolchain/arm: drop generic and old, add fa526/626, unify strongarm
* Add Faraday FA526/626 as suggested on bug #1291
Note however that these cores are v4 and NOT v4t.

* Make the sa110 & sa1110 cores -> strongarm since they're the same.

* Drop all of the ARM variants lower than v4 including generic, there's
no point in supporting obsolete targets.

* Fix uClibc USE_BX logic, it was always on, this would break the new
FA526/626 support and broke StrongARM since it's a v4 core.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 09:22:48 +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
Peter Korsgaard
25b3af0a97 toolchain-external: get old microblaze toolchains from sources.buildroot.net
git.xilinx.com is no longer available (moved to github), and github
doesn't allow downloading the tarball blobs directly, so use a local
mirror on sources.buildroot.net instead.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-11 07:51:59 +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
Gustavo Zacarias
4c008d8e29 kernel-headers: bump 3.{0, 4, 8}.x stable version and EOL 3.7.x series
The 3.7.x series is EOLed upstream so match that marking it as
deprecated.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-10 11:46:59 +02:00
Gustavo Zacarias
8206d0a18d kernel-headers: bump 3.{0, 2, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-30 20:45:49 +01:00
Peter Korsgaard
02c26700f4 toolchain: default to gcc 4.7.x
With 4.8.x released, it makes sense to update our default gcc version
before 4.6.x becomes unmaintained.

At the same time simplify the kconfig logic a bit.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-25 19:50:22 +01:00
Gustavo Zacarias
62322acb2c toolchain/gcc: disable makeinfo
Newer versions of texinfo (>=5) break the gcc makeinfo routine, so just
disable it.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Vivien Didelot <vivien.didelot@savoirfairelinux.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 14:28:32 +01:00
Thomas Petazzoni
9c1eefa398 toolchain: update crosstool-NG project URL
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 14:06:41 +01:00
Thomas Petazzoni
69c50c5945 uClibc: add missing $(Q)
Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 13:42:01 +01:00
Thomas Petazzoni
f05104dc62 kernel-headers: add missing $(Q)
Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 13:41:22 +01:00
Thomas Petazzoni
46f37dabc5 gcc: add missing $(Q)
Add a missing $(Q) in front of a MESSAGE call, which leads to the
message being displayed but also the command that shows the message.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 13:41:15 +01:00
Thomas Petazzoni
d37d99b588 gcc: introduce BR2_GCC_NEEDS_MPC to reduce code duplication
For each version of gcc, we need to check whether it requires mpc as a
dependency. Since this is true for 4.5, 4.6, 4.7, snapshots and now
4.8, let's factorize this code a bit by using a Kconfig symbol that
tells us whether we are using a gcc version that requires mpc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 13:40:07 +01:00
Thomas Petazzoni
b8103112ea gcc: add support for gcc 4.8
This commit adds support for the recently released gcc 4.8. We re-add
the same patch series as the one used for 4.7.x, after refreshing the
patches.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 12:46:08 +01:00
Thomas Petazzoni
e30c5bc58e gcc: fix location of snapshots
The gcc snapshots are now located at
ftp://gcc.gnu.org/pub/gcc/snapshots/. This has been tested with a
recent 4.8.0-RC snapshot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 12:45:21 +01:00
Gustavo Zacarias
3d86e2f0ae kernel-headers: bump 3.{0, 2, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-24 11:56:18 +01:00
Yann E. MORIN
bae18e117b toolchain/crosstool-NG: do not depend on the top-level Buildroot's .config
Previously, the crosstool-NG backend did depend on the top-level
Buildroot's .config to detect changes in the toolchain options,
using a tentatively-clever heuristic, which also included the full
Buildroot's version string to push down to set the components' versions
strings.

In doing so, any commit in the Buildroot tree would imply a complete
rebuild of the toolchain, even in the case the toolchain options did
not change, thus being a large annoyance (to say the least).

As Buildroot never guaranteed that toolchain options would be detected,
even less handled, and that the internal backend does neither detect nor
act on toolchain options changes, and delegate that to the user, there
is no point in individualising the crosstool-NG backend's behaviour.

This reasoning also applies to the depdency on the crosstool-NG's bundled
.config file, too.

So, just drop the not-so-clever heuristic, and just build the toolchain
once, leaving to the user the responsibility to explictly ask Buildroot
to rebuild the toolchain.

Reported-by: "Przemyslaw Wrzos" <przemyslaw.wrzos@calyptech.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: "Przemyslaw Wrzos" <przemyslaw.wrzos@calyptech.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-18 23:16:54 +01:00
Gustavo Zacarias
b81e1a82ab kernel-headers: bump 3.{0, 2, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-15 14:58:50 +01:00
Gustavo Zacarias
5323cd35b6 kernel-headers: bump 3.{0, 4, 8}.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-04 12:22:29 +01:00
Gustavo Zacarias
ec9ae46bcb kernel-headers: bump 3.{0, 2, 4, 7}.x stable version and add 3.8.1
Also mark 3.6.x as deprecated to match upstream EOL.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-01 16:10:34 +01:00
Peter Korsgaard
ca79d23935 Merge branch 'next' 2013-03-01 11:11:24 +01:00
Thomas Petazzoni
77e5e0d3fa kernel-headers: remove legacy code
The BR2_KERNEL_HEADERS_2_6_35 symbol no longer exists since some time,
so get rid of code that was specific to this kernel version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-26 22:34:53 +01: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
Gustavo Zacarias
6f786dcf7a Revert "uClibc: port linuxthreads errno patch to 0.9.33.2"
This reverts commit 1d8c3e6caf

The forward port breaks compilation at least for SPARC NPTL toolchains:

LD libuClibc-0.9.33.2.so
libc/libc_so.a(pipe.os): In function `__GI_pipe':
(.text+0x38): undefined reference to `__GI___errno_location'
collect2: ld returned 1 exit status

Easily triggered by a "make qemu_sparc_ss10_defconfig && make".

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-21 15:18:02 +01:00
Peter Korsgaard
a87471ee75 uClibc: backport bits/time.h update to 0.9.33.2
Some packages uses CLOCK_MONOTONIC_RAW, so add it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-20 20:48:22 +01:00
Sagaert Johan
1d8c3e6caf uClibc: port linuxthreads errno patch to 0.9.33.2
Without this patch programs using libglib2 (libsoup, etc.. ) and pthread
may be broken.

Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-20 10:04:32 +01:00
Gustavo Zacarias
a83d7a83ac kernel-headers: bump 3.{0, 4, 7}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-17 23:09:17 +01:00
Gustavo Zacarias
c82bc107b7 toolchain/kernel-headers: not just 2.6 for manual version
The manual linux headers option may specify versions other than the 2.6
series, so drop the "2.6"

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-06 22:38:18 +01:00
Peter Korsgaard
4345586586 uClibc: mark 0.9.31 as deprecated
0.9.31 is old and doesn't actually build with modern kernel headers,
so mark it as deprecated.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-06 22:18:53 +01:00
Gustavo Zacarias
0c73c5b4f3 kernel-headers: bump 3.2.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-06 14:42:55 +01:00
Arnout Vandecappelle
befb9a3ee0 Make external toolchain relocatable
The external toolchain wrapper sets sysroot etc. to an absolute path.
By changing this to a relative path, it is possible to move the host
directory to a different location and still have a working build
system.

This only works for a downloaded external toolchain.  For a pre-installed
external toolchain, it is possible to move the host directory to a
different location, but not the external toolchain directory (it does work
if the external toolchain directory lies within the host directory).  For
an internal or crosstool-ng toolchain, there is no wrapper so updating the
sysroot path should be done in a different way.

See http://lists.busybox.net/pipermail/buildroot/2012-February/050371.html
for information about others things to do to make the host directory
relocatable.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 15:06:31 +01:00
Carsten Schoenert
3762f79646 gdb: fixing gdb 7.4.1 build with eglibc-2_16
gdb 7.4.1 fails with the following error
  gdb-7.4.1/gdb/linux-nat.h:79:18: error: field 'siginfo' has incomplete type
because gdb use 'struct siginfo' instead of 'struct siginfo_t'.
Crosstool-NG allready use the patches to prevent this error so use this
patches for buildroot too.

see also http://permalink.gmane.org/gmane.comp.gcc.cross-compiling/15305

Fixes http://autobuild.buildroot.net/results/b894a5cecd9c5e0a1a751ebbff90a14aea1803da/build-end.log

Signed-off-by: Carsten Schoenert <c.schoenert@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-05 00:08:36 +01:00
Thomas Petazzoni
9a70663904 gdb: build gdbserver with TARGET_MAKE_ENV
This commit fixes the exact same problem than
21a0c11a90, but for the gdbserver
build. The problem is that when you use the Crosstool-NG toolchain
backend, gawk gets built as a dependency of Crosstool-NG. So the gdb
configure scripts detects it, and assumes it is in the PATH (because
the gdb configure step gets run with TARGET_MAKE_ENV).

But then, the build fails, because it tries to run gawk, but gawk
isn't in the PATH, because we forget to use this TARGET_MAKE_ENV
variable when building gdbserver.

Fixes http://autobuild.buildroot.org/results/d0173de533b5e2fffed2eff7327a502ed2d787cd/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-04 23:35:07 +01:00
Gustavo Zacarias
095d7f1e2f kernel-headers: bump 3.{0, 4, 7}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-04 22:42:40 +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
Simon Dawson
d7937773fd avr32: support uClibc 0.9.33.2
Add a uClibc patch from OpenWRT, and tweak an existing patch to cope with
the lack of a dup3 Linux syscall on avr32. This allow uClibc 0.9.33.2 to be
built for avr32.

[Peter: add upstream url for openwrt patch]
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-02-02 14:45:16 +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
Gustavo Zacarias
ec52e5ffe2 kernel-headers: bump 3.{0, 4, 7}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-28 16:32:13 +01:00
Peter Korsgaard
9cf65c41c8 gdb: remove 6.8 / 7.0.1 / 7.1, deprecate 7.2 / 7.3
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-24 14:44:06 +01:00
Will Newton
9fe6a4d0b7 gdb: Add support for gdb 7.5.1 and make it the default
Signed-off-by: Will Newton <will.newton@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-24 13:52:04 +01:00
Gustavo Zacarias
6e044a3a5b kernel-headers: bump 3.{0, 4, 7}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-22 20:44:32 +01:00
Yann E. MORIN
f74dbd0981 toolchain/uClibc: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:13:44 +01:00
Yann E. MORIN
f4a6aafa8c toolchain/kernel-headers: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:12:47 +01:00
Yann E. MORIN
ff5c89861b toolchain/gcc: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:12:01 +01:00
Yann E. MORIN
9adea3f859 toolchain/crosstool-ng: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

At the same time, remove two debug echoes (Arnout).

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:10:44 +01:00
Yann E. MORIN
2934d1bb2d toolchain/external: sprinkle with some calls to MESSAGE
Thus, the failing step can be easily extracted by autobuilders,
to ease with post-mortem analysis.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-20 22:05:50 +01:00
Gustavo Zacarias
5c25c462f7 kernel-headers: bump 3.{0, 4, 7}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-18 12:52:09 +01:00
Gustavo Zacarias
476dd1597a kernel-headers: bump 3.2.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-17 14:42:55 +01:00
Thomas Petazzoni
217ef08a97 Integration with Buildroot Toolchain Eclipse plugin
The Eclipse plugin at
https://github.com/mbats/eclipse-buildroot-toolchain-plugin allows
users of Eclipse to easily use the toolchain available in
Buildroot. To do so, this plugin reads
~/.buildroot-eclipse.toolchains, which contains the list of Buildroot
toolchains available on the system, and then offer those toolchains to
compile Eclipse projects.

In order to interface with this plugin, this commit adds an option
that allows the user to tell whether (s)he wants the Buildroot project
toolchain to be visible under this Eclipse plugin. It simply adds a
line in this ~/.buildroot-eclipse.toolchains file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-01-14 16:33:30 +01:00