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>
Patches are in 1.0.4 release included.
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>
Those checks should only be done when the package is actually enabled.
Reported-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Add a check (before we call kconfig-package) that ensures the user has
set a kconfig-file.
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
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>