summaryrefslogtreecommitdiff
path: root/toolchain
AgeCommit message (Collapse)Author
2012-03-30toolchain: add linaro 2012.03 external ARM toolchainPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-29Fix problem with undefined umode_t type in 3.3 kernel headersSimon Dawson
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-20kernel-headers: bump 3.0.x and 3.2.x stable versionsGustavo Zacarias
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-20uClibc: enable utmpx support in defconfigsPeter Korsgaard
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-20uClibc: default to 0.9.33Peter Korsgaard
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-19kernel-headers: bump 3.2.x stable version and add 3.3Gustavo Zacarias
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-19toolchain: disallow internal/ctng toolchains for microblazePeter Korsgaard
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-18Microblaze: added external toolchain from XilinxAlvaro G. M
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-18DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, ↵Alvaro G. M
$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-18elf2flt: fix after conversion of binutils to package infrastructureArnout Vandecappelle (Essensium/Mind)
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-15debug: provide an option to copy the gdbserver to the targetThomas Petazzoni
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-15ext-toolchain: Automatically set -m64 if the architecture is x86_64Arnout Vandecappelle (Essensium/Mind)
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-13gcc: bump 4.4.x versionPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-13kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-06toolchain-external: add linaro 2012.02Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-06Merge branch 'for-2012.05/ext-toolchain-updates' of ↵Peter Korsgaard
git://git.free-electrons.com/users/thomas-petazzoni/buildroot
2012-03-04gcc: bump 4.6.x versionPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-03-01external-toolchain: add support for Linaro 2012.01Thomas Petazzoni
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-01external-toolchain: fix description of PowerPC 2010.09 from Mentor GraphicsThomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: adjust check for uClibc static toolchainsThomas Petazzoni
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-01external-toolchain: run checks even on extracted toolchainsThomas Petazzoni
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-01external-toolchain: details on selecting the multilib variantsThomas Petazzoni
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-01external-toolchain: Blackfin.uclinux.org 2011R1-RC4Thomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: add Sourcery CodeBench x86/x86_64 2011.09Thomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: add Sourcery CodeBench PowerPC 2011.03Thomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: bump MIPS 2011.03 from -93 to -110Thomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: add Sourcery CodeBench ARM 2011.09Thomas Petazzoni
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-03-01external-toolchain: remove 2009q1 ARM Sourcery toolchainThomas Petazzoni
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-01Expand external toolchain wrapper to custom flagsThomas Petazzoni
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-01Support multilib variants in sub-subdirectoriesThomas Petazzoni
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-01Improve external toolchain logic to support IA32 Sourcery CodeBench toolchainThomas Petazzoni
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-01kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-27uClibc: rename 0.9.33 syscall_ncs patchPeter Korsgaard
No need for double dashes - Purely cosmetical. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-24kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-16uClibc: add upstream 0.9.33 fixesPeter Korsgaard
Fixes build on E.G. powerpc. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-14kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-09dependencies: move from toolchain/ to support/Thomas De Schampheleire
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-09kernel-headers: bump 3.2.x stable versionPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-08dependencies.sh: fix host g++ check when ccache is usedPeter Korsgaard
Similar to how we do it for gcc. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-06kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02uClibc: tweak 0.9.33 / snapshot configsPeter Korsgaard
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-02toolchain-buildroot: enable / default to NPTL fr uClibc 0.9.33 as wellPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02uClibc: add 0.9.33Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-26kernel-headers: bump 3.0.x / 3.2.x stable versionsPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24gdb: add 7.4, mark 7.1 as deprecatedPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-24gdb: also force ELF support for gdbhostPeter Korsgaard
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-22ctng: use gcc 4.4.6Peter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22ctng: use 3.0.4 kernel headersPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-22ctng: use internal toolchain uClibc config, build uClibc 0.9.32Peter Korsgaard
So the uClibc configurations are kept in sync between the two toolchain methods. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-18kernel-headers: bump 3.1.x stable versionPeter Korsgaard
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>