Commit Graph

1667 Commits

Author SHA1 Message Date
Thomas Petazzoni
9fbdf062b9 toolchain-external: improve glibc support to test availability of RPC
Basically, the BR2_TOOLCHAIN_EXTERNAL_GLIBC option no longer
unconditionally selects BR2_TOOLCHAIN_HAS_NATIVE_RPC since there are
glibc toolchains that don't have RPC support. All the predefined
toolchain profiles are updated to take into account this change: for
the moment, all glibc toolchains that have pre-defined toolchains have
RPC support, but further patches in the series add pre-defined glibc
toolchains that don't have RPC support. In the case of custom glibc
toolchains, a question is asked to the user so that he can say whether
the external glibc toolchain has RPC support or not. The validity of
this configuration option is checked by the new
check_glibc_rpc_feature function in helpers.mk.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:22:43 +01:00
Thomas Petazzoni
0858e000fe Rename BR2_INET_RPC to BR2_TOOLCHAIN_HAS_NATIVE_RPC
The BR2_INET_RPC has for a long time been a not very descriptive
configuration option name, and with the advent of non-RPC glibc
toolchains and the apparition of libtirpc, we really need to rename it
to something more sensible, BR2_TOOLCHAIN_HAS_NATIVE_RPC.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:14:48 +01:00
Thomas Petazzoni
97a3f9e94c toolchain-crosstool-ng: use the Crosstool-ng config options instead of the common hidden ones
Since we are some day going to finally rename the badly named common
toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
etc.) into something more logical, let's start using the Crosstool-NG
toolchain options in the Crosstool-NG code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:12:57 +01:00
Thomas Petazzoni
6ee99c01d9 uClibc: use the Buildroot toolchain options instead of the hidden common options
Since we are some day going to finally rename the badly named common
toolchain options (BR2_USE_WCHAR, BR2_ENABLE_LOCALE, BR2_INET_RPC,
etc.) into something more logical, let's start using the Buildroot
toolchain options in the uClibc code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-04 01:08:49 +01:00
Thomas Petazzoni
db09796532 gdb: adjust behavior when thread debug is not available
When an external toolchain without thread debug is used, the gdb
package can be selected, but no version can be choosen, since none
match any of the requirements. This leads Buildroot to try to build
gdb for the target without a version being defined, as in the
following build log:

 http://autobuild.buildroot.org/results/84e8fd2df0cc22448052a572c2e9a6e03dd137eb/build-end.log

To fix this, we adjust the dependencies of the BR2_PACKAGE_GDB option
so that the package as a whole is not selectable when the required
conditions are not met. Basically, we have the choice of:

 * Having a toolchain that supports thread debugging, which is needed
   for gdb >= 7.x

 * Having BR2_DEPRECATED enabled, which allows gdb 6.8 to be selected,
   which doesn't require thread debugging

 * Using bfin, since this architectures has a special old gdb version

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-03 17:51:29 +01:00
Gustavo Zacarias
2251b7502a kernel-headers: bump 3.{0, 2, 4, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:23:19 +01:00
Thomas Petazzoni
d27e09a71a toolchain: make external toolchain the default for AArch64
Our internal toolchain backend does not yet have support for AArch64,
and Crosstool-NG also does not have support for AArch64 at the moment
(though it should be coming quickly since the Linaro AArch64 toolchain
is generated with a modified Crosstool-NG version).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:07:03 +01:00
Thomas Petazzoni
7c7512de16 toolchain-external: add aarch64 external toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-02 21:06:30 +01:00
Gustavo Zacarias
702e34697a kernel-headers: bump 3.{0, 4, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-29 21:53:44 +01:00
Xinglong Liao
d3e7759f85 toolchain/uClibc: correct a slip of the pen
UCLIB_EXTRA_CFLAGS -> UCLIBC_EXTRA_CFLAGS

Signed-off-by: Xinglong Liao <xinglong.liao@gmail.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-26 13:23:29 +02:00
Thomas Petazzoni
c90897b7db toolchain-external: remove support for Linaro 2012.05 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-26 13:12:49 +02:00
Thomas Petazzoni
94ca09c472 toolchain-external: add support for Linaro 2012.10 toolchain
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-26 13:12:33 +02:00
Peter Korsgaard
6f6db416b8 kernel-headers: bump 3.{0,4,6}.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-22 11:54:01 +02:00
Jean-Mickael Guerin
c8fd94218e toolchain: have check_glibc to search deeper for ld-linux
ld-linux*.so may not be present in lib/ directory, it could be
in lib32 and/or lib64 only. But check_glibc reports
"Incorrect selection of the C library" in this case, which is
not true.
Fixed by extending the search to  SYSROOT/*/*.

Signed-off-by: Jean-Mickael Guerin <jean-mickael.guerin@6wind.com>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-20 21:05:39 +02:00
Gustavo Zacarias
24d3cd0b41 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-10-19 14:47:37 +02:00
Thomas Petazzoni
965cab82af toolchain/crosstool-ng: vendor part of tuple should be 'buildroot'
Since 11017f081f, the Crosstool-ng
backend generates toolchains that have a prefix inconsistent with what
Buildroot expects. Buildroot expects a "buildroot" vendor name, while
Crosstool-NG builds toolchain with the "unknown" vendor name.

This is causing build failure such as:

  http://autobuild.buildroot.org/results/15b2c0e50a81b86dd13af684c9254df2bc0df8de/build-end.log

Fix this by changing the vendor part of the tuple used by Crosstool-NG
to "buildroot".

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-18 09:10:32 +02:00
Thomas Petazzoni
4e5f63a569 gdb: target gdb not available on microblaze
Fixes

  http://autobuild.buildroot.org/results/5950c95ca12721dd910ad72fe52bfa9ac45a5120/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-14 20:14:39 +02:00
Gustavo Zacarias
4006b76570 kernel-headers: bump 3.{0, 4, 5, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-13 22:26:57 +02:00
Gustavo Zacarias
f9d2bcd142 toolchain/kernel-headers: drop unused cris architecture kludge
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-11 22:25:54 +02:00
Gustavo Zacarias
62381c94c7 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-10-10 23:34:54 +02:00
Gustavo Zacarias
21fe55eb80 kernel-headers: bump 3.{0, 4, 5, 6}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-08 17:55:37 +02:00
Baruch Siach
96688934c4 external-toolchain: BR2_TOOLCHAIN_EXTERNAL_GLIBC includes eglibc
Yann E. MORIN says:

    "Although eglibc can be configured to include/exclude parts of the
    features, it seems to not be in wide use, if at all."

Acked-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-04 22:20:37 +02:00
Gustavo Zacarias
06ddc35bd7 kernel-headers: bump 3.{0, 4, 5}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-03 23:59:09 +02:00
Peter Korsgaard
d1344dbbd4 kernel-headers: add 3.6 kernel
And deprecate 2.6.39.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-02 08:48:33 +02:00
Fabio Porcedda
7bcb494dcc external-toolchain: add Sourcery CodeBench ARM 2012.03
Signed-off-by: Fabio Porcedda <fabio.porcedda@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-29 09:56:26 +02:00
Peter Korsgaard
820cf37152 toolchain-external: add linaro 2012.0{7,8,9}
And remove the 2012.0{2,3,4} versions.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-29 09:54:34 +02:00
Peter Korsgaard
ae5dfe556a kernel-headers: bump 3.2.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-21 09:59:36 +02:00
Peter Korsgaard
6fdc695128 gcc: bump 4.7.x version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-21 07:29:54 +02:00
Thomas Petazzoni
669d07bdd4 Remove the Xtensa architecture
As stated in commit 555c2585bf, the
Xtensa architecture has been introduced in 2009 and never changed
since its initial introduction. It requires some special handling that
is a bit annoying, and despite our call to the initial developers, and
the announcement of the deprecation of the architecture during the
2012.05, nothing has happened. Therefore, drop support for this
architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: me
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:31:08 +02:00
Thomas Petazzoni
218497de42 Move BR2_SPARC_TYPE to an uClibc specific place
BR2_SPARC_TYPE is a hidden configuration option that is only used for
the configuration of uClibc, therefore, we move it from
target/Config.arch.in to toolchain/uClibc/Config.in.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:24:16 +02:00
Thomas Petazzoni
ff67685ed9 Move BR2_ARM_TYPE to an uClibc specific place
BR2_ARM_TYPE is a hidden configuration option that is only used for
the configuration of uClibc, therefore, we move it from
target/Config.arch.in to toolchain/uClibc/Config.in.

We also add a comment that explains that this stuff is only useful for
uClibc <= 0.9.32. Starting from 0.9.33, uClibc build process simply
uses the compiler flags to find the ARM processor that should be
used. So, someday, we'll be able to remove this.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 22:24:13 +02:00
Gustavo Zacarias
3165ae39ba kernel-headers: bump 3.{0, 4, 5}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-16 23:19:12 +02:00
Peter Korsgaard
b98ccc4ea2 kernel-headers: bump 3.2.x stable version
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-12 23:13:41 +02:00
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
Peter Korsgaard
27045cde7d gcc: default to 4.6.x
4.5.x is no longer maintained upstream.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 13:28:03 +02:00
Peter Korsgaard
1da12bd372 kernel-headers: add 3.5.x, remove 2.6.36.x
And deprecate 2.6.38.x.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 13:13:10 +02:00
Peter Korsgaard
f921317a8c kernel-headers: bump 3.{0,2,4}.x stable versions
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-04 13:11:09 +02:00
Peter Korsgaard
666eb02be3 toolchain/helpers.mk: fix check_glibc sysroot typo
Introduced by 68973cca2 (adjust logic to support Linaro 2012.05)

Reported-by: R Zhong <rzhong@hotmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-08-31 21:44:17 +02:00
Gustavo Zacarias
8b9523938e kernel-headers: bump 3.{0, 2, 4}.x stable versions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-11 20:30:40 +02:00
Yann E. MORIN
69bd456661 package/crosstool-ng: update to 1.16.0
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-06 14:56:08 +02:00
Thomas Petazzoni
1f6e2b4a95 toolchain-external: microblaze toolchains are glibc-based
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-02 21:44:15 +02:00
Thomas Petazzoni
f648ad2817 toolchain-external: do not allow the user to select hard/soft float
Commit ba92d6ef68 made hard float the
default when Cortex-A8 and Cortex-A9. The problem it was trying to fix
is that the newer Linaro toolchains (2012.05 and 2012.06) are
hard-float, so the default selection of soft-float enabled on ARM
doesn't work for those toolchains.

Unfortunately, not selecting soft-float causes problems with
the Crosstool-NG backend at the moment.

As an intermediate solution, make the soft float option disappear when
using external toolchain: the toolchain will decide by itself whether
to generate hard float or soft float code.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-08-01 20:04:50 +02:00
Gustavo Zacarias
588cc81c0a kernel-headers: bump 3.4.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-31 23:38:36 +02:00
Thomas Petazzoni
2ff012b3c7 Simplify x86 target architecture variant handling
Instead of having two separate list of choices for select the target
architecture variant for i386 and x86_64, with many CPU choices
duplicated (because all modern x86 CPUs can be both used as i386 or
x86_64), merge them into a single list. In the x86_64 case, all the
x86 CPUs that do not support the 64 bits instruction set are hidden.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-31 00:00:29 +02:00
Gustavo Zacarias
42934cac76 kernel-headers: bump 3.2.x stable version
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-30 19:19:09 +02:00
Thomas Petazzoni
701940770b toolchain-external: make preinstall the default for custom toolchains
All the defconfig files used by the autobuilders that use
pre-installed external toolchains are making the assumption that the
default for a custom external toolchain is "pre-installed". We keep
this default for now, since changing it breaks the autobuilders.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 20:57:26 +02:00
Thomas Petazzoni
5cc4924825 toolchain-external: add Sourcery CodeBench MIPS 2011.09
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:29:37 +02:00
Thomas Petazzoni
adf586ecb9 toolchain-external: add Blackfin toolchain 2012R1-BETA1
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00
Thomas Petazzoni
67ef65600d toolchain-external: remove ARM CodeSourcery 2009q3
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-22 17:17:03 +02:00