Commit Graph

1623 Commits

Author SHA1 Message Date
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
Gustavo Zacarias
42934cac76 kernel-headers: bump 3.2.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-30 19:19:09 +02:00
Thomas Petazzoni
701940770b toolchain-external: make preinstall the default for custom toolchains
All the defconfig files used by the autobuilders that use
pre-installed external toolchains are making the assumption that the
default for a custom external toolchain is "pre-installed". We keep
this default for now, since changing it breaks the autobuilders.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 20:57:26 +02:00
Thomas Petazzoni
5cc4924825 toolchain-external: add Sourcery CodeBench MIPS 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:29:37 +02:00
Thomas Petazzoni
adf586ecb9 toolchain-external: add Blackfin toolchain 2012R1-BETA1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00
Thomas Petazzoni
67ef65600d toolchain-external: remove ARM CodeSourcery 2009q3
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00
Thomas Petazzoni
9d1fd3affb toolchain-external: remove Linaro 2012.01
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:02 +02:00
Thomas Petazzoni
ba92d6ef68 Make hard-float the default on Cortex-A8 and Cortex-A9
Cortex-A8 and Cortex-A9 ARM cores are guaranteed to provide a hardware
floating point unit, so there's no reason to default to software
floating point for them.

More importantly, the newest Linaro toolchains are hard float
toolchains, so basically an user choosing those toolchains and leaving
the default option of software float would run in compilation issues.

So let's make hard float the default for Cortex-A8 and Cortex-A9.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:52 +02:00
Thomas Petazzoni
b64233fc24 toolchain-external: add Linaro 2012.06
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:52 +02:00
Thomas Petazzoni
68973cca23 toolchain-external: adjust logic to support Linaro 2012.05
The check_glibc function verifies that the C library of the external
toolchain is glibc. To do so, it verified that a file matching
ld-linux*.so.* or ld.so.* was found in the lib/ directory of the
toolchain's sysroot. However, with the Linaro 2012.05 toolchain, the
lib/ directory contains two links named ld-linux-armhf.so.3 and
ld-linux.so.3, which means that the first ld-linux*.so.* wildcard
expression expands to two files, which generates a syntax error for
the "test" program. We replace that with a more elaborate find+wc
combination to determine whether at least one matching file is
present.

The check_arm_abi function verifies the ABI of an ARM toolchain. For
EABI, it tested that the target name ends with eabi. However, with
Linaro 2012.05, the tuple is now arm-linux-gnueabihf (for hard float),
so we have to adjust the logic to accept this additional "hf"
specification in the tuple.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:25 +02:00
Thomas Petazzoni
e8d9fa9d60 toolchain-external: add Linaro 2012.05
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:25 +02:00
Thomas De Schampheleire
163aeb14e2 toolchain-external: line up comments with reality
Line-up with changes from commit 3367d5ce77
"external-toolchain: run checks even on extracted toolchains"

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:25 +02:00
Thomas De Schampheleire
df0c125994 toolchain-external: allow downloading a custom toolchain
This patch adds the possibility to download a custom external
toolchain, in addition to the existing support of preinstalled custom
external toolchains.

With the modified configuration, the user is presented with the
following options:
- Toolchain type: Buildroot toolchain | External toolchain | Ct-ng toolchain

In case of External toolchain:
- Toolchain: the CodeSourcery toolchains | Custom toolchain
- Toolchain origin: Toolchain to be downloaded and installed | Pre-installed toolchain

In case of Toolchain to be downloaded, the user is presented with:
- Toolchain URL
In case of Pre-installed toolchain, the users sees:
- Toolchain Path

For CodeSourcery toolchains, the toolchain URL field is not used (the
URLs are directly coded in ext-tool.mk).

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 16:53:24 +02:00
Thomas De Schampheleire
5022fa823c toolchain-external/Config.in: fix indentation
Fix the indentation of the external toolchain Config file, where tabs
and spaces are mixed as indentation even within the same block.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-21 15:57:42 +02:00
Gustavo Zacarias
3096b09abd kernel-headers: bump 3.{0, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-20 20:03:53 +02:00
Gustavo Zacarias
88bd697e0e kernel-headers: bump 3.{0, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 21:17:50 +02:00
Gustavo Zacarias
b6ebb7fd1b toolchain/mips: kill EABI and fix N32
MIPS EABI is a bare-metal ABI so remove it.
Also fix uClibc to really work with N32 ABI, which used the EABI knob
previously.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-15 00:57:42 +02:00
Gustavo Zacarias
9308ac1868 kernel-headers: bump 3.2.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-15 00:57:38 +02:00
Gustavo Zacarias
b8b57bb683 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>
2012-07-07 12:59:46 +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
Nathan Lynch
f6b26ea425 toolchain/crosstool-ng: change use of BR2_JLEVEL to PARALLEL_JOBS
Signed-off-by: Nathan Lynch <ntl@pobox.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-24 11:10:47 +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
Gustavo Zacarias
c3d73c0788 kernel-headers: bump 3.{0, 2, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 14:15:47 +02:00
Gustavo Zacarias
a053e9494c kernel-headers: bump 3.{0, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-18 21:10:43 +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
a17f53f64b 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>
2012-06-11 11:59:44 +02:00
Gustavo Zacarias
6f63d6b41a kernel-headers: bump 3.{0, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-10 21:49:18 +02:00
Gustavo Zacarias
bfd401200b kernel-headers: bump 3.{0, 2, 3, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-04 23:13:16 +02:00
Peter Korsgaard
bdb4c3a6dc Merge branch 'next'
Conflicts:
	toolchain/kernel-headers/Config.in
2012-05-31 09:23:23 +02:00
Gustavo Zacarias
66c7e29451 kernel-headers: bump 3.{0, 3}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-22 21:26:08 +02:00
Peter Korsgaard
73c8f3b934 kernel-headers: remove 2.6.35, add 3.4
And mark 2.6.36 / 2.6.37 as deprecated.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-21 19:39:14 +02:00
Gustavo Zacarias
fce8d0765a 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>
2012-05-21 17:16:58 +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
Yann E. MORIN
cb30e13051 toolchain/crosstool-NG: disable decimal floats
Decimal floats were introduced circa gcc-4.2 or -4.3, and requires
the floating-point environement fenv.h in the C library.

The uClibc .config file used by crosstool-NG to build uClibc is the
same as used by the internal buildroot mechanism, and explcitly
disables fenv support.

The quick workaround is to simply disable decimal floats in all
crosstool-NG config files.

In the long run, it might be better to check this situation, and/or
add code and/or options in crosstool-NG to handle this (but it is
much more involved, and this workaround is sane).

Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
CC: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-16 10:39:32 +02:00
Peter Korsgaard
d8e1ecb855 ext-tool.mk: fix SUPPORT_LIB_DIR calculation for toolchains without libstdc++
SUPPORT_LIB_DIR would get resolved to the main buildroot directory for
external toolchains without C++ support, as:

 - gcc -print-file-name=<nonexisting-file> returns <nonexisting-file>
 - readlink -f <nonexisting-file> returns $PWD/<nonexisting-file>

So fix it by ensuring output of gcc -print-file-name actually exists
before using it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-15 22:44:17 +02:00
Peter Korsgaard
362256a31e uClibc: bump 0.9.33.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-15 11:46:39 +02:00
Thomas Petazzoni
ef10335f6f gdb: not available on avr32
Fixes
http://autobuild.buildroot.org/results/1c6cfa7f069e2b7d8a7dacf76fbf95b7909fb37a/build-end.log.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-14 22:36:53 +02:00
Gustavo Zacarias
f7f0d137c5 kernel-headers: bump 3.{2, 3}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-14 21:19:27 +02:00
Peter Korsgaard
a79f0494a1 crosstool-ng: use uClibc 0.9.33.1 / NPTL by default
So we're in sync with the internal toolchain.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 11:17:07 +02:00
Yann E. MORIN
d06238d9b9 package/crosstool-ng: bump version to 1.15.2, update config files
Update the version of crosstool-Ng used, bump to 1.15.2.
Also, update the bundled config files to match the new version.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 11:16:47 +02:00
Peter Korsgaard
03578ce8b6 crosstool-ng: fixup after copy_toolchain_lib_root api changes
Commit 0729b544b3 (Improve external toolchain logic to support IA32
Sourcery CodeBench toolchain) and e1f0804cc (external-toolchain: add
support for recent Linaro toolchains) changed the interface of
copy_toolchain_lib_root, but ctng wasn't updated so libraries weren't
copied to the target.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 11:16:43 +02:00
Thomas Petazzoni
aebf199ff0 Add support to generate locale data
In order to use locale support on a Linux system, you need locale data
to be present:

 * on a (e)glibc based system, this data is typically in the
   /usr/lib/locale/locale-archive file, which can be created and
   extended using the localedef program

 * on an uClibc based system, the set of supported locales is defined
   at build time by an uClibc configuration option.

This patch implements generating locale data for the following cases:

 * Internal toolchain

 * External toolchain based on (e)glibc. uClibc external toolchains
   are not supported, because with uClibc, the set of supported
   locales is defined at build time. CodeSourcery and Linaro
   toolchains have been tested, Crosstool-NG toolchains are believed
   to work properly as well.

 * Toolchains built using the Crosstool-NG backend, but only (e)glibc
   toolchains.

This feature was runtime tested with internal uClibc toolchain,
CodeSourcery ARM toolchain and Linaro ARM toolchain, thanks to a
simple C program that shows the data and a gettext translated message.

Note that this option differs from the "purge locales" option, which
is responsible for removing translation files and other locale stuff
installed by packages. At some point in the future, we may want to
clarify the respective roles of those options.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-09 00:26:21 +02:00
Gustavo Zacarias
d4137cbe66 kernel-headers: bump 3.{0, 3}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-07 22:16:49 +02:00
Thomas Petazzoni
efe0daab8c gdb: fix target gdb build when host-gawk is built before
When the crosstool-ng backend is used, host-gawk is built as a
dependency of the crosstool-ng package, and therefore an host 'gawk'
binary is installed in $(HOST_DIR).

When the target gdb package is also selected, this unfortunately leads
to a build failure, as reported on
http://buildroot.humanoidz.org/results/f19c0499d08212d8b5100fa9434e1197092957db/build-end.log.

The problem is that the ./configure of gdb detects gawk in the PATH,
but at compile time, it fails to find gawk. This is due to the fact
that the gdb compilation process is started without the correct path.
This patch fixes this by passing $(TARGET_MAKE_ENV) in the environment
of the gdb compilation process.

A better fix would be to switch gdb to the AUTOTARGETS infrastructure
in the future.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-07 21:40:31 +02:00
Thomas Petazzoni
057c729c24 external-toolchain: add support for Linaro 2012.04
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-05-07 17:08:37 +02:00
Thomas Petazzoni
e1f0804cc1 external-toolchain: add support for recent Linaro toolchains
Starting from 2012.03, the Linaro toolchains have separated the GCC
support libraries (libstdc++, libgcc_s) from the sysroot itself. So we
no longer have the case where all libraries are inside the sysroot, as
we had for all the previously supported toolchains.

Therefore, we add some logic to detect if such a separate directory is
used for GCC support libraries, and if it's the case, we make sure
that we take into account this directory when creating our own
sysroot, and when copying libraries to the target filesystem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-05-07 17:08:37 +02:00
Gustavo Zacarias
ffe526d106 toolchain/uClibc: enable 0.9.33.1 for sh
Enable uClibc 0.9.33.1 for the SH architecture.
Builds and works fine with the qemu sample config.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-03 15:57:28 +02:00
Gustavo Zacarias
d3e061fc77 toolchain/uClibc: enable UCLIBC_SUPPORT_AI_ADDRCONFIG
Enable AI_ADDRCONFIG support in uClibc otherwise we don't get the
ifaddrs.h header installed and thus lack getifaddrs support.
Quite useful for samba for example so we can use interfaces=eth0 statements in
the configuration file rather than klunkier
interfaces=192.168.1.1/255.255.255.0 ones.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-03 15:54:05 +02:00