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>
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>
This commit adds a fix for building uClibc 0.9.33.2 and uClibc-ng
1.0.3 with gcc 5.1 on ARM, since we're about to add support for gcc
5.1.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
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>
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>
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>
fminf and others got implemented in the time after this
patch was added. Remove the workaround to get mesa compiled
with uClibc-ng.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
We can't have a hash for snapshots, so add them to the exclusion list.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Arnout Vandecappelle <arnout@mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
The old hash for 2014.08 was never updated. Since uclibc-arc-2014.12 is
downloaded from the github helper, it is converted into a 'none' hash.
Reordered the hashes so the none-hashes are together.
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This is a git snapshot, we can't have a hash for it.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
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>
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>
The patch from commit 200aad4f32 broke sh
and sparc builds.
Add and adjust a patch from uClibc master that fixes this.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Otherwise busybox in the default configuration fails to build.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit adds a patch to uclibc with a backport from upstream to provide a
proper fix for mesa3d which depends on fminf.
As discussed with Thomas we keep the mesa3d patch around for a while:
http://lists.busybox.net/pipermail/buildroot/2015-March/123410.html
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
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>
There's no way to disable getsubopt in uClibc 0.9.33.2: either GNU or
SUSv3 getsubopt is always built.
Properly exclude SUSv3 getsubopt implementation when GNU getopt is
selected.
Exclude GNU getsubopt when SUSv3 getopt is selected. Honor getopt_long
configuration.
This brings UCLIBC_HAS_GNU_GETOPT, UCLIBC_HAS_GNU_GETSUBOPT and
UCLIBC_HAS_GETOPT_LONG handling in sync with uClibc and uClibc-ng tips.
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
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>
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>
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>
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>
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>
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>
The recommended form is without the trailing slash. Buildroot will add a slash
between FOO_SITE and FOO_SOURCE as appropriate.
Reported-by: Arnout Vandecappelle <arnout@mind.be>
Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Thomas: put comments near the relevant line.]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
This commit adds support for a new uClibc version: uClibc-ng
1.0.0. Since its build system is for now exactly the same as the one
of uClibc, we don't create a new package, but instead simply add it as
a new uClibc version.
The only special trick needed is the creation of a symlink to the
program interpreter, due to a mismatch between the program interpreter
file name generated by uClibc-ng and the one used by gcc.
This patch is heavily based on previous work from Waldemar Brodkorb.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Waldemar Brodkorb <wbx@uclibc-ng.org>
This commit makes the ARC uClibc version handling explicit by adding a
BR2_UCLIBC_VERSION_ARC_GIT option, rather than only relying on the
selected architecture. This is needed in preparation to the
introduction of uClibc-ng support, which also supports the ARC
architecture: so we will now have two uClibc versions capable of
handling ARC.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Now when new shiny tools are released by Synopsys we're ready for
version update in Buildroot again.
More details about arc-2014.12 release are available here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2014.12
Following patches were removed from GCC since they are a part of release
now:
* 200-size_type_unsigned_int.patch
* 300-ptrdiff_type_int.patch
* 400-call-arc_hazard-before-branch-shortening.patch
* 401-fix-length-attribute-for-casesi_load-pattern.patch
* 402-fix-length-of-instructions-that-are-in-delay-slot-and-needs-to-be-predicated.patch
* 403-update-casesi_compact_jump-instruction-length.patch
But since arc-2014.12 tools are still based on GCC 4.8 following patches
ar still relevant so moving to the new folder to match ARC gcc bump.
* 100-libstdcxx-uclibc-c99.patch
* 910-gcc-poison-system-directories.patch
Binutils are still based on 2.23 so following patch still makes sense:
* 600-poison-system-directories.patch
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>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Since a while, the semantic of BR2_PREFER_STATIC_LIB has been changed
from "prefer static libraries when possible" to "use only static
libraries". The former semantic didn't make much sense, since the user
had absolutely no control/idea of which package would use static
libraries, and which packages would not. Therefore, for quite some
time, we have been starting to enforce that BR2_PREFER_STATIC_LIB
should really build everything with static libraries.
As a consequence, this patch renames BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS, and adjust the Config.in option accordingly.
This also helps preparing the addition of other options to select
shared, shared+static or just static.
Note that we have verified that this commit can be reproduced by
simply doing a global rename of BR2_PREFER_STATIC_LIB to
BR2_STATIC_LIBS plus adding BR2_PREFER_STATIC_LIB to Config.in.legacy.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Description in uClibc for this optoin is:
--->---
bool "Use faster (but larger) generic string functions"
default y
help
Answer Y to use the (tweaked) glibc generic string functions.
In general, they are faster (but 3-5K larger) than the base
uClibc string functions which are optimized solely for size.
Many people will answer Y.
--->---
Additional 3-5K of size is not that important if resulting libuClibc.so is
of size about 300k.
But benefits in terms of performance could be pretty significant.
For example on ARC in LMbench we see more than 3 times bump in some tests
--->---
libc bcopy unaligned
...
8.39 - 6.76 (UCLIBC_HAS_STRING_GENERIC_OPT=no)
8.39 - 23.86 (UCLIBC_HAS_STRING_GENERIC_OPT=yes)
--->---
Also since the option in question is default in uClibc I don't expect if
enabled back (it was silently disabled in http://git.buildroot.net/buildroot/commit/?id=cfbf8abc33d86a0cf5c1bb3e0817a22009b7f301 on introduction of NPTL in uClibc
by Khem Raj) it to introduce problems.
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Anton Kolesov <anton.kolesov@synopsys.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Remove the support for generating mips1/2/3/4 code since it has been
deprecated for more than a year now.
Also remove the unnecessary kludges in packages for it.
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Acked-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Since commit 33de740170 ("Makefile:
convert "target-generatelocales" to a hook"), the GENERATE_LOCALE
variable is never defined when using uClibc. This means that setting
any value to the BR2_GENERATE_LOCALE option had no effect for uClibc
toolchains.
In this commit, we make sure the uclibc.mk logic re-creates its own
qstripped version of BR2_GENERATE_LOCALE, in a variable called
UCLIBC_GENERATE_LOCALES.
This fixes locale generation with uClibc in the internal toolchain
backend.
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>