Commit Graph

1641 Commits

Author SHA1 Message Date
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
Thomas Petazzoni
9e3dac5045 external-toolchain: do not copy shared libraries when BR2_PREFER_STATIC_LIB=y
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-29 20:33:22 +02:00
Gustavo Zacarias
2e7ffd6c84 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-04-29 19:13:23 +02:00
Gustavo Zacarias
d459e0d216 gdb: bump 7.4.x series to 7.4.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-29 10:57:30 +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
290bbdb4aa mklibs: remove support
The support for mklibs has been marked broken since more than a year
and nobody cared to bring it up to a working state.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 09:56:30 +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
Peter Korsgaard
f00424cff0 uClibc: 0.9.33.1: fix version (soname) number
For some reason, the version number in the 0.9.33.1 tarball is wrong.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-23 09:26:13 +02:00
Peter Korsgaard
d425ddd8b3 kernel-headers: bump 3.{0,2,3}.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-23 09:22:32 +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
Gustavo Zacarias
d6c110e77f toolchain/uClibc: bump 0.9.33.x series to version 0.9.33.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-14 23:08:07 +02:00
Gustavo Zacarias
9cda7edc50 toolchain/uClibc: fix default configs with respect to bug #5018
Switch from the strict UCLIBC_HAS_CTYPE_ENFORCED=y to the less
restrictive UCLIBC_HAS_CTYPE_CHECKED=y since it breaks dialog under
certain circumstances (bug #5018).

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-14 23:03:28 +02:00
Gustavo Zacarias
f2201e3044 kernel-headers: bump 3.{0, 2, 3}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-14 22:58:24 +02:00
Peter Korsgaard
7a67da440d uClibc: add dup3() for 0.9.33
Needed by E.G. systemd. Patch from uClibc list:

http://lists.uclibc.org/pipermail/uclibc/2011-September/045702.html

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-05 13:15:22 +02:00
Peter Korsgaard
006e073cca uClibc: add MSG_WAITFORONE / MSG_CMSG_CLOEXEC for 0.9.33
Needed by E.G. systemd. Patch from yocto:

http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/uclibc/uclibc-0.9.33/define-MSG_CMSG_CLOEXEC.patch

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-05 13:15:17 +02:00
Gustavo Zacarias
1eb46725de toolchain/microblaze: fix up big-endian characteristics
The big-endian microblaze external toolchain is missing vital
characteristics being set, such as LARGEFILE support, IPV6 and so on.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Stephan Hoffmann <sho@reLinux.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-04 22:46:07 +02:00
Peter Korsgaard
e1443db85b kernel-headers: bump 3.{0,2,3}.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-02 23:46:55 +02:00
Gustavo Zacarias
71cec7c82c kernel-headers: bump 3.0.x and 3.2.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-02 23:30:10 +02:00
Peter Korsgaard
1b7f5285fb toolchain: add linaro 2012.03 external ARM toolchain
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-30 00:22:47 +02:00
Simon Dawson
a3daa6f785 Fix problem with undefined umode_t type in 3.3 kernel headers
The 3.3 kernel headers define the umode_t type within a __KERNEL__
preprocessor ifdef region. This results in a broken kernel header in the
buildroot toolchain.

[Peter: This is discussed upstream here:
https://bugzilla.kernel.org/show_bug.cgi?id=42986
Long term socat/syslinux should stop using this header, but this hasn't
been fixed upstream yet]
Signed-off-by: Simon Dawson <spdawson@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-29 10:42:24 +02:00
Gustavo Zacarias
d10dddf473 kernel-headers: bump 3.0.x and 3.2.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-20 14:15:02 +01:00
Peter Korsgaard
ea33b9b832 uClibc: enable utmpx support in defconfigs
It adds very little size overhead as the functions are just wrappers
around utmp, and E.G. systemd needs it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-20 09:20:26 +01:00
Peter Korsgaard
c433c5ad7c uClibc: default to 0.9.33
This is the current stable version, and E.G. systemd doesn't build with
earlier versions.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-20 09:20:23 +01:00
Gustavo Zacarias
9c71810367 kernel-headers: bump 3.2.x stable version and add 3.3
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-19 11:48:15 +01:00
Peter Korsgaard
4a7462b34d toolchain: disallow internal/ctng toolchains for microblaze
While there's some microblaze support in mainline gcc from 4.6.x,
there still seems to be something missing with the uClibc support, so
disable these for now.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-19 00:26:01 +01:00
Alvaro G. M
bb7788fd86 Microblaze: added external toolchain from Xilinx
Signed-off-by: Alvaro G. M <alvaro.gamez@hazent.com>
Tested-by: Stephan Hoffmann <sho@relinux.de>
Downloading Microblaze LE toolchain works on a clean install
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 22:53:24 +01: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
Arnout Vandecappelle (Essensium/Mind)
277bd1ff42 elf2flt: fix after conversion of binutils to package infrastructure
When binutils was converted to the package infrastructure (commit
009407e6b), the variable that elf2flt uses to find the binutils
libraries disappeared.  So use HOST_BINUTILS_DIR instead of
BINUTILS_DIR1.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-18 20:47:46 +01:00
Thomas Petazzoni
c56b58b4b7 debug: provide an option to copy the gdbserver to the target
When an external toolchain is used, it is very likely that it contains
a pre-built version of a gdbserver that has the same version as the
cross-gdb included in the external toolchain. So, we now provide an
option that allows to copy this pre-built gdbserver to the target.

As the location of the gdbserver in the external toolchain is not
standardized, we only support the CodeSourcery and Crosstool-NG
layouts for the moment. Other locations can be added later.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 23:04:39 +01:00
Arnout Vandecappelle (Essensium/Mind)
a22dc0f230 ext-toolchain: Automatically set -m64 if the architecture is x86_64
Without the -m64, choosing the x86_64 architecture with a Sourcery external
toolchain will result in a 32-bit rootfs.

Also simplified the help text to reflect this change.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-15 00:00:57 +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
8429c5873f kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-13 08:38:00 +01:00
Peter Korsgaard
6131e47af0 toolchain-external: add linaro 2012.02
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-06 23:38:39 +01:00
Peter Korsgaard
21561bd27c Merge branch 'for-2012.05/ext-toolchain-updates' of git://git.free-electrons.com/users/thomas-petazzoni/buildroot 2012-03-06 23:09:56 +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
Thomas Petazzoni
e6e60becb0 external-toolchain: add support for Linaro 2012.01
Linaro has just released a new pre-built toolchain, available as a
tarball, which is a pure toolchain (only the C library is
included). This makes this new Linaro 2012.01 toolchain usable in
Buildroot, so let's integrate the support for it.

In addition to simply adding the new external toolchain at the usual
locations, this patch allows need to adapt a few things to support
Linaro toolchains. Most toolchains store their libraries in the "lib/"
or "usr/lib" directories relative to the toolchain. Buildroot
toolchains on the other hand, store the libraries in the
"usr/<target-name>/lib" directory. And the Linaro toolchain has
choosen to use the "lib/<target-name>" directory. Therefore, this
patch adjust:

 * The logic to search a particular library when that library needs to
   be copied to the target directory

 * The logic to deduce the sysroot directory from the libc.a file
   location in the toolchain: removing "(usr/?)lib(64?)" is no longer
   sufficient, we need to take into account the "lib/<target-name>/"
   case.

Since the Linaro toolchain generates code for Cortex-A processors
only, the selection of this toolchain is limited to Cortex-A8 and
Cortex-A9.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
2ec3e6db46 external-toolchain: fix description of PowerPC 2010.09 from Mentor Graphics
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
090d486441 external-toolchain: adjust check for uClibc static toolchains
The current check for uClibc toolchain was verifying that a
ld-uClibc.so dynamic loader was present. However, with static-only
uClibc toolchains, this does not work. Instead, we check for an
uClibc-specific header file in the sysroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
3367d5ce77 external-toolchain: run checks even on extracted toolchains
When the mechanism that allows Buildroot to download external
toolchains automatically was added, all the sanity checks on the
external toolchains were not performed. This commit re-enables those
checks that we already do on external toolchains that are not
downloaded/extracted by Buildroot. This makes the toolchain checks
more consistent accross various configurations.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
c5c1064e49 external-toolchain: details on selecting the multilib variants
Each multilib variant need to be selected using a special combination
of flags, requiring specific choices of the Buildroot options. This
commit documents those configuration choices to make it easier to use
the various multilib variants.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
91d4336cbc external-toolchain: Blackfin.uclinux.org 2011R1-RC4
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
d00bd2a1f7 external-toolchain: add Sourcery CodeBench x86/x86_64 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:38 +01:00
Thomas Petazzoni
22e0698eb8 external-toolchain: add Sourcery CodeBench PowerPC 2011.03
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
851508dedd external-toolchain: bump MIPS 2011.03 from -93 to -110
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
102c6b5fa1 external-toolchain: add Sourcery CodeBench ARM 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
17b8cc930c external-toolchain: remove 2009q1 ARM Sourcery toolchain
We are going to add one more ARM Sourcery toolchain version, so it's
time to remove the oldest version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
b95e436ee0 Expand external toolchain wrapper to custom flags
The BR2_TARGET_OPTIMIZATION flags were not used by the external
toolchain wrapper, which broke the multilib selection logic of
multilib external toolchains. It also simplifies the compilation of
external programs since all flags are properly passed automatically by
the toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:37 +01:00
Thomas Petazzoni
50ac5f9a57 Support multilib variants in sub-subdirectories
When an external toolchain has multiple variants organized in
sub-directories, Buildroot only copies the selected sysroot and not
all sysroots. In order to make this work, Buildroot creates a symbolic
link of the name of the original selected sysroot to the main sysroot
to trick the compiler so that it finds its libraries at the expected
location.

I.e, if the toolchain as the following organization (example take on
the ARM CodeSourcery toolchain) :

     .	    	for ARMv5T
     armv4  	for ARMv4T
     thumb2 	for ARMv7-A/Thumb

and ARMv4T is selected, then Buildroot will copy the contents of
armv4t/ from the toolchain into its $(STAGING_DIR) and then create a
$(STAGING_DIR)/armv4t symbolic link to $(STAGING_DIR).

However, our logic to do so only works when there was one directory
level for multilib sysroots. But in the MIPS CodeSourcery toolchain
there are multiple levels. For example, the MIPS16 soft-float
little-endian sysroot variant is in mips16/soft-float/el/ compared to
the main sysroot.

This patch improves our logic to support this case. The logic is a bit
more complicated as we don't want to create a symbolic link to an
absolute path, but a symbolic link to a relative path, because we want
the host/ directory to be relocatable.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:36 +01:00
Thomas Petazzoni
0729b544b3 Improve external toolchain logic to support IA32 Sourcery CodeBench toolchain
The IA32 Sourcery CodeBench toolchain has a relatively special
structure, with the following multilib variants:

 * Intel Pentium 4, 32 bits, the multilib variant is in ./ relative to
   the main sysroot, with the libraries in the lib/ directory.

 * Intel Xeon Nocona, 64 bits, the multilib variant is in ./ relative
   to the main sysroot, with the libraries in the lib64/ directory.

 * Intel Atom 32 bits, the multilib variant is in atom/ relative to
   the main sysroot, with the libraries in the lib/ directory.

 * Intel Core 2 64 bits, the multilib variant is in core2/ relative to
   the main sysroot, with the libraries in lib64/ directory.

So the first two variants are in the same sysroot, only the name of
the directory for the libraries is different.

Therefore, we introduce a new ARCH_LIB_DIR variable, which contains
either 'lib' or 'lib64'. This variable is defined according to the
location of the libc.a file for the selected multilib variant, and is
then used when copying the libraries to the target and to the staging
directory.

In addition to this, we no longer use the -print-multi-directory to
get the ARCH_SUBDIR, since in the case of the 64 bits variants of this
toolchain, it returns just '64' and not a real path. Instead, we
simply compute the difference between the arch-specific sysroot and
the main sysroot.

We also take that opportunity to expand the documentation on the
meaning of the different variables.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01 20:26:36 +01:00
Peter Korsgaard
dca6e03eac kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-01 14:07:29 +01:00
Peter Korsgaard
4280c15039 uClibc: rename 0.9.33 syscall_ncs patch
No need for double dashes - Purely cosmetical.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-27 10:48:56 +01:00
Peter Korsgaard
bba4bdfc53 kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-24 14:36:49 +01:00
Peter Korsgaard
7553f043ad uClibc: add upstream 0.9.33 fixes
Fixes build on E.G. powerpc.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-16 12:20:01 +01:00
Peter Korsgaard
74c7b15a90 kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-14 00:13:09 +01:00
Thomas De Schampheleire
a792668b58 dependencies: move from toolchain/ to support/
As suggested by Arnout Vandecappelle, move toolchain/dependencies to
support/dependencies, as it really is not toolchain-specific anymore.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09 21:45:59 +01:00
Peter Korsgaard
2987a6fef5 kernel-headers: bump 3.2.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09 08:51:36 +01:00
Peter Korsgaard
7100a2cc33 dependencies.sh: fix host g++ check when ccache is used
Similar to how we do it for gcc.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-08 23:40:20 +01:00
Peter Korsgaard
436ceeafbc kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-06 17:24:19 +01:00
Peter Korsgaard
4a49379571 uClibc: tweak 0.9.33 / snapshot configs
With default values so it doesn't stop build and ask user. Also disable
2.4 modules support by default like upstream does.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 10:06:44 +01:00
Peter Korsgaard
8ed392f3d6 toolchain-buildroot: enable / default to NPTL fr uClibc 0.9.33 as well
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 09:07:23 +01:00
Peter Korsgaard
aea3ac7a9f uClibc: add 0.9.33
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 00:34:12 +01:00
Peter Korsgaard
e157720be3 kernel-headers: bump 3.0.x / 3.2.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-26 09:03:05 +01:00
Peter Korsgaard
21f39f524f gdb: add 7.4, mark 7.1 as deprecated
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24 22:28:47 +01:00
Peter Korsgaard
afb6e3ed52 gdb: also force ELF support for gdbhost
Similar to how we do for target (ee39d53ce3ee (Fix GDB BFD test linking)).

Gdb comes with an embedded copy of libiberty, but binutils also installs
libiberty.a into HOST_DIR. The gdb configure script tries to link against
this one rather than the gdb version when it checks for ELF support.
This may fail if those versions are not compatible, leading to obscure
error messages from gdb at runtime such as:

I'm sorry, Dave, I can't do that. Symbol format `elf32-$ARCH' unknown.

Fix it by forcing ELF support.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24 12:46:37 +01:00
Peter Korsgaard
5c8747d2c4 ctng: use gcc 4.4.6
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22 22:54:58 +01:00
Peter Korsgaard
5fd3015c7e ctng: use 3.0.4 kernel headers
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22 22:53:19 +01:00
Peter Korsgaard
95375f81f7 ctng: use internal toolchain uClibc config, build uClibc 0.9.32
So the uClibc configurations are kept in sync between the two toolchain
methods.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22 22:46:35 +01:00
Peter Korsgaard
2e913392df kernel-headers: bump 3.1.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-18 19:15:13 +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
Thomas De Schampheleire
8f8d414b61 Fix typo buiding -> building
Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-15 20:47:58 +01:00
Gustavo Zacarias
b4c493d376 kernel-headers: bump 3.0.x, 3.1.x and 3.2.x series
Bump 3.0.x series to 3.0.17, 3.1.x series to 3.1.9 and 3.2.x series to
3.2.1

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-13 11:45:52 +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
f7950dbfe5 kernel-headers: bump 3.1.x series to version 3.1.8
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-09 22:55:04 +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
Gustavo Zacarias
e082ababc9 kernel-headers: bump 3.0 & 3.1 stable versions, add 3.2
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-06 10:28:35 +01:00
Gustavo Zacarias
9fd4c35058 uClibc: bump 0.9.32.x version to 0.9.32.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-02 15:09:31 +01:00
Peter Korsgaard
808bfd0731 kernel-headers: bump 3.0.x / 3.1.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-21 23:57:41 +01:00