Commit Graph

341 Commits

Author SHA1 Message Date
Thomas Petazzoni
8e55f03a54 Clarify MIPS ABIs support
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>
2012-09-04 22:03:55 +02:00
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
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
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
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
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
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
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
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
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
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
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
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
aea3ac7a9f uClibc: add 0.9.33
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 00:34:12 +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
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
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
Gustavo Zacarias
7dc413255b uClibc: add unshare() syscall support
Add unshare() syscall support for uClibc 0.9.31 and 0.9.32 series.
This is required by newer versions of iproute2.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-07 21:53:28 +01:00
Gustavo Zacarias
eb9e933292 uClibc: remove deprecated 0.9.30 series
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-07 21:48:57 +01:00
Peter Korsgaard
1db649c6fe uClibc: remove trailer from linuxthreads-errno patches confusing modern patch
Modern versions of patch (2.6.1.81 / 85 tested) gets confused by the empty
git trailer referencing uClibc_errno.h (from when patch was forward ported
from 0.9.31), so drop it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-24 22:29:46 +01:00
Gustavo Zacarias
8c38a0a44b uClibc: fix sparc build breakage
Closes #4021

Fix build breakage for sparc as reported in bug #4021
Patches from Konrad Eisele <konrad@gaisler.com>
Submitted in the uclibc mailing list.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-17 06:57:19 +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
Gustavo Zacarias
922f19fe80 uClibc: update snapshot config to avoid stalling
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-02 12:11:33 +01:00
Gustavo Zacarias
6fed97eb0d uClibc 0.9.31.1: add patch to export strverscmp for real
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-02 12:11:17 +01:00
Gustavo Zacarias
a43020192f uClibc: add patches to fix daylight saving issues
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-11-02 12:10:36 +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
ab6b9e77fe uClibc: add patches to unbreak 0.9.32 on powerpc e500
Patches from Jason Woodward, posted on the uClibc list back in July.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-13 16:02:38 +02:00
Peter Korsgaard
5c6212aea6 uClibc: disallow 0.9.32 on sh
Build breaks during final uClibc build with 0.9.32.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-16 08:36:01 +02:00
Peter Korsgaard
3037dba2f1 uClibc: disallow 0.9.32 on avr32
Build breaks during gcc-intermediate step with 0.9.32.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-15 19:17:36 +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
920dd594ed uClibc: fix 0.9.32 build on x86
Patch from uClibc git.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-07 00:53:43 +02:00
Peter Korsgaard
31f5268b3d toolchain/uClibc: remove 0.9.29, mark 0.9.30 as deprecated
0.9.29 doesn't seem to build anymore with the toolchain versions in BR
and is very old, so remove it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-04 10:15:37 +02:00
Peter Korsgaard
339687aa2e uClibc: bump 0.9.32 version, use as default
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-09 12:03:30 +02:00
Peter Korsgaard
3eb9a36aa3 uClibc: bump 0.9.31.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-06-09 10:18:05 +02:00
Thomas Petazzoni
80830a198e uClibc: remove AVR32 patches for 0.9.29
The 0.9.29 version of uClibc can no longer be selected on AVR32 since
December 2009 (b642f7eefb). Therefore,
those two patches are now completely useless.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2011-05-15 21:55:02 +02:00
Gustavo Zacarias
d2b325c1f0 uClibc: add linuxthreads/errno fix for snapshot version
See uclibc #2089 for details.

This is still not included upstream, but lets include it anyway as
several people have been running into the issue.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-05-02 17:43:01 +02:00
Peter Korsgaard
06c1d1001e uClibc: add linuxthreads/errno fix for 0.9.31 / 0.9.32-rc3
See uclibc #2089 for details.

This is still not included upstream, but lets include it anyway as
several people have been running into the issue.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-29 11:15:44 +02:00
Gustavo Zacarias
eac3475c47 toolchain: update uClibc snapshot config again to avoid build stalls
Update uClibc snapshot version config to avoid build stalls.

This time we take care of the new UCLIBC_HAS_FTS and
UCLIBC_HAS_BACKTRACE options.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-27 20:54:30 +02:00
Gustavo Zacarias
4cf6ec229f toolchain: add inotify_init1 syscall support to uclibc 0.9.31
Add inotify_init1 system call support to uclibc 0.9.31.
Required for modern versions of udev.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 22:37:51 +02:00
Gustavo Zacarias
99c1547124 toolchain: add SOCK_CLOEXEC and SOCK_NONBLOCK support to uclibc 0.9.31
Add SOCK_CLOEXEC and SOCK_NONBLOCK support to uclibc 0.9.31.
Required for modern versions of udev.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 22:36:29 +02:00
Gustavo Zacarias
86afa1ed6e toolchain: update uClibc snapshot config to avoid build stalls
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-04-26 21:38:46 +02:00
Peter Korsgaard
b922f6404d uClibc: bump 0.9.32-rc version
To -rc3 and update defconfig to match.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-03-16 22:28:13 +01: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