Commit Graph

187 Commits

Author SHA1 Message Date
Thomas Petazzoni
a9df50486c uClibc: use BR2_ENDIAN to simplify endianess selection
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 22:03:51 +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
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
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
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
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
713bb00aa2 uclibc: update internal toolchain build
Update the uClibc build procedure to accomodate for the new build
system, otherwise it breaks with snapshot versions.
As pointed by linuxjacques on IRC.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-07 22:42:48 +01:00
Thomas De Schampheleire
2af8cace6f uclibc: rename uclibc-update to uclibc-update-config
The original name uclibc-update is confusing as it only updates a
configuration file.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-11 20:14:40 +01:00
Thomas Petazzoni
59a326b934 support: move patch-kernel.sh and rename it
The name "patch-kernel.sh" is a bit stupid, since this script is used
to patch everything in Buildroot, not only kernel trees.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-17 08:15:32 +02:00
Peter Korsgaard
4ee9d569f9 uClibc: drop BR2_PROGRAM_INVOCATION option
Remove the BR option and enable the configuration setting in the
uClibc defconfigs.

The BR2_PROGRAM_INVOCATION option only adds very little overhead to
uClibc, and we have a number of packages needing it, so simply always
enable it - Simplifying the kconfig logic and the number of choices
users have to make.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-27 11:56:53 +02:00
Phil Edworthy
d5247aa842 sh: Fix Buildroot sh targets to match gnuconfig targets
sh2eb and sh2a_nofpueb gnuconfig targets are no longer supported
in Buildroot. This patch replaces these Buildroot targets with sh2
and sh2a respectively, and adds sh4a targets as these are widely
used.

To build for devices without an fpu, the relevant toolchain flags
will have to be specified.

Signed-off-by: Phil Edworthy <phil.edworthy@renesas.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-18 23:26:12 +02:00
Peter Korsgaard
9209091780 uClibc: fix uclibc-menuconfig with ccache enabled
If ccache is enabled, we need to ensure it is built for the host before
anything else.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-02-25 13:18:45 +01:00
Gustavo Zacarias
17dfec8c9b toolchain: drop BR2_CROSS_TOOLCHAIN_TARGET_UTILS option
It's really not very useful, all it does is install a target
strace and ldd in a target_utils directory in staging.
While at it clean up the strace makefile a bit.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-29 23:14:48 +01:00
Gustavo Zacarias
514c019aa0 uclibc: move tools to host dir
Move uclibc host tools (ldd/ldconfig) to host dir.
They were previously installed in the staging dir.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-28 22:56:45 +01:00
Thomas Petazzoni
ab64b95e4d toolchain: move Stack Protection Support option
The BR2_USE_SSP option is only used inside the uClibc build, so only
meaningful for Buildroot internal toolchains. Therefore, the option is
moved to the right location so that it isn't visible when working with
external toolchains.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-12-13 22:06:15 +01:00
Peter Korsgaard
d0c3d1cf43 sed: get rid of host-sed variant
And all the infrastructure surrounding it. A broken sed implementation
is quite rare nowadays, as seen by the fact that the current host-sed
support has been broken for a while, so just get rid of it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-09-30 23:09:39 +02:00
Stanislav Bogatyrev
e8fdc08dc3 uClibc: fix ppc e500 handling
Closes #2449

Signed-off-by: Stanislav Bogatyrev <bogatyrev_stanislav@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-08-29 00:14:40 +02:00
Peter Korsgaard
ebf21166b7 uClibc: remove old 0.9.28 support
Not supported upstream and needs complicated workaround for the NPTL stuff.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 17:02:29 +02:00
Khem Raj
cfbf8abc33 Add support for uclibc NPTL toolchain.
This patch modifies current toolchain build sequence so that
NPTL enabled toolchain can be built. The new sequence works
well with linuxthreads as well.

It introduces a new pass for gcc cross compilation. The new
sequence is binutils->gcc-initial->linux-headers -> uclibc-configured
(some cheats to generate phony shared libc.so and libm.o)
-> gcc-intermediate(with shared lib support) -> uclibc -> gcc-final

I also added a new sample config arm_nptl_toolchain_defconfig which
builds the toolchain and busybox.

I have only tried it on arm. However it should work for other
architectures which support NPTL on uclibc e.g. mips, sh, x86, ppc, x86_64

Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-07-29 16:57:00 +02:00
Peter Korsgaard
5fd095b374 toolchain: remove gcc 4.1.2 and non-sysroot support
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-06-15 23:16:55 +02:00
Thomas Petazzoni
4c57d9638f uclibc: make sure the default configuration doesn't ask questions
Since new configuration options have been added in 0.9.31, the value
of these configuration options should be determined, either by the
default configuration file we provide, or by uclibc.mk process.

The locale generation process should probably be improved in order to
allow building other locales than just en_US.

[Peter: fixup locale handling, add PROGRAM__NAME to defconfig]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-05-02 23:59:28 +02:00
Thomas Petazzoni
51a7a978a3 Remove BR2_ENABLE_LOCALE_PREGENERATED
The option is marked broken since october 2009, and even the uClibc
configuration help text says that using pregenerated locales is highly
discouraged.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2010-04-11 21:10:34 +02:00
Gustavo Zacarias
633049d800 Enable e300c2, e300c3 and e500mc powerpc optimizations
Closes #1513

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-08 13:16:13 +02:00
Peter Korsgaard
c95174a8df uclibc: don't install libs to target if BR2_PREFER_STATIC_LIB
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-05 13:44:47 +02:00
Peter Korsgaard
266fa65afb toolchain: add uClibc 0.9.31, mark 0.9.30.x as recent
Enable susv3/susv4 legacy support for now, as a lot of packages (E.G.
busybox) breaks with the stricter interpretation in 0.9.31.
Also slightly tweak uclibc.mk as the "new" linuxthreads symbol changed.

Test built on x86/x86-64/ppc/arm/mips.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-05 10:47:54 +02:00
Will Wagner
17541bd0ec uclibc: Fix for improper copying of kernel headers
Closes #1219

Signed-off-by: Will Wagner <will_wagner@carallon.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-04-03 10:30:53 +02:00
Peter Korsgaard
f220498f4b get rid of broken nios2 support
Has been marked as broken for more than 1 year, with no indication
that anyone cares, and it needs a bunch of special handling.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2010-03-30 17:19:59 +02:00
Thomas Petazzoni
4e813d99f9 uclibc: get rid of avr32 special version since upstream works
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-15 10:49:59 +01:00
Thomas Petazzoni
bc994c533c Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCE
The BR2_TOOLCHAIN_SOURCE option is removed in a future commit.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:47 +01:00
Thomas Petazzoni
8a5c3653ac uclibc: remove support for external source toolchains
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:46 +01:00
Thomas Petazzoni
3a24927a0e uclibc: add avr32 special version
* Add a new 0.9.30-avr32-2.1.5 version of uClibc in Config.in

 * Add a patch for 0.9.20-avr32-2.1.5

 * Select a different UCLIBC_SITE for avr32 versions in uclibc.mk

 * Add the LINKRELAX=y configuration option to the uClibc .config file
   in uclibc.mk

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-12-14 23:54:43 +01:00
Peter Korsgaard
09d62e89e7 toolchain/uClibc: install ldd to target
Reported by Julien Boibessot <julien.boibessot@free.fr>.

This somehow got disabled by cb815ae003 (two years ago!).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-11-17 17:37:11 +01:00
Bernhard Reutner-Fischer
473a91dbe6 *-menuconfig needs dirs to exist
In a pristine checkout the -menuconfig targets need their build dirs
to exist.

Signed-off-by: Bernhard Reutner-Fischer <rep.dot.nop@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-10-09 14:31:21 +02:00
Michael Roth
cb5710c538 rename TOOL_BUILD_DIR to TOOLCHAIN_DIR
To reflect the new output directory hierachy rename the Makefile variable
TOOL_BUILD_DIR to TOOLCHAIN_DIR.

Signed-off-by: Michael Roth <mroth@nessie.de>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-23 09:15:27 +02:00
Thomas Petazzoni
af2390c0f4 toolchain: use qstrip
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-09-05 14:43:18 +02:00
Austin Foxley
4d0c00588f uClibc as of 20090825 requires the ARCH to be specified when we call it's make
Signed-off-by: Austin Foxley <austinf@cetoncorp.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-09-03 21:20:18 +02:00
Thomas Petazzoni
8d880c3e5c Fix PROGRAM_INVOCATION handling with external toolchains
BR2_UCLIBC_PROGRAM_INVOCATION is a toolchain configuration option,
like BR2_INET_IPV6, BR2_INET_RPC, on which some packages
depend. Therefore, it should be handled like BR2_INET_IPV6 and
BR2_INET_RPC in order to work properly with external toolchains.

Since we move it out of toolchain/uClibc/Config.in into
toolchain/Config.in.2, we rename the option to BR2_PROGRAM_INVOCATION
(since BR2_INET_RPC and others don't have UCLIBC in their name).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2009-07-31 11:40:34 +02:00
Maxim Grigoriev
58050c286b toolchain/uclibc: xtensa support
Part of #163.

Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2009-07-24 02:22:08 +02:00
Peter Korsgaard
503ab93cfe toolchain: add BR2_USE_SSP option for stack protection support
Using the support in uClibc.
2009-04-22 07:27:22 +00:00
Peter Korsgaard
8e4ba1b452 uclibc: cleanup version handling
Based on 0171c72 in Bernhards' tree.
2009-03-03 20:23:10 +00:00
Peter Korsgaard
7664a62a0c uclibc: add 0.9.30.1 2009-03-03 09:41:15 +00:00
Peter Korsgaard
92bd25c9eb toolchain: fix up GNU_TARGET_NAME link and target_utils location
The GNU_TARGET_NAME symlink and target_utils location were not correctly
adjusted to match the move of the toolchain to $(STAGING_DIR)/usr,
creating dangling symlinks.
2009-01-30 13:34:42 +00:00
Peter Korsgaard
0ef35d5d5e toolchain/: convert to DOWNLOAD helper 2009-01-16 11:47:05 +00:00
Peter Korsgaard
35dc4cd628 toolchain: sh64 fixes
- arch/sh and arch/sh64 got merged in 2.6.25, so use arch/sh for sh64 as well
- use little endian for sh64, like for 32bit sh

sh64 still doesn't build, but gets further along now.
2009-01-13 15:09:18 +00:00
Peter Korsgaard
6e4c616df8 toolchain/uclibc: fix sparc SED handling of _V9 / _V9B 2009-01-12 15:01:28 +00:00
Peter Korsgaard
5b220b9ded toolchain/uclibc: propagate mips mips32r2 variant setting to uclibc
0.9.30 supports MIPS_ISA_MIPS32R2, so use it if mips32r2 variant is selected.
2009-01-12 14:11:40 +00:00
Ulf Samuelsson
55abdf59e8 Remove whitespace damage in uclibc.mk 2009-01-02 08:30:44 +00:00
Peter Korsgaard
40a2bdae7c toolchain/uclibc: fix typo 2008-12-23 10:21:07 +00:00
Peter Korsgaard
11050fcc62 toolchain/uclibc: Add BR2_ENABLE_LOCALE_PREGENERATED option
Add an option to either generate locales yourself or download the
pregenerated set.

Based on 4bdca9cc in Bernhard's tree.
2008-12-23 09:39:05 +00:00
Peter Korsgaard
0e14d4f7ff toolchain/: get rid of unneeded $(strip ..) 2008-12-08 08:15:42 +00:00