Commit Graph

228 Commits

Author SHA1 Message Date
Yann E. MORIN
a1aeddf25b package/binutils: extract Xtensa overlay as post-extract hook
... like it is done for gcc.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-26 15:50:22 +02:00
Yann E. MORIN
96f57fa5e4 package/binutils: use macro to extract Xtensa overlay
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-26 15:50:06 +02:00
Yann E. MORIN
12d97d01db package/binutils: use the Xtensa variables
... instead of re-computing them over-and-over-again.

Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-03-26 15:49:22 +02:00
Zakharov Vlad
f3436357cf toolchain: Bump ARC tools to arc-2017.03-eng008
This commit bumps ARC toolchain to arc-2017.03-eng008.

Please note that it is an engineering build 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>
2017-03-12 23:37:30 +01:00
Waldemar Brodkorb
a384ce7d4b binutils: fix for ld segfault for microblaze when --gc-sections is used
The workarounds for kmod/libnss can be removed when the patch is
applied and the autobuilder toolchains got rebuild.

kmod: 0d81107f02
libnss: fceb1afd5d

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-02-25 16:47:17 +01:00
Max Filippov
76e1594f00 binutils: backport fix for xg_reverse_shift_count
binutils-2.27 gas has bug that results in the following kind of build
error when assembling bb[cs]i.l on big-endian xtensa targets:

  ieee754-sf.S:237: Error: invalid symbolic operand

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-06 22:56:53 +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
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
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
Thomas Petazzoni
7027bf022b binutils: add patch to 2.27 to fix arm issue with file having no data
This commit adds a patch to binutils 2.27, which fixes the build of
kvmtool on ARM. The fix is taken from the upstream mailing list at
https://lists.gnu.org/archive/html/bug-binutils/2016-08/msg00165.html.

Fixes:

  http://autobuild.buildroot.net/results/bae83d495b46efeec45c8008949c811b6241adaa

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-06 14:39:01 +01:00
Waldemar Brodkorb
27a20609c2 binutils: add upstream patch to fix open microblaze issue
This reenables the use of 2.27 for microblaze.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-05 23:35:54 +01:00
Waldemar Brodkorb
fa92154190 binutils: add comment with bug report reference
Add requested bug report

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-11-01 16:16:01 +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
Gustavo Zacarias
99f1e508f0 binutils: use $(TARGET_MAKE_ENV) when calling $(MAKE)
Signed-off-by: Gustavo Zacarias <gustavo.zacarias@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-22 15:19:24 +02:00
Arnout Vandecappelle
d8878112ad binutils: remove deprecated 2.24.X
We will remove BR2_DEPRECATED, so remove this deprecated option.

[Peter: drop binutils patches]
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
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 De Schampheleire
a4ebc1c1de binutils: get rid of host-texinfo dependency and other documentation tricks
The binutils/host-binutils package applied several tricks to avoid building
info documentation. In the worst case, host-texinfo is added as dependency.

However, there is a simpler solution that removes the need for all these
tricks: instruct the makefiles to use a dummy makeinfo command ('true').

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-10-14 19:40:09 +02:00
Thomas Petazzoni
d71570e779 Revert "binutils: get rid of host-texinfo dependency and other documentation tricks"
This reverts commit f7e7aea90d.

This change broke the build of the toolchain. See:

  http://autobuild.buildroot.net/results/90d0537bc12cbb2a7c6d344b3c6c9e1a5046d791/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-09 15:02:26 +02:00
Thomas De Schampheleire
f7e7aea90d binutils: get rid of host-texinfo dependency and other documentation tricks
The binutils/host-binutils package applied several tricks to avoid building
info documentation. In the worst case, host-texinfo is added as dependency.

However, there is a simpler solution that removes the need for all these
tricks: instruct the makefiles to use a dummy makeinfo command ('true').

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-10-09 13:55:15 +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
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
Thomas Petazzoni
a5033dd7fa binutils: fix makeinfo related issue
The latest version of binutils, 2.27, added in commit
b700157db4, fails to build on systems
that don't have makeinfo installed. This commit therefore applies the
same fixup as the one used for binutils 2.26, which consists in
touching all the .info files, so that they don't get rebuilt.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-11 22:50:35 +02:00
Gustavo Zacarias
41c183eebc binutils: deprecate 2.24.x
Now that 2.26.x is stable and there's 2.25.x to fallback for whatever
reason it makes no sense to keep two versions back from default.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-08 20:29:56 +02:00
Gustavo Zacarias
49d7c797f1 binutils: bump default to version 2.26.x
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-08 20:28:56 +02:00
Gustavo Zacarias
b700157db4 package/binutils: add binutils 2.27
And drop upstream patches.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-09-07 10:25:27 +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
Romain Naour
49f5742379 package/binutils: Disable -Os for ARM cortex-M cpus
ERROR: reloc type R_ARM_THM_MOVW_ABS_NC unsupported in this context
ERROR: reloc type R_ARM_THM_MOVT_ABS unsupported in this context
2 bad relocscollect2: error: ld returned 1 exit status

Binutils build fine with -O1, -O2 or -O3.

Reported upstream:
https://sourceware.org/bugzilla/show_bug.cgi?id=20552

Fixes:
http://autobuild.buildroot.net/results/e72/e727e6e9cf361acc786acec192a88f5f5444a2f6

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-09-04 17:42:25 +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
Waldemar Brodkorb
f6fd59ebf0 binutils: fix bfin build
See gcc bug for details:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77311

Fixes:

  http://autobuild.buildroot.net/results/1e93be2fb02a3fb2731e48b0d9e54a0d4080a112/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-23 16:44:21 +02:00
Vlad Zakharov
fc61da15f4 binutils: disable warning flags to prevent build failures
binutils-arc-2016.09-eng008 build fails sometimes.

This happens due to the following issue:

binutils configure script has CC variable that stores compiler for
target and CC_FOR_BUILD variable that stores compiler for host.

WARN_FLAGS are verified by the script to be compatible only with CC
compiler but not with CC_FOR_BUILD compiler. Despite this WARN_FLAGS
are passed to both CC and CC_FOR_BUILD compilers. This leads to
unevident errors when cross-compiling. More information you can find
in the binutils mailing list:
https://sourceware.org/ml/binutils/2016-08/msg00117.html

We are going to write a patch for bunutils that fixes the initial
issue. Current patch contains temporary workaround. It should be
deleted after real fix.

Fixes:
http://autobuild.buildroot.net/results/00455b6a8324920ad843d90ce0413451522691a8//

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-19 23:05:45 +02:00
Zakharov Vlad
f0e1381ef9 toolchain: Bump ARC tools to arc-2016.09-eng008
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng008.

Main updates were made for gcc. It was switched to GCC 6 and to
OSABI v4.

Besides this patch fixes buildroot ARC failures connected to
"crtbeginT.o" object file missing. This issue lead to two main errors:

1) "crtbeginT.o: No such file or directory", e. g. bootutils-1.0.0.
No comments are required here I hope.

2) Errors like "compiler cannot create executables", e.g.:
  a) host-gcc-final-arc-2016.09-eng007 static build,
  b) aespipe-2.4c.
That was caused because the test to determine if compiler is able to
create executables was failing due to missing "crtbeginT.o" file.

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-08-11 15:07:06 +02:00
Waldemar Brodkorb
61c7e9da0e binutils: fix Blackfin '.rofixup section size mismatch' problems
The bug has already been reported by Stuart Henderson to binutils
upstream: https://sourceware.org/bugzilla/show_bug.cgi?id=13391

Fixes:

  http://autobuild.buildroot.net/results/d5999ae91a1f4dee3d01a0bbc3d8a4c5939ad175/
  http://autobuild.buildroot.net/results/17232204249aeb04150ac43a2424aa26a6b6c807/

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-05 21:16:15 +02:00
Vlad Zakharov
3897ded714 toolchain: Bump ARC tools to arc-2016.09-eng007 and enable PIE
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.
This time we're updating tools to arc-2016.09-eng007 tag plus a
couple of fixes on top of it that will all make its way in the
next engineering build.

We hope this patch will cure most buildroot ARC failures as it
contains important fixes:

1) PIE fix. We have added PIE support to ARC toolchain at last.
So that should prevent breakage of many packages. As ARC now
supports PIE we remove ARC from BR2_TOOLCHAIN_SUPPORTS_PIE
exclusion in toolchain/Config.in file.

2) Assembler fix. This patch also have changes that fixes frequent
assembler failures, e.g.:
http://autobuild.buildroot.net/results/543/5430b902d900943a34c1888e7e410bd5df367bc2//

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>
[Thomas: remove uClibc PIE patch, since we have bumped uClibc in the
mean time, to a version that contains the PIE fix for ARC.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-08-01 22:59:31 +02:00
Zakharov Vlad
c88d547460 toolchain: Bump ARC tools to arc-2016.09-eng006
As described at:
4520524ba0
this commit continues a series of updates of ARC tools.

This engineering build fixes the kernel dwarf stack unwinder feature for
ARC targets.

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.

Related to:
4520524ba0

Signed-off-by: Vlad Zakharov <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-07-12 23:59:11 +02:00
Thomas Petazzoni
de4b45d5e7 binutils: fix build of 2.26 when makeinfo is not available
The 2.26 binutils tarball has incorrect timestamps for the .info files,
so binutils build system tries to regenerate them with makeinfo. In
order to avoid depending on host-texinfo, we simply touch the .info
files so that their timestamp is newer than the corresponding source
files.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Tested-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 15:04:29 +02:00
Thomas Petazzoni
3e8965a360 binutils: build host-texinfo if needed
This commit adds the dependency on host-texinfo to binutils, when the
source is fetched from Git. Thanks to this, we can remove the
0800-Docs-Prevent-build-failures-when-makeinfo-is-missing.patch patch
from the ARC-specific version of binutils.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 15:04:25 +02:00
Waldemar Brodkorb
1d248bd8ca binutils: add required upstream patch for bfin
This is required to build uClibc-ng with threading support and FDPIC
binary format.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-05 12:16:03 +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
Julien Floret
dbcb84e041 binutils: remove empty host dependencies definition
Signed-off-by: Julien Floret <julien.floret@6wind.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-07-03 10:24:02 +02:00
Gustavo Zacarias
1f5d176ebf binutils: bump 2.26.x series to 2.26.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-30 12:16:05 +02:00
Alexey Brodkin
4520524ba0 toolchain: Bump ARC tools to arc-2016.09-eng005
With this commit we're starting a series of updates of ARC tools.
Significantly rewritten arc-2016.03 tools introduced way too many
problems highlighted by Buildroot autobuilder. Now in attempt to
resolve as many issues as possible by the time final release of
arc-2016.09 tools is cut we'll be executing arc-2016.09 series
with engineering snapshots like this one.

We decided to go this way instead of applying separate patches here
and there because ongoing development introduces quite a lot of
changes and separate patches are not practical in Buildroot.

Moreover this will give us very clean visibility of number of
issues we see (hopefully it will decrease over time).

One of the important changes introduced in this engineering build
is initial set of changes for proper support of PIE on ARC in terms
of both building on host and running on ARC target. I expect some
PIE-related build breakages to go away and new ones will be treated
as the high-priority issues to be fixed ASAP.

For now we only update Binutils and GCC while keeping 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 one of the first 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: Alexey Brodkin <abrodkin@synopsys.com>
Cc: arc-buildroot@synopsys.com
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-29 22:12:47 +02:00
Erico Nunes
88db88d1b3 binutils: enable as target package for aarch64
binutils got disabled as a target package for aarch64 back in Buildroot
2012.11 (commit 660d16f4).
The default version 2.21.1 at the time didn't really support aarch64, as
shown by the autobuilder error reference in that commit.

binutils has now had support for aarch64 since 2.23, but was never
re-enabled for aarch64.

All of the binutils versions currently supported by Buildroot (oldest
being 2.24) support aarch64, so we can now enable it without any
restrictions.

This same patch also touches the dropwatch, lightning and oprofile
packages which all select binutils and had the 'depends on !aarch64' to
keep Kconfig consistent. They are now re-enabled for aarch64 as well.
They are changed in this same patch so that Kconfig is kept consistent
and doesn't end up having them disabled in a commit which only has the
binutils change applied.
lightning has other explicit arch dependencies so it is not actually yet
available in aarch64, but at least the dependency on !aarch64 because of
binutils is not needed anymore.

Everything has been build tested with Buildroot and external toolchains.
binutils and dropwatch work fine in a qemu target. oprofile doesn't seem
to be supported in the qemu aarch64 processor but builds fine and seems
to have some level of aarch64 support in the source, so there doesn't
seem to be a reason to keep it disabled in Kconfig.

Signed-off-by: Erico Nunes <nunes.erico@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-06-08 23:55:05 +02:00
Zakharov Vlad
caf515e25e Binutils: ARC: Fix build failures if makeinfo is missing
Build failed when "makeinfo" was missing on the build host.
This was happening because "makeinfo" is required to build .info targets
and make exited with error. The issue hadn't appeared before as there was
prebuilt documentation in ARC binutils tarballs, so no attempts had been
made to build docs.

Missing "makeinfo" only stops us from building docs
("missing" script already throws a warning on that regard).
Let's continue to build other targets.

Now exit code of the script called "missing" is checked.
The value 127 means that "makeinfo" is not available on the build host.

So when such value occurs, 0 is returned to the top level makefile.
Documentation is not being built but further build of binutils continues.

Fixes http://autobuild.buildroot.net/results/55c/55cd09a559016f4f252f0e4c27313b9806135cf4//

Signed-off-by: Zakharov Vlad <vzakhar@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-06-06 21:33:54 +02:00
Alexey Brodkin
1845a68cef toolchain: arc-2016.03: fix generation of dynamic relocs for -pie
Currently even if -pie flag is provided to LD dynamic relocations
won't be created. That in its turn will break U-Boot self-relocation
functionality.

This fix resolves mentioned problem.

Note as of today this is a sort of off-the-tree patch right from
our binutils guy but in coming day similar fix will be applied to
upstream binutils as well.

Signed-off-by: Alexey Brodkin <abrodkin@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>
2016-05-26 21:23:05 +02:00
Alexey Brodkin
09439560b9 toolchain: bump ARC tools to arc-2016.03 release
This change switches ARC tools to the most recent arc-2016.03
version.

ARC GNU tools of version arc-2016.03 bring some quite significant
changes like:
 * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC
 * patches)
 * GCC v4.8.5
 * GDB 7.10

More about changes, improvements and fixes could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

Note in this change we're adding sha512 checksums for
both binutils and gcc tarballs fetched from GitHub.

Build and run-tested in nSIM for both ARC700 and ARC HS38.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-19 21:12:38 +02:00
Thomas Petazzoni
ae466a6041 binutils: remove support for version 2.23
Now that we have added support for the lastest binutils version 2.26,
it is time to remove the oldest version we currently support, 2.23, in
order to keep only 3 versions: 2.24, 2.25 and 2.26.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-17 08:52:02 +02:00
Alexey Brodkin
adbdc6e58f toolchain: bump ARC tools to arc-2016.03-rc2
This change switches ARC tools to RC2 of the most recent arc-2016.03
version.

Essentially once final release is ready version will be bumped again.

ARC GNU tools of version arc-2016.03 bring some quite significant
changes like:
 * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC patches)
 * GCC v4.8.5
 * GDB 7.10

More about changes, improvements and fixes could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03-rc2

Also in this change we realign custom Buildroot patches for binutils and
gcc for ARC tools. Looks like earlier most of arch-independent patches
for binutils and gcc were either unintentionally removed or not even
added in patch folders for ARC's binutils and gcc. Now arch-independent
patches for binutils-2.26 and gcc-4.8.5 were added in
package/{binutils|gcc}/arc-2016.03-rc2 folders.

Build and run-tested in nSIM for both ARC700 and ARC HS38.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-05-11 23:06:45 +02:00
Thomas Petazzoni
0fb442c51d binutils: remove 2.22 hash
In commit 2f84595394 ("binutils: remove
version 2.22"), binutils 2.22 was removed, but forgot to remove the
corresponding hash from the hash file.

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-22 15:06:13 +02:00
Max Filippov
3b3775c8cb binutils: disable plugins for static links
Plugins want to use dlopen even when configured with --disable-shared.
Add --disable-plugins when STATIC_LIBS is selected.
Fixes:
  http://autobuild.buildroot.net/results/a59e5858d777dcee3d8f7fb6e82ee4735b520155/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-20 15:02:52 +01:00
Thomas Petazzoni
457eb9c9ae binutils: use binutils 2.25.1 by default
Recent commit 5eb37d6adc broke the build
by default to binutils 2.25 for the target, while we only have hashes
for 2.25.1. Use 2.25.1 instead.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-10 23:34:58 +01:00
Thomas Petazzoni
5eb37d6adc binutils: switch to version 2.25 by default
binutils 2.26 has been released, it is time to switch to 2.25 as the
default version.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-10 23:08:00 +01:00
Max Filippov
3721f0f572 binutils: backport xtensa .init/.fini literals moving fix to 2.26
Despite the documentation and the comment in xtensa_move_literals, in
the presence of --text-section-literals and --auto-litpools literals are
moved from the separate literal sections into .init and .fini, because
the check in the xtensa_move_literals is incorrect.

This fixes build errors seen with projects that have .init/.fini and use
text-section-literals.

Backported from: 4111950f363221c4641dc2f33bea61cc94f34906
Reported-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-10 15:11:26 +01:00
Romain Naour
f8d0d28bf9 package/binutils: add binutils 2.26
- Rebase patches from 2.25 on top of 2.26.
- Use git format for patches
- remove upstreamed xtensa patches

The first patch [1] is needed to be able to build glibc with binutils 2.26 on nios2.
The second from [2] fix an assertion issue with ld.

[1] https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=a7be2893a6449e64fe6cfcdd8700b0a367a69f19
[2] https://sourceware.org/bugzilla/show_bug.cgi?id=19405

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Cc: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-03-06 16:02:03 +01:00
Peter Korsgaard
28cd1ed30a Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-03-02 21:25:00 +01:00
Ezequiel García
027b7ca0f2 arch/arm: add the cortex A17 variant supported by gcc 5.x
Add the Cortex A17 variant. This core is considered a replacement
of the Cortex A12 and is supported by gcc 5 / binutils 2.25+

Suggested-by: Ross Green <greenfross@netscape.net>
Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-22 09:31:42 +01:00
Bernd Kuhls
d5646b5109 package/binutils: add optional support for zlib
When zlib was compiled before, binutils will use it as optional
dependency:

$ output/host/usr/bin/x86_64-linux-readelf -a output/target/usr/lib/libbfd-2.24.so | grep NEEDED
 0x0000000000000001 (NEEDED)             Shared library: [libz.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.1]

Apparantly the build system offers no support to control the
dependency, --without-system-zlib with zlib installed still provides
libbfd-2.24.so linked to libz.so.1.

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-21 21:30:17 +01:00
Max Filippov
ff97824236 binutils: fix .init/.fini literals moving in xtensa gas
Despite the documentation and the comment in xtensa_move_literals, in
the presence of --text-section-literals and --auto-litpools literals are
moved from the separate literal sections into .init and .fini, because
the check in the xtensa_move_literals is incorrect.

This fixes build errors seen with projects that have .init/.fini and use
text-section-literals.

Backported from: 4111950f363221c4641dc2f33bea61cc94f34906
Reported-by: Waldemar Brodkorb <mail@waldemar-brodkorb.de>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-18 15:07:43 +01:00
Romain Naour
7f169fe85e package/binutils-2.25.1: backport upstream patch for PR19405
Fixes Buildroot generated toolchains:
http://autobuild.buildroot.net/results/89b/89b46f97e2736d9337f888c761259e7bc7cdd128

Upstream bug:
https://sourceware.org/bugzilla/show_bug.cgi?id=19405

Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-17 22:29:15 +01:00
Lada Trimasova
f25df488d7 toolchain: bump ARC toolchain components to arc-2015.12
This change introduces newer ARC toolchain in Buildroot.

That new arc-2015.12 release doesn't bring any significant changes
but mostly is focused on fixes and minor improvements here and there.
Most noticeable changes are:
 * GCC: Source update to v4.8.5
 * GDB: Updated to upstream 7.10 release.

You may find more info on fixes and improvements in that release at:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12

Signed-off-by: Lada Trimasova <ltrimas@synopsys.com>
Cc: Alexey Brodkin <abrodkin@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>
2016-02-05 21:48:51 +01:00
Max Filippov
7eafaa6f72 binutils: fix .loc processing in xtensa gas
Fixes:
  http://autobuild.buildroot.net/results/bff7436a800eeea92c0c92bd2846b0f2b31947fd/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2016-02-03 23:17:01 +01:00
Peter Korsgaard
1d42d0acca binutils: ensure TARGET_CONFIGURE_ARGS is taken into consideration for subdirs
Binutils runs the configure scripts of subdirs at make time, so we need a
custom build command to ensure TARGET_CONFIGURE_ARGS are taken into
consideration for those (E.G. for musl gettext handling).

Reported-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2016-02-01 23:46:45 +01:00
Alexey Brodkin
e10860f644 toolchain: bump ARC toolchain components to arc-2015.12-rc1
This change introduces newer ARC toolchain in Buildroot.
Note this is the first release candidate and we'll probably see another
RC before cutting the final release.

That new arc-2015.12 release doesn't bring any significant changes but
mostly is focused on fixes and minor improvements here and there.
Most noticeable changes are:
 * GCC updated to v4.8.5
 * GDB updated to 7.10

You may find more info on fixes and improvements in that release at:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2015.12-rc1

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>
2016-01-19 22:01:37 +01:00
Alexey Brodkin
5642c89e70 binutils: fix building perf on ARC
It turned out one of the previous fixes (required to build Linux
kernel)
------------------>8-------------------
ARC Binutils: a65b844aed
Buildroot: http://git.buildroot.net/buildroot/commit/?id=2d4e2e238a0ea9395152ae71d882d79b1f35094c
------------------>8-------------------
broke building of some other software packages.

In particular perf built for ARCv2 had corrupted .plt entries that lead
to immediate crash on perf execution.

That's an example of normal .plt entries:
------------------>8-------------------
< 1-st PLT entry >:
   12c24:    30 27 8c 7f 0d 00 74 95    ld         r12,[pcl,0x000d9574]
   12c2c:    21 20 00 03                j.d        [r12]
   12c30:    0a 24 c0 1f                mov        r12,pcl

< 2-nd PLT entry >:
   12c34:    30 27 8c 7f 0d 00 68 95    ld         r12,[pcl,0x000d9568]
   12c3c:    21 20 00 03                j.d        [r12]
   12c40:    0a 24 c0 1f                mov        r12,pcl
------------------>8-------------------
Note right after jump in its delay-slot r12 gets set with current value
of program counter. This is required for the first symbol resolution,
see implementation of _dl_linux_resolve here:
http://git.uclibc.org/uClibc/tree/ldso/ldso/arc/resolve.S#n46

And that's what we got in .plt after mentioned fixes:
------------------>8-------------------
< 1-st PLT entry>:
   13384:    30 27 8c 7f 0f 00 84 75     ld         r12,[pcl,0x000f7584]
   1338c:    21 20 00 03                 j.d        [r12]

< 2-nd PLT entry>:
   13390:    30 27 8c 7f 0f 00 78 75     ld         r12,[pcl,0x000f7578]
   13398:    21 20 00 03                 j.d        [r12]
------------------>8-------------------

Note r12 setup is missing.

That happened because linker thought the size of PLT entry is 12 bytes
(which is exactly the size of PLT entry for ARCv1, read ARC750/770)
while for ARCv2 PLT entry is 16-bytes long. And erroneously trailing 4
bytes were truncated.

Current commit fixes this misbehavior and PLT gets generated properly
again.

Now we have a fix for that issue, see
5df50c6108

This fix is in arc-2.23-dev branch and will be a part of the next
release of ARC tools, so then this patch must be removed from buildroot.

Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-17 16:16:53 +02:00
Vicente Olivert Riera
99122d6780 arch: add support for mips32r6 and mips64r6 variants
- Add support for mips32r6 and mips64r6 target architecture variants
- Disable unsupported gcc versions
- Disable unsupported binutils versions
- Disable unsupported external toolchains
- Disable unsuported C libraries
- Add a hook in order to make glibc compile for MIPS R6.

[Thomas: slightly tweak the glibc hack explanation, to make it
hopefully clearer.]

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-12 21:33:56 +02:00
Max Filippov
e0ae34b029 binutils: backport auto-litpools xtensa gas option
Auto-litpools is the automated version of text-section-literals: literal
pool candidate frags are planted every N frags and during relaxation
they are turned into actual literal pools where literals are moved to
become reachable for their first reference by L32R instruction.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-10-04 17:27:27 +01:00
Vicente Olivert Riera
f3e9999159 binutils: remove unnecessary host-texinfo dependency
host-texinfo dependency was only necessary when building the git version
of binutils, however, this upstream commit allows binutils to build
without makeinfo (a binary provided by host-texinfo)...

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commit;h=bba33ab1e0f7d2ebd8f8435f92ed12e2a3c558a4

...so we can safely remove the host-texinfo dependency.

Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-09-20 14:57:02 +02:00
Alexey Brodkin
2d4e2e238a binutils: fix building of Linux kernel for ARCv2 ISA
With the fix for missing .tdata/.tbss sections we unintentionally
introduced a regression for ARCv2 ISA (read ARC HS38) kernel building.

That's what we got on attempt to build kernel:
----------------------------------->8--------------------------------------
  LD      drivers/video/fbdev/built-in.o
arc-linux-ld: ERROR: Attempting to link drivers/video/fbdev/omap2/built-in.o with a binary drivers/video/fbdev/built-in.o of different architecture
arc-linux-ld: failed to merge target specific data of file drivers/video/fbdev/omap2/built-in.o
scripts/Makefile.build:337: recipe for target 'drivers/video/fbdev/built-in.o' failed
make[3]: *** [drivers/video/fbdev/built-in.o] Error 1
scripts/Makefile.build:403: recipe for target 'drivers/video/fbdev' failed
make[2]: *** [drivers/video/fbdev] Error 2
scripts/Makefile.build:403: recipe for target 'drivers/video' failed
make[1]: *** [drivers/video] Error 2
Makefile:944: recipe for target 'drivers' failed
make: *** [drivers] Error 2
----------------------------------->8--------------------------------------

The reason was empty .tdata and .tbss sections in empty archives. And
later empty archives were linked in built-in.o with default architecture
(in our case ARCv1 ISA, read for ARC 700) and then expected failure
happened when objets for different architectures were attempted to link
together.

Now we have a fix for that issue, see
a65b844aed

This fix is in arc-2.23-dev branch and will be a part of the next
release of ARC tools, so then this patch must be removed from buildroot.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-08-04 20:06:41 +02:00
Alexey Brodkin
4a48479206 binutils: more fixes for arc-2015.06 tools
Two patches below are taken from development branch of ARC binutils,
so one the next release of ARC tools happens both patches must be removed.

These 2 patches:
 0003-ld-arc-Provide-the-.tdata-symbol.patch
 0004-Provide-.tbss-symbol.patch
fix missing .tbss and .tdata sections during linkage stage such as:
------------------------------>8---------------------------
arc-linux-g++ test.cpp
../arc-buildroot-linux-uclibc/lib/libstdc++.so: undefined reference to '.tbss'
collect2: error: ld returned 1 exit status
------------------------------>8---------------------------

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-28 22:49:11 +02:00
Gustavo Zacarias
a8fd20b5e6 binutils: bump 2.25.x series to 2.25.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-28 22:44:38 +02:00
Gustavo Zacarias
f84cc202aa binutils: rename config option
Rename the binutils configuration option to match that one used by gcc
where the patchlevel is explicitly left out.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-28 22:44:29 +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
Thomas Petazzoni
2f84595394 binutils: remove version 2.22
We already use 2.24 as the default, 2.25 has been around for some
time, and 2.22 is clearly very old, so let's get rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2015-07-13 17:33:50 +02:00
Thomas Petazzoni
cc8d59ad4e binutils: use binutils 2.24 by default on the target
When binutils is not built for the host, binutils.mk decides of the
version to be used when building binutils for the target. We're still
using the old 2.22 binutils version, but it's time to bump up to 2.24,
which we already use as the default version for the host.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
2015-07-13 17:32:36 +02:00
Max Filippov
c7e1c58fac binutils: fix xtensa gas segfault with --text-section-literals
Building libgcc with TARGET_ABI flags results in assembler segfault on
xtensa, because code in sections .init and .fini emits literals w/o
.literal_position directive. This patch turns the segfault into assembly
error.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-11 12:33:13 +02:00
Sam bobroff
e2b99fa190 powerpc: disable binutils 2.24 for little endian
Binutils 2.24 produces broken code when compiling the kernel for
ppc64le, so prevent this combination. See:

https://sourceware.org/ml/binutils/2013-12/msg00200.html

The problem manifests early in the boot process with "Kernel access of
bad area, sig: 11" in arch_match_cpu_phys_id().

The fix has been merged upstream as commit
57fa7b8c7e59e35bced580f9bcb9668af43fdbce, which is available since
Binutils 2.25.

Signed-off-by: Sam Bobroff <sam.bobroff@au1.ibm.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-03 10:33:06 +02:00
Alexey Brodkin
837654c2bf ARC: update folders with patches for arc-2015.06-rc1 release
In buildroot we maintain a couple off-the-tree patches.
In particular for binutils and gcc packages.

Because we have many versions of mentioned packages patches for each
particular version reside in a folder which name matches full version
name of the package.

For example we used to have patches for binutils distributed as part of
arc-2014.12 tools in folder ""package/binutils/arc-2014.12". Now with
bump of ARC tools version we need to rename folder with patches to
"arc-2015.06-rc1".

The same applies to gcc.

Should fix http://autobuild.buildroot.net/results/2b2/2b27a4a64c0b225ae479ecfccf7a97f5ea95598c/
As discussed before it's not possible to reproduce reported problem on recent
Fedora 21/22 distros (at least we know about them) but I may confirm that
patches were applied fine and everything was built well. Hopefully reported
build failure goes away now.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Romain Naour <romain.naour@openwide.fr>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-07-01 09:50:06 +02:00
Thomas Petazzoni
89d4a209f5 binutils: update to the latest ARC version by default
Following commit 36555b4c8d ("ARC:
switch to RC1 of upcoming arc-2015.06 tools"), the binutils package
only contains the hash information for the 2015.06-rc1 ARC version of
binutils (which is in fact no hash). However, when an external
toolchain is used, and binutils is built for the target, it's still
the old 2014.11 binutils version that gets used in binutils.mk,
causing a build failure because there is no hash available for this
version.

This commit fixes that by using 2015.06-rc1 as the default binutils
version on ARC, which is used when no host-binutils has been built.

Fixes:

  http://autobuild.buildroot.org/results/8f7/8f772e6fccb4f918120a7bb814da2224432d1c09/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-06-30 12:36:34 +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
Max Filippov
384c919321 binutils: fix xtensa ld bug triggered by --gc-sections
elf_xtensa_gc_sweep_hook doesn't correctly unreference symbols that were
made local, that results in link failure with the following message:

  BFD (GNU Binutils) 2.24 internal error, aborting at elf32-xtensa.c line
  3372 in elf_xtensa_finish_dynamic_sections

elf_xtensa_gc_sweep_hook determines symbol reference type (PLT or GOT) by
relocation type. Relocation types are not changed when symbol becomes
local, but its PLT references are added to GOT references and
plt.refcount is set to 0. Such symbol cannot be unreferences in the
elf_xtensa_gc_sweep_hook and its extra references make calculated GOT
relocations section size not match number of GOT relocations.

Fix it by treating PLT reference as GOT reference when plt.refcount is
not positive.

Fixes:
  http://autobuild.buildroot.net/results/3e2e24f697e26c93d4d95782b1cb7799fa620a7a/
  http://autobuild.buildroot.org/results/97d4c96d6f6cdc1ed4007456f4ab70be9dfa41b5/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-16 18:28:06 +02:00
Romain Naour
0c12f72775 package/binutils (arc): backport PR56780 patches
--disable-install-libiberty configure option is broken
in gcc 4.8.x, so libiberty.a is always installed in HOST_DIR.

This library broke the host-gdb build due to a fpic/fPIC issue.

Since binutils use a copy of gcc's libiberty sources, it's
affected by the same bug.

binutils-arc-2014.11 which is based on 2.23 branch doesn't have
the PR56780 fixies, so backport them.

Fixes:
http://autobuild.buildroot.net/results/ca4/ca45297aa0ffbc9062ed92dc7ac070b0b33001de/

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Acked-by: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-14 00:36:40 +02:00
Max Filippov
af863a3bc0 binutils: fix xtensa gas trampolines regression
xtensa trampolines relaxation optimization caused the following build
errors:
  Error: operand 1 of 'j' has out of range value '131643'
  Error: operand 1 of 'j' has out of range value '4294836162'
  Error: operand 1 of 'j' has out of range value '4294836072'

Extra condition 'abs (addr - trampaddr) < J_RANGE / 2' for trampoline
selection results in regressions: when relaxable jump is little longer
than J_RANGE so that single trampoline makes two new jumps, one longer
than J_RANGE / 2 and one shorter, correct trampoline cannot be found.

Drop that condition.

Upstream status: patch submitted.
Fix squashed into the optimization patch.
Fixes:
  http://autobuild.buildroot.net/results/5ba7d18262ce6a2dfd69db07d064a971267f1128/

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2015-05-10 23:08:54 +02:00
Max Filippov
911c5e2dd3 binutils: backport xtensa trampolines relaxation optimization
This optimization alone reduces gnuradio build time for xtensa from 2
hours to 40 minutes.

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-05-05 22:44:47 +02:00
Yann E. MORIN
e3e3a58535 package/binutils: add hashes
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>
2015-04-25 11:50:29 +02:00
Max Filippov
c6d9a92dbd binutils: backport xtensa ld optimizations
This series optimizes most time-consuming algorithms and data structures
in the xtensa link-time relaxation code, leaving relaxation logic intact.

Speedup linking typical linux kernel is ~8 times (1 minute instead of 8),
pathological cases (linking objects partially linked without relaxation)
are handled ~60 times faster (1 minute instead of an hour).

Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-04-09 21:52:36 +02:00
Gustavo Zacarias
f206d745a4 binutils: remove blackfin conditionals
Now that we don't support the internal blackfin toolchain any more
remove unnecessary conditionals.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-20 21:51:02 +01:00
Thomas Petazzoni
43e9d51d61 binutils: fix target binutils on ARC
When an external toolchain is used on ARC, BR2_BINUTILS_VERSION is
undefined, so we use binutils 2.22, which doesn't support ARC and
anyway isn't available from the ARC download location.

So, let's defined a default ARC binutils version in binutils.mk.

Fixes:

  http://autobuild.buildroot.org/results/52a/52abadacd7aab2d5c11d094937f28198bf220662/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-15 16:58:17 +01:00
Peter Kümmel
814f63ec32 toolchain: add link-time-optimization support
Add a new option BR2_GCC_ENABLE_LTO that builds gcc and binutils with
LTO support.

Individual packages still have to enable LTO explicitly by passing '-flto' to
GCC, which passes it on to the linker. This option does not add that flag
globally. Some packages detect if the compiler supports LTO and enable the flag
if it does.

To support LTO, ar and ranlib must be called with an argument which triggers the
usage of the LTO plugin. Since GCC doesn't call these tools itself, it instead
provides wrappers for ar and ranlib that pass the LTO arguments. This way
existing Makefiles don't need to be changed for LTO support. However, these
wrappers are called <tuple>-gcc-ar which matches the pattern to link to the
buildroot wrapper in the external toolchain logic. So the external toolchain
logic is updated to provide the correct symlink.

[Thomas:
  - Add a separate BR2_BINUTILS_ENABLE_LTO option to enable LTO
    support in binutils. This is a blind option, selected by
    BR2_GCC_ENABLE_LTO. It just avoids having binutils.mk poke
    directly into gcc Config.in options.
  - Remove the check on the AVR32 special gcc version, which we don't
    support anymore.
  - Adapt the help text of the LTO Config.in option to no longer
    mention "Since version 4.5", since we only support gcc >= 4.5 in
    Buildroot anyway.
  - Fix typo in toolchain-external.mk comment.]

Signed-off-by: Peter Kümmel <syntheticpp@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-03-07 15:01:53 +01:00
Ezequiel García
373705b984 binutils: nios2: Prevent selecting unsupported versions
Versions previous to binutils v2.25 do not support the Nios-II architecture,
so disable them.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-19 22:04:26 +01:00
Yann E. MORIN
a645f61b0e package/binutils: avr32 is gone
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-02-14 17:44:12 +01:00
Alexey Brodkin
41e1cb18d1 ARC: bump tools to 2014.12 release
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>
2015-02-02 21:27:55 +01:00
Paul Cercueil
6a508d9361 binutils: Also install libopcodes in staging
This library will be used later in the "lightning" package.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2015-01-02 17:24:38 +01:00
Peter Korsgaard
f897310746 binutils: default to 2.24
2.22 is getting quite old (Nov 2011) and we've recently added 2.25. 2.24 has
been used for the "new" architectures for a while and there's no known
issues going to 2.24 for the rest, so bump the default version.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-12-28 12:24:46 +01:00
Gustavo Zacarias
621a2a713e binutils: add version 2.25
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-24 14:59:24 +01:00
Jerzy Grzegorek
38f09d6873 package: indentation cleanup
Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-24 11:41:05 +01:00
Thomas Petazzoni
2621ff3bed binutils: enable poison system directories option
This commit enables the poison system directories option, which is now
available thanks to the binutils patches that have been added.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Acked-by: Romain Naour <romain.naour@openwide.fr>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
43609b30e9 binutils/arc-2014.08: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils arc-2014.08, and modified to
support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to
error out instead of just warn when unsafe paths are used. Even though
erroring out can be chosen by passing
--error-poison-system-directories, we are not sure this option in
LDFLAGS will always be passed, so having an environment variable
guarantees it will always be passed, and also allows to have an
identical behavior to the external toolchain wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
df8dcbcd81 binutils/2.22: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.22, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
b5997f852e binutils/2.23: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.23, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Thomas Petazzoni
48bc113e3f binutils/2.24: add patch to warn about unsafe library paths
This commit adds a patch to binutils borrowed from CodeSourcery/Yocto
that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib,
etc.). The patch was adapted to binutils 2.24, and modified to support
the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out
instead of just warn when unsafe paths are used. Even though erroring
out can be chosen by passing --error-poison-system-directories, we are
not sure this option in LDFLAGS will always be passed, so having an
environment variable guarantees it will always be passed, and also
allows to have an identical behavior to the external toolchain
wrapper.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: Romain Naour <romain.naour@openwide.fr>
2014-12-11 00:05:52 +01:00
Romain Naour
f6486432ec package/binutils: fix comment dependencies
[Thomas: re-adjust dependencies, according to Yann's comment.]

Signed-off-by: Romain Naour <romain.naour@openwide.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-12-07 22:05:26 +01:00