summaryrefslogtreecommitdiffstats
path: root/toolchain/uClibc/uclibc.mk
Commit message (Collapse)AuthorAgeFilesLines
* Clarify MIPS ABIs supportThomas Petazzoni2012-09-041-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Practically speaking, MIPS has three useful ABIs: * o32 is for 32-bits CPUs, or 64-bit CPUs running only a 32-bit subset of the instruction set. * n32 is for 64-bits CPUs only. It has 32-bits pointers and long integers. * n64 is for 64-bits CPUs only. It has 64-bits pointers and long integers. See http://www.linux-mips.org/wiki/MIPS_ABI_History and http://www.linux-mips.org/wiki/WhatsWrongWithO32N32N64 for more details. So, this commit reworks the Buildroot MIPS support by: * Add separate mips64/mips64el top-level architectures. * Renaming the n32 ABI option to BR2_MIPS_NABI32, for consistency with BR2_MIPS_OABI32. * Renaming the n64 ABI option to BR2_MIPS_NABI64, for consistency with BR2_MIPS_OABI32. * Make the n32 and n64 ABI selections select the BR2_ARCH_IS_64, since those ABIs are valid on 64-bits CPUs only. * Removing the o64 ABI, which is practicaly never used. * Removing the "none" ABI, which really doesn't make sense. * Introduce the mips64 and mips64el architecture names when a 64-bits MIPS ABI is choosen. This will fix build issue like http://autobuild.buildroot.org/results/9b8c5ea86c953a89e85e7b67e9221de41773f652/build-end.log where gmp was confused by the fact of having a 32 bits architecture (detected by the mips- architecture part of the tuple) but 64 bits integer size when compiling. * Adjust the uclibc.mk logic to support the new mips64/mips64el architecture names, and take into account the renaming of the ABI options. This has been build tested by generating Buildroot toolchains and compiling a few packages for MIPS o32, MIPS n32 and MIPS n64. This work is originally based on prior work done by Gustavo Zacarias. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: use BR2_ENDIAN to simplify endianess selectionThomas Petazzoni2012-09-041-15/+2
| | | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain/mips: kill EABI and fix N32Gustavo Zacarias2012-07-151-1/+1
| | | | | | | | | 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>
* Remove REAL_GNU_TARGET_NAMERichard Braun2012-06-231-2/+1
| | | | | | | | 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>
* Add support to generate locale dataThomas Petazzoni2012-05-091-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* DOWNLOAD: change $1=DIRECTORY_URL, $2=FILE_NAME to $1=FULL_FILE_URL, ↵Alvaro G. M2012-03-181-1/+1
| | | | | | | | | | | | | | | | | | | | | $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>
* toolchain: add powerpc SPE ABI supportGustavo Zacarias2012-01-071-1/+7
| | | | | | | | | | | | | | | | | 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>
* uclibc: update internal toolchain buildGustavo Zacarias2011-12-071-0/+6
| | | | | | | | | 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>
* uclibc: rename uclibc-update to uclibc-update-configThomas De Schampheleire2011-11-111-1/+1
| | | | | | | | | 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>
* support: move patch-kernel.sh and rename itThomas Petazzoni2011-09-171-2/+2
| | | | | | | | 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>
* uClibc: drop BR2_PROGRAM_INVOCATION optionPeter Korsgaard2011-07-271-7/+0
| | | | | | | | | | | | 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>
* sh: Fix Buildroot sh targets to match gnuconfig targetsPhil Edworthy2011-07-181-2/+2
| | | | | | | | | | | | | | 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>
* uClibc: fix uclibc-menuconfig with ccache enabledPeter Korsgaard2011-02-251-0/+7
| | | | | | | 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>
* toolchain: drop BR2_CROSS_TOOLCHAIN_TARGET_UTILS optionGustavo Zacarias2010-12-291-5/+0
| | | | | | | | | 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>
* uclibc: move tools to host dirGustavo Zacarias2010-12-281-6/+6
| | | | | | | | 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>
* toolchain: move Stack Protection Support optionThomas Petazzoni2010-12-131-1/+1
| | | | | | | | | | 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>
* sed: get rid of host-sed variantPeter Korsgaard2010-09-301-1/+1
| | | | | | | | 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>
* uClibc: fix ppc e500 handlingStanislav Bogatyrev2010-08-291-7/+1
| | | | | | | Closes #2449 Signed-off-by: Stanislav Bogatyrev <bogatyrev_stanislav@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uClibc: remove old 0.9.28 supportPeter Korsgaard2010-07-291-6/+1
| | | | | | Not supported upstream and needs complicated workaround for the NPTL stuff. Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Add support for uclibc NPTL toolchain.Khem Raj2010-07-291-5/+10
| | | | | | | | | | | | | | | | | | | | 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>
* toolchain: remove gcc 4.1.2 and non-sysroot supportPeter Korsgaard2010-06-151-9/+0
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: make sure the default configuration doesn't ask questionsThomas Petazzoni2010-05-021-1/+3
| | | | | | | | | | | | | 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>
* Remove BR2_ENABLE_LOCALE_PREGENERATEDThomas Petazzoni2010-04-111-20/+1
| | | | | | | | 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>
* Enable e300c2, e300c3 and e500mc powerpc optimizationsGustavo Zacarias2010-04-081-0/+6
| | | | | | | Closes #1513 Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* uclibc: don't install libs to target if BR2_PREFER_STATIC_LIBPeter Korsgaard2010-04-051-0/+3
| | | | Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add uClibc 0.9.31, mark 0.9.30.x as recentPeter Korsgaard2010-04-051-1/+3
| | | | | | | | | | 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>
* uclibc: Fix for improper copying of kernel headersWill Wagner2010-04-031-39/+0
| | | | | | | | 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>
* get rid of broken nios2 supportPeter Korsgaard2010-03-301-7/+0
| | | | | | | 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>
* uclibc: get rid of avr32 special version since upstream worksThomas Petazzoni2009-12-151-2/+0
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* Use BR2_TOOLCHAIN_BUILDROOT instead of BR2_TOOLCHAIN_SOURCEThomas Petazzoni2009-12-141-1/+1
| | | | | | The BR2_TOOLCHAIN_SOURCE option is removed in a future commit. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: remove support for external source toolchainsThomas Petazzoni2009-12-141-17/+5
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uclibc: add avr32 special versionThomas Petazzoni2009-12-141-1/+7
| | | | | | | | | | | | | * 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>
* toolchain/uClibc: install ldd to targetPeter Korsgaard2009-11-171-2/+1
| | | | | | | | Reported by Julien Boibessot <julien.boibessot@free.fr>. This somehow got disabled by cb815ae003d40cc971d (two years ago!). Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* *-menuconfig needs dirs to existBernhard Reutner-Fischer2009-10-091-1/+1
| | | | | | | | 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>
* rename TOOL_BUILD_DIR to TOOLCHAIN_DIRMichael Roth2009-09-231-18/+18
| | | | | | | | 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>
* toolchain: use qstripThomas Petazzoni2009-09-051-8/+4
| | | | Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* uClibc as of 20090825 requires the ARCH to be specified when we call it's makeAustin Foxley2009-09-031-1/+10
| | | | | Signed-off-by: Austin Foxley <austinf@cetoncorp.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* Fix PROGRAM_INVOCATION handling with external toolchainsThomas Petazzoni2009-07-311-1/+1
| | | | | | | | | | | | | 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>
* toolchain/uclibc: xtensa supportMaxim Grigoriev2009-07-241-0/+1
| | | | | | | Part of #163. Signed-off-by: Maxim Grigoriev <maxim2405@gmail.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
* toolchain: add BR2_USE_SSP option for stack protection supportPeter Korsgaard2009-04-221-0/+5
| | | | Using the support in uClibc.
* uclibc: cleanup version handlingPeter Korsgaard2009-03-031-24/+8
| | | | Based on 0171c72 in Bernhards' tree.
* uclibc: add 0.9.30.1Peter Korsgaard2009-03-031-0/+3
|
* toolchain: fix up GNU_TARGET_NAME link and target_utils locationPeter Korsgaard2009-01-301-2/+2
| | | | | | 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.
* toolchain/: convert to DOWNLOAD helperPeter Korsgaard2009-01-161-2/+2
|
* toolchain: sh64 fixesPeter Korsgaard2009-01-131-2/+2
| | | | | | | - 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.
* toolchain/uclibc: fix sparc SED handling of _V9 / _V9BPeter Korsgaard2009-01-121-1/+1
|
* toolchain/uclibc: propagate mips mips32r2 variant setting to uclibcPeter Korsgaard2009-01-121-2/+3
| | | | 0.9.30 supports MIPS_ISA_MIPS32R2, so use it if mips32r2 variant is selected.
* Remove whitespace damage in uclibc.mkUlf Samuelsson2009-01-021-1/+0
|
* toolchain/uclibc: fix typoPeter Korsgaard2008-12-231-1/+1
|
* toolchain/uclibc: Add BR2_ENABLE_LOCALE_PREGENERATED optionPeter Korsgaard2008-12-231-4/+6
| | | | | | | Add an option to either generate locales yourself or download the pregenerated set. Based on 4bdca9cc in Bernhard's tree.