Commit Graph

296 Commits

Author SHA1 Message Date
Gustavo Zacarias
be1a3a3e46 gcc: bump 6.x series to version 6.3.0
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-21 17:19:58 +01:00
Zakharov Vlad
e4491b47b0 toolchain: Bump ARC tools to arc-2016.09 release
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.

This time we're updating tools to arc-2016.09 release version.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-19 13:40:57 +01:00
Erico Nunes
f5389d5227 gcc: fix powerpc64le arch config name
Buildroot references powerpc64 little endian as BR2_powerpc64le and not
BR2_powerpc64el.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 22:27:09 +01:00
Peter Korsgaard
5310184e9f gcc: disallow 4.9.x for ARM cortex-a72
a72 support was only added in the 5.1 cycle.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 21:38:20 +01:00
Peter Korsgaard
df4044abfe gcc: disallow 4.8.x for ARMv8 cores
Notice: A53/A57 were in fact supported in aarch64 mode in 4.8 (in aarch32
mode only from 4.9), but it doesn't handle --with-abi, and as there is
unlikely to be any aarch64 based legacy projects unwilling to use a newer
GCC version it is simpler to disallow it for all modes.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-06 21:38:17 +01:00
Zakharov Vlad
19eaddc935 toolchain: Bump ARC tools to arc-2016.09-rc2
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc2.

This change contains a set of minor fixes and updates.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-02 20:45:09 +01:00
Peter Korsgaard
8852f08eed Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-12-01 22:29:56 +01:00
Max Filippov
1816f87540 package/gcc: fix ICE on xtensa, 5.x and 6.x, PR target/78603
Zero overhead loop optimization pass may incorrectly put start of the
loop between a call and its CALL_ARG_LOCATION note, resulting in the
following build error:

  ../src/pjlib-test/thread.c: In function 'thread_test':
  ../src/pjlib-test/thread.c:328:1: internal compiler error: in
    dwarf2out_var_location, at dwarf2out.c:21846

Fixes:
  http://autobuild.buildroot.net/results/d919e1276ce1d39b4b3eb09937927d5959cd69a3/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-30 22:44:31 +01:00
Max Filippov
41fc9e40a5 package/gcc: fix ICE on xtensa, 6.2, PR target/78118
This fixes gcc build for xtensa configurations with call0 ABI.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-30 22:43:52 +01:00
Waldemar Brodkorb
1546afad3c gcc: add patch to support musl on ppc
Tested with a boot in Qemu (g3beige).

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-27 22:21:27 +01:00
Arnout Vandecappelle
16a4241cb7 gcc: backport upstream patch for sync_8 in !glibc
gcc 4.7 introduced the sync_8 builtin functions for ARM. For ARM < v7,
this requires calling into the kernel. However, the failure path of
that call reports an error with the __write() function, which is a
glibc internal function. Therefore, it fails to link with uClibc or
musl. This was fixed in gcc 5.2.0, by replacing the __write() with
a plain write().

For sync_8 itself we have solved this with the conditions on
BR2_TOOLCHAIN_ARM_HAS_SYNC_8. However, the same function is also used
for the implementation of atomics.

For the internal toolchain, we can fix this by backporting the patch
to 4.9.4 and 4.8.5.

Fixes:
http://autobuild.buildroot.net/results/1db64b4830f499621e44523e0ef68191505e2ce9

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-26 15:17:09 +01:00
Waldemar Brodkorb
921c94720b gcc: the special workaround for ARC is no longer required
It seems with the change to gcc 6.x based toolchain this
workaround is no longer required. Tested with an arc hs toolchain.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-23 23:16:41 +01:00
Max Filippov
d3f0d52144 package/gcc: backport xtensa trap pattern for 5.x
gcc 5.x uses trap pattern extensively to mark locations where program
execution should never get. Default pattern implementation emits a call
to 'abort' function. This function however is not always available, e.g.
it's not available for the libc dynamic linker. Backport implementation
of the trap pattern for xtensa that does not result in a call to
'abort'.

Fixes:
  http://autobuild.buildroot.net/results/0fbcc4475545904bf88f25a3bdf3ee552bf4960e
  http://autobuild.buildroot.net/results/cb7f5bdfac615d774f3bcd1b802f8d74460bc557
  http://autobuild.buildroot.net/results/cf3dc9ae4f74ff28b285f1a862b71d96384d7651

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-14 22:53:12 +01:00
Zakharov Vlad
6e0d4bac19 toolchain: Bump ARC tools to arc-2016.09-rc1
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-rc1.

This update contains a lot of important fixes, e.g. it fixes:
http://autobuild.buildroot.net/results/4c7/4c77f33c842b37bf28cb931edf1b290e1bf4d93c//
http://autobuild.buildroot.net/results/902/902729a0b98675ad803939e3ecdcf230065a6012//
and other failures.

Other important change is that we also update gdb. Now we are
using gdb 7.12.

This version of gdb requires C++ toolchain support so we add
corresponding dependency to gdb Config.in file.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
[Thomas:
 - fix dependency on C++ of gdb, it must use BR2_INSTALL_LIBSTDCPP
 - add comment about the C++ dependency of gdb on ARC.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-14 21:40:58 +01:00
Vicente Olivert Riera
e5b3fa3ae4 MIPS: rename M6201 core to M6250
m6201 is the -march option for GCC, but the real core name is
M6250.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-09 22:42:12 +01:00
Vicente Olivert Riera
b2bae3b523 MIPS: rename M5101 core to M5150
m5101 is the -march option for GCC, but the real core name is M5150.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-09 22:41:51 +01:00
Vicente Olivert Riera
84bd58d5bb MIPS: remove M5100 core
This is a microcontroller class (MCU) core which is not suitable for
running Linux.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-09 22:41:07 +01:00
Waldemar Brodkorb
d70ade160e microblaze: fix musl support
For musl we need patches for bintils 2.25.1 and 2.26.1.
Binutils 2.27 and gcc 6.2.x does not work for microblaze,
even not for uClibc-ng or glibc.
For gcc 5.4.x the existing patch need reworking so that
musl and uClibc-ng is supported.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
[Thomas:
 - Add proper description for the binutils patches
 - Use BR2_microblaze instead of BR2_microblazeel and BR2_microblazebz]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-28 15:11:52 +02:00
Jérôme Pouiller
8087b02bdf toolchain/wrapper: fix 'reinstall'
toolchain-wrapper was not reinstalled. So rules toolchain-external-reinstall,
gcc-initial-reinstall, gcc-final-reinstall didn't work as expected.

In add, normalize variable name: s/TOOLCHAIN_BUILD_WRAPPER/TOOLCHAIN_WRAPPER_BUILD/

Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-24 23:02:33 +02:00
Bernd Kuhls
873d4019f7 package/gcc: disable libmpx for gcc6-based musl builds
Building this minimal defconfig

BR2_TOOLCHAIN_BUILDROOT_MUSL=y
BR2_GCC_VERSION_6_X=y

fails:

In file included from ../../../../libmpx/mpxrt/mpxrt.c:54:0:
../../../../libmpx/mpxrt/mpxrt.c: In function 'read_mpx_status_sig':
../../../../libmpx/mpxrt/mpxrt.h:52:42: error: invalid application of
'sizeof' to incomplete type 'struct _libc_fpstate'
 #define XSAVE_OFFSET_IN_FPMEM    sizeof (struct _libc_fpstate)

To fix disable libmpx for musl builds, other projects did the same:

3ec2211548
http://git.alpinelinux.org/cgit/aports/commit/main/gcc/APKBUILD?id=1830e485126ea9a95d763317fb0c508c1ff297d2

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-23 14:47:07 +02:00
Vicente Olivert Riera
1b974425d1 MIPS: add support for M6201 cores
-march=m6201 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.

Note that M6201 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for M6201 as
well.

The external Codescape IMG GNU Linux Toolchain has support for this
core.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-19 23:31:29 +02:00
Arnout Vandecappelle
6b9d22ca4a gcc: remove BR2_GCC_SUPPORTS_GRAPHITE
The blind option BR2_GCC_SUPPORTS_GRAPHITE was used to distinguish gcc
versions that support the graphite loop optimizer. But since a while
already, all the versions we support do support graphite. So this symbol
isn't needed anymore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:20:18 +02:00
Arnout Vandecappelle
7d3bbfc7df gcc: gcc arc supports graphite
The ARC version of gcc does support graphite. It was probably just
forgotten when the BR2_GCC_VERSION_ARC symbol was introduced.

While we're at it, also remove a redundant newline.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Cc: ARC Maintainers <arc-buildroot@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:20:02 +02:00
Arnout Vandecappelle
3374941965 gcc: remove BR2_GCC_NEEDS_MPC
The blind option BR2_GCC_NEEDS_MPC was used to distinguish gcc versions
that rely on the mpc library and the ones that don't. But since a while
already, all the versions we support do need the mpc library. So this
symbol isn't needed anymore.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-16 12:19:49 +02:00
Arnout Vandecappelle
a7c13c1b28 gcc: remove deprecated 4.7.x
We will remove BR2_DEPRECATED, so remove this deprecated option.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 23:14:44 +02:00
Thomas Petazzoni
8c97033a01 gcc: add patches to fix PR70473
gcc 5.x introduced a regression in the ARM build, which causes the
s-automata program to consume a very significant amount of RAM during
the gcc build. This causes numerous failures with our Travis-CI based
testing of defconfigs.

In order to address this, this commit backports a commit from the gcc
master branch, to both our gcc 5.x and gcc 6.x support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 16:38:58 +02:00
Vicente Olivert Riera
dc77d63534 gcc: add support for MIPS R6 Musl
Backport upstream patch to add support for MIPS R6 Musl:

  https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=83717065090bb8b954556d1216dd9dc397dc0243

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-15 16:37:41 +02:00
Vicente Olivert Riera
3cfbeb8363 MIPS: add support for P6600 cores
-march=p6600 is not yet supported in GCC upstream, so disabling all
versions when selecting this core.

Note that P6600 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for P6600 as
well.

The external Codescape IMG GNU Linux Toolchain has support for this
core.

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
Vicente Olivert Riera
ea52e3d01a MIPS: add support for I6400 cores
-march=i6400 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that I6400 implies a MIPS R6 CPU, and some GCC versions are already
disabled for R6, so we don't need to disable those ones for I6400 as
well.

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
Vicente Olivert Riera
55a37eaa91 MIPS: add support for M5101 cores
-march=m5101 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5101 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5101 as
well.

Also disable external toolchains that don't support this core.

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
Vicente Olivert Riera
067a46474a MIPS: add support for M5100 cores
-march=m5100 support starts from GCC-6, so disable previous versions
when selecting this core.

Note that M5100 implies a MIPS R5 CPU, and some GCC versions are already
disabled for R5, so we don't need to disable those ones for M5100 as
well.

Also disable external toolchains that don't support this core.

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
Vicente Olivert Riera
ef3e7323ef MIPS: add support for interAptiv cores
-march=interaptiv support starts from GCC-6, so disable previous
versions when selecting this core.

Also disable external toolchains that don't support this core.

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
Vicente Olivert Riera
7ab9cf251d MIPS: add mips64r5 generic architecture variant
-march=mips64r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

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
Vicente Olivert Riera
1feb1b7756 MIPS: add mips32r5 generic architecture variant
-march=mips32r5 support started from GCC-5, so disable previous versions
when the CPU is R5.

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
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
Romain Naour
840b7bca00 package/gcc: nios2 Backport nios2 r31 fix
As reported on the mailing list, gcc5 with binutils 2.26.1 produce some
assembler error "r31 cannot be used with jmp; use ret instead" [1]

The bug is reported upstream [2], but gcc 5.4 needs an upstream patch to
fix this issue.

Note: openembedded backported the same patch for gcc 5.3 [3]

Fixes:

alsa-lib:
http://autobuild.buildroot.net/results/1fc9806a62b813b085c39d36000f4d9d18f779df
http://autobuild.buildroot.net/results/03eb11b6a783da1985c19858f6c5f69027e0ed9c
http://autobuild.buildroot.net/results/d620812ae79c4e8252d2b0c410f94e9cdcbcfbc3
http://autobuild.buildroot.net/results/04b7609f5decc71bf25e981f14756029715fc621
http://autobuild.buildroot.net/results/e85be7ffd62e7ab95c4dd0049b0c67ae98f75543

freeswitch:
http://autobuild.buildroot.net/results/96f69b7be1978f85271e2827c2e18d4ed8de8dfc

flac:
http://autobuild.buildroot.net/results/fb3/fb36a9939cac82dc187b64fae93720ea1930f343

libmodplug:
http://autobuild.buildroot.net/results/f12/f12a5d5b4f5338438fbb053ec013e69559eaaa0c

[1] http://lists.busybox.net/pipermail/buildroot/2016-September/172932.html
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=20674
[3] http://lists.openembedded.org/pipermail/openembedded-core/2016-February/117633.html

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-09 13:59:29 +02:00
Zakharov Vlad
eb6873b1d1 toolchain: Bump ARC tools to arc-2016.09-eng015
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng015.

This tag introduces following changes:
1. binutils: Rebase onto upstream master.
2. gcc: Fix devdf3 emulation for arcem, disable TP register when
building for bare metal.

We still keep GDB as it is of arc-2016.03 release because there're some
issues we'd like to resolve before releasing it to wider audience.

So again note this is next engineering builds of arc-2016.09 series
and it might have all kinds of breakages, please don't use it for
production builds.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-03 23:15:11 +02:00
Waldemar Brodkorb
3b10e43d7e gcc: enable _REENTRANT for bfin when -lpthread is used
See here, why this should be always enabled:
https://lists.gnu.org/archive/html/autoconf-archive-maintainers/2016-06/msg00001.html

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-02 21:43:02 +02:00
Thomas Petazzoni
e6ee58de3e gcc: switch to gcc 5.x as the default
gcc 4.9.4 was the last release of the 4.9.x branch, and the gcc
developes will now only be maintaining gcc 5.x and 6.x:

  https://gcc.gnu.org/ml/gcc-announce/2016/msg00002.html

Therefore, it is time to use gcc 5.x as the default version in
Buildroot. We have been having toolchains in the autobuilders with gcc
5.x for a while, so the vast majority of the problems should have
already been solved.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-21 08:58:56 +02:00
Thomas Petazzoni
50332a530b gcc: rename option for ARC gcc
The ARC gcc version is now based on gcc 6.x and no longer gcc 4.8.x,
which makes the option BR2_GCC_VERSION_4_8_ARC a bit irrelevant, as is
the prompt of this option.

This commit therefore renames this option to BR2_GCC_VERSION_ARC, and
adjust its prompt as well.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-20 21:19:24 +02:00
Zakharov Vlad
999c7048c1 toolchain: Bump ARC tools to arc-2016.09-eng013
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng013.

This engenering build contains some important GCC updatesthat fixes
some failures for ARC, such as:
http://autobuild.buildroot.net/results/f80/f80ad8a07d9d58b46592c2c99b227197b0f808d3//
http://autobuild.buildroot.net/results/e59/e59e6592fc697cceda359e421387dd905ff04701//
http://autobuild.buildroot.net/results/521/52157aa2b5d75b5338f3bde7ae5beb3d300283d3//

We still keep GDB as it is of arc-2016.03 release because there're some
issues we'd like to resolve before releasing it to wider audience.

So again note this is next engineering builds of arc-2016.09 series
and it might have all kinds of breakages, please don't use it for
production builds.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-17 19:36:27 +02:00
Floris Bos
84c9130350 gcc/gcc-final: Disable libcilkrts when using static libs
Disable libcilkrts when building static, as there is no static version:
https://software.intel.com/en-us/articles/intel-cilk-plus-runtime-library-libcilkrts-can-only-be-linked-dynamically/

Fixes the following toolchain build error when building for i386 and
BR2_STATIC_LIBS=y + BR2_TOOLCHAIN_BUILDROOT_CXX=y is set:

../../../libcilkrts/runtime/sysdep-unix.c:603:19:
fatal error: dlfcn.h: No such file or directory

Signed-off-by: Floris Bos <bos@je-eigen-domein.nl>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-08 21:55:01 +02:00
Gustavo Zacarias
ac9b7ef51b gcc: bump 6.x series to 6.2.0
Adjust some patches to avoid patching the ChangeLog which isn't quite
the same.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-07 10:29:58 +02:00
Zakharov Vlad
9b77525c9a toolchain: Bump ARC tools to arc-2016.09-eng011
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng011.

This engenering build contains the following updates:
1. rebase binutils on top of the latest upstream master
2. update GCC to version 6.2

We still keep GDB as it is of arc-2016.03 release because there're some
issues we'd like to resolve before releasing it to wider audience.

So again note this is next engineering builds of arc-2016.09 series
and it might have all kinds of breakages, please don't use it for
production builds.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-05 22:10:06 +02:00
Peter Korsgaard
7353967690 Merge branch 'next'
Quite some conflicts, so here goes ..

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-02 16:20:33 +02:00
Thomas Petazzoni
1bd02bc230 gcc: remove BR2_GCC_ENABLE_TLS option
The current BR2_GCC_ENABLE_TLS can cause users to make incorrect
choices, and is not very useful. This options allows to decide whether
we pass --enable-tls or --disable-tls to gcc, to enable or disable
support for Thread Local Storage.

Its behavior is:

 - The option is default to "y" but only exists if we're using
   uClibc/NPTL or glibc.

 - When we're using uClibc, the option can be disabled.

So, in practice, this means that currently:

 - TLS support is always on for glibc

 - TLS support is on by default for uClibc/NPTL, but can be disabled in
   the configuration. This is in fact bad and causes the build failure
   reported in bug #7424 (this bug is still reproducible on master)

 - TLS support is always disabled for uClibc/no-thread and
   uClibc/linuxthreads.

 - TLS support is always disabled for musl. This does not cause any
   build failure, but musl can use TLS support, and therefore be more
   efficient. According to
   http://www.openwall.com/lists/musl/2012/10/04/1, "Note that if you've
   been building gcc with --disable-tls, __thread was already working
   but gets emulated (very poorly; it's slow and will abort() if it runs
   out of memory) through libgcc.".

So, this commit completely removes the BR2_GCC_ENABLE_TLS and instead
makes the right choice inside gcc.mk directly:

 - TLS support enabled for glibc, musl and uClibc/NPTL

 - TLS support in other cases, i.e uClibc/no-thread and
   uClibc/linuxthreads.

We have intentionally *not* added the option to
Config.in.legacy. Indeed, the new behavior is *exactly* the same as the
older behavior, with the exception of:

 - People can no longer disable TLS support in uClibc/NPTL, which was
   anyway causing a build failure and therefore was not used.

 - TLS support is now enabled on musl, but people using musl already had
   BR2_GCC_ENABLE_TLS not set, so they wouldn't get the legacy warning.

Fixes bug #7424.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2016-08-31 21:45:36 +02:00
Zakharov Vlad
e227e6bf50 toolchain: Bump ARC tools to arc-2016.09-eng010
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng010.

This engenering build contains different fixes done to TLS and
PIE features. Appropriate custom patches are removed as they have
been added to eng010.

We still keep GDB as it is of arc-2016.03 release because there're some
issues we'd like to resolve before releasing it to wider audience.

So again note this is next engineering builds of arc-2016.09 series
and it might have all kinds of breakages, please don't use it for
production builds.

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-08-31 09:32:29 +02:00
Zakharov Vlad
62d9a0fc06 gcc: fix conditional move constraint on ARC
The patch solves one of the ARC internal compiler issues.

Fixes:
  http://autobuild.buildroot.net/results/1c4493c6a18b7a93a0368420c8f79032f9330891/
  http://autobuild.buildroot.net/results/51071b790866b0c7083de3a94ad2a427009096af/
  http://autobuild.buildroot.net/results/09e037c628ca2a27d8eb832dd070f50ec7ebb72a/

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-26 15:37:17 +02:00
Waldemar Brodkorb
721e1c1e9c musl: enable mips64 support
Add support for mips64, which is available since musl 1.1.15.

Only gcc 6.x has required support for it. Tested variations of
little/big endian and hard/soft float.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-08-22 23:10:09 +02:00
Thomas Petazzoni
62504125f8 gcc: fix gcc version dependencies for the PowerPC64/musl exclusion
In commit
5ab751ca44 ("toolchain-buildroot: allow to
build ppc64(le) musl toolchains"), support for building a musl toolchain
for ppc64(le) was added. Since this support only works with gcc 6, some
additional dependencies have been added to the older gcc versions so
that they cannot be selected on ppc64(le)/musl.

Unfortunately, the expression of the dependency was wrong, and leads to
those older gcc versions being non-selectable if you're not using
musl. Indeed, the dependencies look like this:

  depends on !BR2_powerpc64 && !BR2_powerpc64le && BR2_TOOLCHAIN_USES_MUSL

So as soon as you're not using musl, BR2_TOOLCHAIN_USES_MUSL is false,
so the entire condition is false, and the gcc version is not available.

Due to this, only gcc 6.x can be selected currently with uclibc or
glibc, which is clearly not the intended behavior.

This commit reworks those dependencies to:

  depends on !(BR2_TOOLCHAIN_USES_MUSL && (BR2_powerpc64 || BR2_powerpc64el))

which more clearly expresses what we want:

 "We don't want to (have a toolchain that uses musl and (be building
  either for PPC64 or PPC64le))"

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-20 22:39:54 +02:00