Commit Graph

91 Commits

Author SHA1 Message Date
Waldemar Brodkorb
2b3d493095 uclibc: enable mips{32,64}r6 support
The config for ISA choice is removed for a long time as
the buildsystem does not pass -march=mips* to the compiler anymore.
For mips{32,64}r6 support NAN selection is required.

Tested with qemu mips32/mips64 defconfigs.

A small patch is required. Bug found while testing qemu defconfigs.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-03 20:56:18 +01:00
Waldemar Brodkorb
a818e29e76 arch: add OpenRISC architecture support
Add support for OpenRISC. See here for more details about
OpenRISC http://openrisc.io.

All buildroot included upstream binutils versions are supported.
Gcc support is not upstream, to be able to enable musl C library
support later, we use the branch with musl support.
At the moment it is possible to build a musl based toolchain,
but bootup in Qemu fails.

Gdb is only working to debug bare-metal code, there is no support
for gdbserver/gdb on Linux, yet.

[Peter: drop ?= for GCC_SOURCE]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-01-25 22:53:53 +01:00
Yann E. MORIN
70da1d7c46 package/uclibc: needs a host with an UTF8 locale to build locales
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-04 15:38:08 +01:00
Waldemar Brodkorb
a44d7f2dbb uclibc: update to 1.0.20
The test suite is removed from the package and is already a separate
package in buildroot. All patches are upstream, so remove them.
The UCLIBC_HAS_LFS option is removed upstream.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas: remove BR2_UCLIBC_INSTALL_TEST_SUITE option, add it to
Config.in.legacy.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-12-04 15:35:04 +01:00
Petri Gynther
8218ab8019 toolchain: configs: improve toolchain config readability
Add (or move) comment lines in toolchain-related Config.in files
to improve readability of the toolchain config section.

Source linux-headers/Config.in.host after toolchain-buildroot items.

For toolchain-buildroot case, the config file now looks like this:
*
* Toolchain
*

*
* Toolchain Buildroot Options
*

*
* Kernel Header Options
*

*
* uClibc Options
*

*
* Binutils Options
*

*
* GCC Options
*

*
* Host GDB Options
*

*
* Toolchain Generic Options
*

Signed-off-by: Petri Gynther <pgynther@google.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-25 23:31:47 +02:00
Vicente Olivert Riera
45c92c60b1 MIPS: replace every BR2_mips_* with the new MIPS CPU options
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 13:22:17 +02:00
Thomas Petazzoni
f82441bfa4 uclibc: proper thread default on m68k and Microblaze
Traditionally, Buildroot has a default of enabling thread
support. However, with the current construct of the thread choice in the
uclibc package, the m68k and microblaze architecture end up with no
thread support as the default.

In order to avoid having to explicit a more complicated "default" value
for the choice, we take a simple approach: we order the 3 possible
choices by order of "preference", since Kconfig selects the first
selectable option in a choice by default.

So, NPTL is first and is the default when available. Then comes
linuxthreads which only gets selected as the default when NPTL is
available. None is offered as a last choice (in the current
implementation, it is never the default, since all architectures can
have thread support, either through NPTL or linuxthreads).

[Thomas: reworked according to Yann's comment that we could rely on the
Kconfig behavior that selects the first available choice option.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-07 23:01:56 +02:00
Waldemar Brodkorb
6565825f27 uclibc: enable Linuxthreads for Blackfin
Enable Linuxthreads, a small binutils patch from upstream is
required.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 12:16:16 +02:00
Waldemar Brodkorb
2d6fe1d3ec toolchain-buildroot: add bfin support
With gcc 6.1.0 and binutils 2.26 internal bfin toolchain can be used. A
gcc patch is required, which was reported upstream.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-04 11:00:15 +02:00
Waldemar Brodkorb
2704f23589 uclibc: use shell script testsuite runner
There is no need for GNU make to run the testsuite.
The benefit is you can even try it on noMMU targets as
the script runs with busybox hush.
Parallel build of the testsuite seems to work well.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-06 22:35:52 +02:00
Waldemar Brodkorb
843fc19259 uclibc: add microblaze support
Latest uClibc-ng 1.0.15 release fixed open issues with
microblaze shared library and linuxthreads support.
gcc 4.9.3 and gcc 5.3.0 require a small patch.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-05 22:16:45 +02:00
Waldemar Brodkorb
f253c146de uclibc: update to 1.0.15
The Linuxthreads support got reorganized.
LT.new is removed, LT.old is the default for
Linuxthreads.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-01 21:23:29 +02:00
Thomas Petazzoni
6cb4814c87 arch/x86: remove support for i386
The Linux kernel doesn't even support i386 anymore, there is no NPTL
support for i386 and uClibc-ng only supports NPTL on x86, so there is
essentially no usable thread implementation. Most likely glibc and
musl also don't support i386 either. So it's time to remove the
support for this architecture variant.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-04-18 23:38:34 +02:00
Max Filippov
8706e865d8 uclibc: enable linuxthreads for xtensa
linuxthreads is the only threading option for noMMU xtensa, enable it.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-31 03:56:32 +02:00
Thomas Petazzoni
c218c337c7 uclibc: NPTL thread implementation only available on MMU platforms
As indicated by the uClibc-ng source code, the NPTL thread
implementation is only available on MMU platforms, so we replicate
this dependency in Buildroot so that the appropriate thread
implementation is chosen by default on ARM noMMU.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-30 00:23:00 +02:00
Thomas Petazzoni
0bbe85e6ea uclibc: remove USE_BX handling
Now that uClibc is capable of figuring out by itself whether 'bx' can
be used or not, we can simplify the logic in Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-30 00:14:55 +02:00
Thomas Petazzoni
824e303eab uclibc: remove version selection
Since we now only support uClibc-ng, remove the version selection from
the uclibc package.

Note that the BR2_UCLIBC_VERSION_SUPPORTS_* hidden booleans, which
were only used to allow each uClibc version to specify which thread
implementation they support and on which architecture are removed. Now
such architecture dependencies are directly encoded in the "Thread
library implementation" choice.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
07596f23a2 uclibc: remove support for the snapshot version
The snapshot version points to the original uClibc project, which is
dead. Moreover, we no longer support "snapshot" versions for any other
Buildroot component, so there is no reason to keep it for uClibc.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Thomas Petazzoni
0a40d0191a uclibc: remove 0.9.33 version
The upstream project is dead, the 0.9.33 version requires tons of
patches, and uclibc-ng has now successfully replaced uclibc. It is
time to get rid of the 0.9.33 version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 19:32:43 +01:00
Waldemar Brodkorb
9bb1eaef9c uclibc: update uClibc-ng to latest version 1.0.11
Update to 1.0.11. Contains a lot of bugfixes
and some new features:
 * mips{32r6,64r6} enablement
 * argp support
 * support for very simple /etc/gai.conf
 * Xtensa nommu vfork fix
 * systemd portability fixes

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-01-12 22:29:47 +01:00
Yann E. MORIN
863036378b package/c-libraries: need linux-headers
Now that we check that a target package in the _DEPENDENCIES of another
package has to be enabled in config, all target packages must have a
kconfig symbol.

Add a Kconfig symbol for linux-headers, and select it from the packages
that depends on it (C libraries).

Also remove the now-misleading comments "for legal-info" from the C
libraries.

Fixes:
    http://autobuild.buildroot.org/results/2a9/2a9e5d27b34357819b44f573a834da1ba5079030/
    ... and numerous similar failures ...

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-12-30 09:54:33 +01:00
Waldemar Brodkorb
1ca617fe72 uclibc: cleanup unused ARC stuff
ARC is supported by uClibc-ng, cleanup old code.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-16 23:54:31 +01:00
Waldemar Brodkorb
67299e3ae0 uclibc: update to 1.0.9
Fixes a fanotify include bug where old kernels (2.6.x) fail to build.
Fixes recent failures on x86 with Linux 4.3.x kernel regarding
network sockets. Includes the removed patch.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-11-16 23:45:32 +01:00
Alexey Brodkin
1c8e10e0ca uclibc: get rid of ARC's uClibc fork
For quite some time all ARC changes have been pushed upstream.
So both uClibc master branch and uClibc-ng have full ARC support
including the most recent changes.

I.e. finally we have reached the point when there's no need in
Synopsys fork of uClibc on GitHub and it will soon be obsoleted and
removed at some pint of time.

Now since vanilla uClibc hasn't seen any releases for many years we cannot
really use it for ARC. Fortunately there exists uClibc-ng and Waldemar
cuts releases regularly - that works perfectly fine for us.

That patch removes all mentions of ARC's uClibc which in turn makes
uClibc-ng default libc for ARC.

Cc: Waldemar Brodkorb <wbx@openadk.org>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-By: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-27 22:09:02 +01:00
Waldemar Brodkorb
1f8aaa3730 uclibc: update uClibc-ng to 1.0.8
Fixes following problems:
- mips64 toolchain building when UCLIBC_HAS_CONTEXT_FUNCS is enabled
- segfault when SSP and NPTL is used for static binaries
- Updates for ARC and Xtensa
- missing syscalls for fanotify_init() and fanotify_mark() are added
- support for the syncfs() system call added
- problems compiling freeswitch are fixed
- problems running LTP regarding fallocate are fixed

Tested with defconfigs for Qemu arm/ppc/sh/mips/x86/x86_64/xtensa.

Signed-off-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-10-25 21:51:40 +01:00
Waldemar Brodkorb
7340143a5c toolchain: add mips64 for uClibc-ng
Filter out all other uClibc versions, as they containing
serious bugs for mips64.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-13 00:01:25 +02:00
Waldemar Brodkorb
5b47168f16 uclibc: update to 1.0.6
Fixes boost compile problem with ARC.
New function mkostemps required for efl are available.
Static sudo compiles are possible.
Full changes:
http://mailman.uclibc-ng.org/pipermail/devel/2015-August/000463.html

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-09-06 11:32:24 +02:00
Waldemar Brodkorb
7581616f5c uclibc: update to latest 1.0.5 release
Fixes gcc 5.x problems on x86.
Fixes static linking issue on sh4.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-03 11:03:05 +02:00
Alexey Brodkin
1f0e184e40 ARC: update tools to arc-2015.06 release
I'm happy to update GNU tools for ARC cores to the most recent
arc-2015.06 release.

This release brings following major improvements:
 * GCC: source update to v4.8.4
 * GCC: C ABI compatibility between MetaWare and GNU toolchains
 * uClibc: support for thread local storage and Native Pthread Library (NPTL)
 * GDB: updated to version 7.9.1

Also a lot of fixes and improvements has been done, please refer to
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.06
for more details.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-18 11:13:31 +02:00
Waldemar Brodkorb
fb24d54733 uclibc: update uClibc-ng to latest version
Fixes gcc 5.1 errors and contains all recent
improvements to Xtensa/ARC NPTL/TLS.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-15 11:48:38 +02:00
Thomas Petazzoni
c0c97a957a uclibc: use the ARC-specific uClibc by default on ARC
Following the switch to uClibc-ng as the default library, uClibc-ng
was also used as the default on ARC, while we actually want to use the
ARC specific version by default on this architecture.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-28 15:11:29 +02:00
Alexey Brodkin
36555b4c8d ARC: switch to RC1 of upcoming arc-2015.06 tools
Even though this is only RC1 it's been heavily used internally so it should
not be any worse than existing arc-2014.12.

Moreover this relase (and so its RC1) finally delivers support of NPTL
for ARC in uClibc.

That's why it would be good to allow interested users to start trying it
(for example WebKit and apps that use WebKit could be successfully built
and run) also it will be helpful to run that new toolchain through
autobuilder in attempt to find any hidden regressions so we have a solid
toolchain for release.

If there's an interest in that patch more patches will follow with
subsequent RCs and essentially on appearence or relese Buildroot will be
updated with it.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: arc-buildroot@synopsys.com
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-28 14:35:15 +02:00
Thomas Petazzoni
5b3b1737df uclibc: bump uClibc-ng to 1.0.3
This commit bumps uClibc-ng to the latest version, and drops the two
patches that have been merged upstream.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-22 23:55:26 +02:00
Jerzy Grzegorek
d98eed3222 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-06-22 23:05:06 +02:00
Thomas Petazzoni
d6d237c8c2 uclibc: remove Xtensa specific version
Since we now have uClibc-ng, and it is used as the default uClibc
version, there is no real need to keep the Xtensa version: this
version is just a specific Git revision of uClibc master branch, and
uClibc-ng is also based on uClibc master branch.

In addition, since in the choice of uClibc versions, uClibc-ng is
already *before* the Xtensa specific version, uClibc-ng has in fact
already been the default uClibc version for Xtensa since uClibc-ng
support was introduced.

See for example:

  http://autobuild.buildroot.org/results/c85/c854fae31d82e0f11d5a8b5bfc196c29bd7e21db/config

for a build on Xtensa with the internal toolchain, where in fact
uClibc-ng is used instead of the Xtensa specific version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Reviewed-by: Max Filippov <jcmvbkbc@gmail.com>
2015-06-14 14:51:06 +02:00
Thomas Petazzoni
68d4a3b5a6 uclibc: use uClibc-ng by default
Since the uClibc project is not making any release since about 3
years, and the uClibc-ng project is now alive and delivering regular
releases based on uClibc master plus a number of fixes, let's make
uClibc-ng the default uClibc version used by Buildroot.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
2015-06-14 14:50:07 +02:00
Floris Bos
e34e12c5c3 uclibc: add option to specify config fragments
Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-21 23:50:41 +02:00
Gustavo Zacarias
4bcacfd2c0 toolchain: drop BR2_INET_IPV6
It's no longer used so farewell.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22 23:07:02 +02:00
Gustavo Zacarias
5cb8996e08 package/uclibc: default to Y for IPv6
Remove the option to disable IPv6 support in uclibc and associated
logic.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-22 22:59:20 +02:00
Waldemar Brodkorb
4669f7ca1c uclibc-ng: update to 1.0.2
Following problems found by buildroot should be fixed:
 * static python2 compile (there is still a general problem, not related to uClibc-ng)
 * postgresql configure hickup (link warnings got removed)
 * samba runtime problems (RPATH in executables are respected)

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-21 13:31:54 +02:00
Gustavo Zacarias
f526c75f39 package/uclibc: drop BR2_TOOLCHAIN_BUILDROOT_LARGEFILE
Kill the option to build the non-largefile variant and remove the hidden
option since it's now unused.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 22:53:18 +02:00
Gustavo Zacarias
52ef47467c package/uclibc: default to Y for LARGEFILE
This will allow us to remove largefile handling in the tree without
breaking things while doing so.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-01 22:42:22 +02:00
Gustavo Zacarias
6b0baf14ce uclibc: remove blackfin bits
Now that we don't support the internal blackfin toolchain any more
remove unnecessary bits, conditionals and tweaks.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-20 22:12:16 +01:00
Max Filippov
c34f42ace6 package/uclibc: fix linuxthreads symbol typos
BR2_UCLIBC_VERSION_XTENSA_GIT and BR2_UCLIBC_VERSION_SNAPSHOT select
BR2_UCLIBC_SUPPORTS_* instead of new BR2_UCLIBC_VERSION_SUPPORTS_*.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-20 16:45:52 +01:00
Thomas Petazzoni
d4f7cfe185 uclibc: double quote values of string options
kconfig string option values should use double quotes when defined, so
this commit fixes package/uclibc/Config.in in that respect.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-14 13:49:20 +01:00
Waldemar Brodkorb
cce8718b5a uclibc: update to latest release 1.0.1
Changes are here http://uclibc-ng.org/pipermail/devel/2015-March/000114.html

Buildroot related are SPARC and XTENSA non-threading builds
and static linking fixes for pthread apps like cdrkit.
Add a hotfix for MIPS compile with older GCC.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-14 13:49:16 +01:00
Thomas Petazzoni
983fcb195c uclibc: remove version from the uclibc-ng config option
For the moment, we probably don't want to have several versions of
uClibc-ng supported at the same time. In preparation to the bump of
uClibc-ng to 1.0.1, this commit gets rid of the version number from
the uclibc-ng config option so that we don't have to rename this
option over and over again each time a new uClibc-ng release is
made. This would be annoying in terms of Config.in.legacy handling.

Since the option BR2_UCLIBC_NG_VERSION_1_0_0 has never been part of
any Buildroot release, we don't have to add anything to
Config.in.legacy.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-14 13:49:13 +01:00
Thomas Petazzoni
c8f590fc7a uclibc: remove bogus comment about thread implementation selection
There is no need to warn the user about selecting an inappropriate
thread implementation, since we make sure only supported combinations
can be selected.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-14 13:49:09 +01:00
Thomas Petazzoni
65473afee4 uclibc: adapt thread implementation selection to uClibc-ng
uClibc-ng does not support linuxthreads or linuxthreads.old on
architectures that have NPTL support. This creates another complicated
dependency: dependeing on the uClibc version being used, not the same
thread implementations are available.

In order to handle this situation, this patch introduces three hidden
booleans:

 - BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS
 - BR2_UCLIBC_VERSION_SUPPORTS_LINUXTHREADS_OLD
 - BR2_UCLIBC_VERSION_SUPPORTS_NPTL

They are selected by the different uClibc versions, depending on which
thread implementation they support on the different architectures.

Then, the choice of the thread implementation can rely on those
booleans to know if a given thread implementation is available in the
current architecture / uClibc version selection.

This makes sure that unusable thread implementation do not get
selected, therefore fixing build issues such as:

  http://autobuild.buildroot.org/results/89e/89e423bee040cbce3e82cd89f1191efaac490c0d/

The support table is as follows (only taking into account
architectures that allow the selection of
BR2_TOOLCHAIN_BUILDROOT_UCLIBC, other architectures are not
considered) :

             ----uclibc----   uclibc-xtensa-   --uclibc-arc--  --uclibc-ng---
             LT LT.old NPTL   LT LT.old NPTL   LT LT.old NPTL  LT LT.old NPTL
arc(le|eb)                                      y   y     n    n    n     n (1)
arm(eb)      y    y     y                                      n    y     y (2)
bfin         n    y     n                                      y    y     n
i386         y    y     y                                      n    n     y (3)
m68k         y    y     y                                      y    y     n
mips(64)(el) y    y     y                                      n    n     y
powerpc      y    y     y                                      n    n     y
sh           y    y     y                                      n    n     y
sparc        y    y     y                                      n    n     y
xtensa                        n    y     n                     n    n     y
x86_64       y    y     y                                      n    n     y

  (1) : uclibc-ng only has NPTL support for ARC but it requires a more
        recent compiler version that hasn't been officially released
        by Synopsys.

  (2) : the general idea of uclibc-ng is to only support NPTL on
        architectures where it is available. However, in order to
        support ARM noMMU platforms, LT.old support has been kept on
        ARM.

  (3) : except i386 itself, which doesn't have what's needed for NPTL
        support. i386 is simply not supported by uclibc-ng basically.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-14 13:49:03 +01:00
Thomas Petazzoni
060125b4fe uclibc: enable Xtensa NPTL support with uClibc-ng
Contrary to mainline uClibc, uClibc-ng has support for NPTL on Xtensa,
so let's allow selecting NPTL when a uClibc version other than the
Xtensa special uClibc version is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
2015-03-01 12:03:05 +01:00