Commit Graph

491 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
Peter Korsgaard
7ce93438c1 toolchain/gcc: also disable largefile for pass 1/2 if needed
Fixes issue with !BR2_LARGEFILE builds on Ubuntu 12.04 and GCC 4.6+

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-12 21:22:29 +01:00
Gustavo Zacarias
10d042ad34 arm: update processor types
Update the arm processor types: add the cortex A5 & A15 variants.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-09 23:07:11 +01:00
Gustavo Zacarias
1291304d7e powerpc: update processor types
Update the powerpc processor types.
Remove the 801, it's the original IBM experimental implementation.
Add the 464, 464fp, 476 and 476fp cores.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-12-09 23:07:03 +01:00
Chris Zankel
fdd5bc948e xtensa: use uppercase for configurations and modified overlay structure
Except for architecture and processor names, buildroot uses capitalized
configuration names, so change the macro names for xtensa to follow that
standard.
Change the overlay file to have a subdirectory for each component
(gdb, binutils, gcc, etc.) to make it more future-prove.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:08:50 +01:00
Thomas Petazzoni
8fe6efa874 Deprecate the support for the toolchain on target
As discussed during the ELCE 2012 Buildroot Developers Meeting, we no
longer want to support the possibility of building a toolchain for the
target. None of the core developers have any use for this, it has been
known to be broken or cause problems for a long time without anyone
providing fixes for it.

In addition to this, Buildroot is inherently a cross-compilation tool,
so the usage of a native toolchain on the target is not really
useful. Many newcomers are tempted to use this possibility even though
it is clearly not the intended usage of Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-17 09:21:30 +01:00
Chris Zankel
d8792a04ca xtensa: support configurable processor configurations
Xtensa is a configurable processor architecture, which allows to define
additional instructions and registers. The required variant specific
information for the toolchain is delivered in an 'overlay' file, which
needs to be 'untarred' to the corresponding directories after the
source is installed and patched.
This patch provides support for binutils, gcc, and gdb with a very
limited changes to the build scripts. These additions are only executed
for the Xtensa architecture and have no effect on other architectures.

[Thomas: rebased on top of the 'arch: improve definition of gcc mtune,
mcpu, etc.' patch, and changed 'Target ABI' to 'Target Architecture
Variant'].

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 16:39:48 +01:00
Peter Korsgaard
6fdc695128 gcc: bump 4.7.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-21 07:29:54 +02:00
Thomas Petazzoni
669d07bdd4 Remove the Xtensa architecture
As stated in commit 555c2585bf, the
Xtensa architecture has been introduced in 2009 and never changed
since its initial introduction. It requires some special handling that
is a bit annoying, and despite our call to the initial developers, and
the announcement of the deprecation of the architecture during the
2012.05, nothing has happened. Therefore, drop support for this
architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: me
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:31:08 +02:00
Peter Korsgaard
27045cde7d gcc: default to 4.6.x
4.5.x is no longer maintained upstream.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 13:28:03 +02:00
Thomas Petazzoni
2ff012b3c7 Simplify x86 target architecture variant handling
Instead of having two separate list of choices for select the target
architecture variant for i386 and x86_64, with many CPU choices
duplicated (because all modern x86 CPUs can be both used as i386 or
x86_64), merge them into a single list. In the x86_64 case, all the
x86 CPUs that do not support the 64 bits instruction set are hidden.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-31 00:00:29 +02:00
Peter Korsgaard
8f6fc941c7 toolchain/gcc : bump 4.5.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-07-02 21:53:54 +02:00
Peter Korsgaard
3f487ef728 toolchain: reinstate host/usr/bin/$arch-linux-* symlinks for gcc/gdb binaries
As people might be using them.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 21:33:17 +02:00
Richard Braun
b7b640d812 Remove REAL_GNU_TARGET_NAME
Instead of providing two variables, make GNU_TARGET_NAME give the real
target name, and remove REAL_GNU_TARGET_NAME altogether.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 15:14:51 +02:00
Peter Korsgaard
e85e2590e5 toolchain/gcc: bump 4.7.x
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-15 07:47:07 +02:00
Gustavo Zacarias
3137928f7c toolchain/gcc: block unsupported CPUs according to version
Block unsupported processors according to gcc version.
Also remove the comments since we now hide them according to this.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-19 23:11:11 +02:00
Gustavo Zacarias
0049aa83b9 toolchain/gcc: bump snapshot version
Bump default snapshot gcc version to 4.8-20120429 so that it is newer
than our latest supported version (4.7.0 release).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-19 23:11:03 +02:00
Gustavo Zacarias
fcafc95756 toolchain/gcc: remove duplicate QUIET entries
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>
2012-04-25 13:03:33 +02:00
Thomas Petazzoni
792976053f gcc: remove unused EXTRA_GCC1_CONFIG_OPTIONS
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 09:47:40 +02:00
Thomas Petazzoni
ce1acfb5ea toolchain: remove toolchain/Makefile.in and toolchain/gcc/Makefile.in
Re-integrate in gcc-uclibc-4.x.mk things from
toolchain/gcc/Makefile.in that were completely gcc-specific. There was
no reason to pull that when building with other backends than the
internal one.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 09:00:51 +02:00
Thomas Petazzoni
2b563d481f gcc: move version/snap variables to gcc-uclibc-4.x.mk
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 09:00:42 +02:00
Thomas Petazzoni
01df5af1db gcc: remove unused ARCH_FPU_SUFFIX
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:59:51 +02:00
Thomas Petazzoni
3cf29186f8 gcc: remove unused EXTRA_GCC4_CONFIG_OPTIONS
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:59:17 +02:00
Thomas Petazzoni
eee81a286e gcc: remove unused EXTRA_GCC2_CONFIG_OPTIONS
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:58:19 +02:00
Thomas Petazzoni
acde0d8c52 toolchain: remove useless indirect variables
The BR2_CONFIGURE_DEVEL_SYSROOT, BR2_CONFIGURE_STAGING_SYSROOT and
BR2_CONFIGURE_BUILD_TOOLS were used only in a few places, and it is in
fact clearer to just use their value in the various places they are
used.

The ultimate goal is to get rid of the toolchain/Makefile.in file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:55:56 +02:00
Gustavo Zacarias
b4a8ae3e8c toolchain/gcc: add 4.7.x series
Add gcc 4.7.0 to the toolchain options.

[Peter: drop 0001-toolchain-gcc-add-4.7.x-series.txt]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-15 11:13:27 +02:00
Alvaro G. M
0a4856ce27 DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, $2=FILE_NAME
This modifies the definition of DOWNLOAD to receive two arguments:
the first one is the full URL of the file to download, whereas the second
(and optional) is the name the file will have once downloaded.

Same thing with the SOURCE_CHECK_WGET and SCP functions.

All calls to these functions have been changed to the shortest form of
the new API, except for toolchains acquisition. Since there is quite a
number of different toolchains this call to DOWNLOAD is better set to the
generic one.

Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Stephan Hoffmann <sho@relinux.de>
Downloading Microblaze LE toolchain works on a clean install
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 22:21:16 +01:00
Peter Korsgaard
e687bb71a0 gcc: bump 4.4.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-13 16:27:25 +01:00
Peter Korsgaard
3fc84ed292 gcc: bump 4.6.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-04 09:09:52 +01:00
Peter Korsgaard
d0880f70fa gcc-uclibc-4.x.mk: get rid of BR2_DEPENDS_DIR
Now that we have dropped the make-write-deps patch.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-15 20:59:37 +01:00
Peter Korsgaard
b0bcafc6a0 Remove java support
Has been marked as broken since July 2010 (39e6ba1b), and nobody has
stepped up to support it, so now finally remove it completely.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-12 22:08:56 +01:00
Gustavo Zacarias
5a6087d62e toolchain: add powerpc SPE ABI support
Add the ability for buildroot to build an SPE ABI enabled toolchain.

This is mandatory for e500v1/v2 cores since they don't support classic
FPU mode as the e500mc does.

Useful for Freescale's PowerQUICC III and single/dual-core QorIQ
line of processors.

The new TARGET_ABI variable is used rather than TARGET_CFLAGS for
uclibc's UCLIBC_EXTRA_CFLAGS to avoid breakish CFLAGS leaking in, a
good example being -mthumb for ARM.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-07 20:46:11 +01:00