Commit Graph

130 Commits

Author SHA1 Message Date
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
Max Filippov
b20bb0c7b7 binutils: fix xtensa trampolines search code for conditional branches
This fixes the following build errors seen when assembling huge files
produced by gcc:
  Error: jump target out of range; no usable trampoline found
  Error: operand 1 of 'j' has out of range value '307307'

Fixes:
  http://autobuild.buildroot.net/results/545/545168d9caf3bdb3dd3eb3bae58ba9db8a33384a/

Backported from: d92b6eece424f0ad35d96fdd85bf207295e8c4c3
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-11-26 14:48:25 +01:00
Alexey Brodkin
cb2e8c5d9c binutils: now depends on wchar
binutils starting at least from 2.23 when build for target require
uClibc configured with UCLIBC_HAS_WCHAR otherwise:

libtool: link: [...] -o as-new [...]
read.o: In function `read_symbol_name':
read.c:(.text+0x3634): undefined reference to `mbstowcs'
collect2: error: ld returned 1 exit status

because "mbstowcs" is not available in the C library.

Even though we're not yet using 2.23.2 as the default version, we will
probably do it in the near future, so this commit doesn't bother with
making the wchar dependency version-specific, and applies it to the
binutils package as a whole.

Fixes bug #6218

[Thomas:
 - more details in the commit log.
 - add comment about the wchar dependency
 - propagate the dependency to dropwatch (and fix a mistake in the
   architecture dependencies of the comment)
 - propagate the dependency to oprofile.]

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2014-10-29 22:13:13 +01:00
Thomas Petazzoni
21a60216e9 binutils: bump the default target version of binutils
When binutils for the host is not built (which is the case when an
external toolchain is used), the version of binutils used is 2.21,
which is quite old. Since we have bumped to 2.22 as the default
version for the host binutils, let's do the same for the target
binutils.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2014-10-29 22:12:51 +01:00
Thomas Petazzoni
beaf1c1887 binutils: remove dead code
We no longer have any way of using version 2.23, and all the other
versions that we support are available as .tar.bz2. Therefore we can
remove the special case related to the 2.23 version only being
available as a .tar.gz archive.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2014-10-29 22:11:27 +01:00
Gustavo Zacarias
36535812eb binutils: drop stray patch
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-10-14 17:27:45 +02:00
Thomas De Schampheleire
aaffd209fa packages: rename FOO_CONF_OPT into FOO_CONF_OPTS
To be consistent with the recent change of FOO_MAKE_OPT into FOO_MAKE_OPTS,
make the same change for FOO_CONF_OPT.

Sed command used:
   find * -type f | xargs sed -i 's#_CONF_OPT\>#&S#g'

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-10-04 18:54:16 +02:00
Max Filippov
9849f0052c binutils: fix 'call8: call target out of range' xtensa ld bug
This fixes the following linux kernel build errors:

  LD      init/built-in.o
  net/built-in.o: In function `raw_proc_exit':
  (.init.text+0xe29): dangerous relocation:
		      call8: call target out of range: udp_proc_register
  net/built-in.o: In function `udp_table_init':
  (.init.text+0xf09): dangerous relocation:
		      call8: call target out of range: udp_proc_register
  net/built-in.o: In function `inet_init':
  af_inet.c:(.init.text+0x142e): dangerous relocation:
				 call8: call target out of range: udp4_proc_exit
  net/built-in.o: In function `ip_auto_config':
  ipconfig.c:(.init.text+0x28aa): dangerous relocation:
				  call8: call target out of range: arp_send

Backported from: 331ed1307b93d3ff77d248bdf2f7b79a20851457
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-09-23 21:56:46 +02:00
Waldemar Brodkorb
013f9fe67d bfin: disable newer binutils for internal toolchain
You get following linking error, when trying to build a
toolchain for bfin with newer binutils:
bfin-buildroot-linux-uclibc/bin/ld: fde encoding in _divdi3_s.o(.eh_frame) prevents .eh_frame_hdr table being created.

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-09-04 22:42:24 +02:00
Alexey Brodkin
a484a6ca2c ARC: bump tools to 2014.08 release
Now when new shiny tools are released by Synopsys we're ready for version
update in Buildroot.

Important change in this release is switching to combined "binutils-gdb" repo
in accordance to upstream move.

Following patch now is a part of the most recent relese:
e6ab8cac62

So dropping it.
package/binutils/arc-4.8-R3/0001-arc-Honor-DESTDIR-in-custom-Makefile.patch

Since arc-2014.08 tools are still based on GCC 4.8 following patch is still
relevant so moving to the new folder to matxh ARC gcc bump.
package/gcc/arc-4.8-R3/100-libstdcxx-uclibc-c99.patch ->
package/gcc/arc-2014.08/100-libstdcxx-uclibc-c99.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: Peter Korsgaard <peter@korsgaard.com>
2014-09-01 16:14:42 +02:00
Anton Kolesov
b737b12dad binutils, gdb: support unified binutils-gdb git repository
If Binutils and/or GDB are fetched from the unified binutils-gdb
repository, then the tarball will contain both Binutils and GDB
sources, unlike the "normal" tarballs that contain only the titular
package. To keep packages separated in Buildroot we need to disable
undesired components when configuring.

Binutils and GDB migrated to a common Git repository in the October
2013 [1]. Previous Git repositories were incomplete copies of CVS
repository which copied only the relevant files (no binutils files in
GDB, and vice versa). In the new binutils-gdb repository there is no
such separation and a result all files exist in directory after
checkout. So if "configure" and "make" are used without explicit
targets, all projects will be built: binutils, ld, gas, bfd, opcodes,
gdb, etc. In case of Buildroot this would mean that selecting Binutils
only, still will build both Binutils and GDB.  And if GDB is selected
as well, then both packages will be built two times, and Binutils from
GDB directory will overwrite initial build of Binutils (or vice versa
if Binutils will be built after the GDB). This is a serious problem,
because binutils and GDB use separate branches in this common
repository. In case of Buildroot this means that separate Git commits
(or tags) should be used when downloading source from Git.

This affects only Git repositories, because GNU release tarballs still
contain only relevant packages.

This change is backward compatible, because if "normal" tarball is
used (without extra directories), than --disable-* configure options
are just ignored by configure.

[1] https://sourceware.org/ml/gdb/2013-10/msg00071.html

[Thomas: use variables to factorize options, and add comments in the
relevant .mk files to explain what's going on.]

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-30 19:23:49 +02:00
Thomas Petazzoni
a1a16ebb02 binutils: remove 2.21.1
After the following commits:

26974bf6a7 use default binutils for sh architecture
6f1cf344d9 binutils: Use the default version by default on MIPS

the 2.21.1 binutils version is no longer required, and since it's an
old version, we get rid of it.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-15 19:37:32 +02:00
Thomas Petazzoni
853660b19f binutils: remove leftover version definitions
Following d4839ffcab ("binutils: remove
2.20.1, 2.21 and 2.23.1"), Config.in.host contains unneeded
definitions of BR2_BINUTILS_VERSION for no longer existing
versions. This patch fixes that.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-15 19:37:18 +02:00
Max Filippov
0dd180ec19 binutils: fix xtensa ld segfault on linking linux modules
This fixes the following build error reproducible with any linux kernel
module built with a recent buildroot toolchain:

  LD [M]  fs/jbd2/jbd2.ko
  /bin/sh: line 1: 12069 Segmentation fault
  buildroot/host/usr/bin/xtensa-buildroot-linux-uclibc-ld -r --no-relax
  -T linux/scripts/module-common.lds --build-id
  -o fs/jbd2/jbd2.ko fs/jbd2/jbd2.o fs/jbd2/jbd2.mod.o

Backported from: e7d17e71cdc10a2e81e454ce3b9637f1b2a587f2
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-07-12 14:34:05 +02:00
Thomas Petazzoni
d4839ffcab binutils: remove 2.20.1, 2.21 and 2.23.1
- The 2.20.x series is old, it no longer makes sense to support it.

 - In the 2.21.x series, we still have 2.21.1, so keeping 2.21 doesn't
   make much sense, so this patch removes it.

 - Similarly for the 2.23.x series, having both 2.23.1 and 2.23.2
   doesn't make much sense, so this patch removes 2.23.1 and keeps
   2.23.2.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-10 16:09:32 +02:00
Waldemar Brodkorb
26974bf6a7 use default binutils for sh architecture
Tested toolchain compiles with binutils 2.22 and 2.24.
Result tested in Qemu 2.0.0. (only little endian version
tested)

Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-10 14:39:40 +02:00
Vicente Olivert Riera
6f1cf344d9 binutils: Use the default version by default on MIPS
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com>
Reviewed-by: Markos Chandras <markos.chandras@imgtec.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-02 17:10:32 +02:00
Alexey Brodkin
0c7db694ac binutils: disable makeinfo
makeinfo is known to cause problems when building old texi files with more
recent host makeinfo.

In particular binutils-2.18 won't build on Fedora 20 without this change.

Even though more up to date binutils does build without this change there's
no guaranty it will with bump of host makeinfo in the future.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

Cc: Anton Kolesov <akolesov@synopsys.com>
Cc: Peter Korsgaard <peter@korsgaard.com>
Cc: Gustavo Zacarias <gustavo@zacarias.com.ar>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-07-01 15:16:31 +02:00
Anton Kolesov
701e8a8e81 binutils: arc: Fix native binutils build failure
ARC-specific Makefile has been ignoring DESTDIR when doing target "install".
This has been causing build failure for native binutils, since it was trying
to install into the host's "/usr". This commit adds a patch that teaches
Makefile to honor DESTDIR. This patch should be removed after ARC Binutils
will be bumped to next release.

This fixes:
http://autobuild.buildroot.net/results/68ee094509db3e8fbedf9bab5745ff68cdfe0a84/

Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-07 09:27:43 +02:00
Peter Korsgaard
27a5414804 Merge branch 'next'
Conflicts:
	package/gdb/Config.in.host

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-06-01 09:58:54 +02:00
Cody P Schafer
89e934baab package/binutils: add depends for powerpc64le (only 2.24 works)
Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-26 14:25:43 +02:00
Jeff Bailey
a426a91973 Add support for powerpc64le
This patch adds support for powerpc64le-linux-gnu.  This includes
needed patches to fakeroot and gmp.

gmp patch is from upstream HG tree.
fakeroot patch is from Ubuntu written by Adam Conrad.

Signed-off-by: Jeff Bailey <jeffbailey@google.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-25 23:24:09 +02:00
Thomas Petazzoni
4210c49357 binutils: add patch to fix AArch64 glibc build issue
The autobuilders are not able to build glibc on AArch64 since we moved
to the internal toolchain backend as the default for AArch64. The
reason is that the cross-ld segfaults while linking of the glibc
utilities. Unfortunately, the issue has so far been impossible to
reproduce outside of the autobuilder CI loop itself: even on the same
machine, in the same chroot, the issue does not appear.

Today, Will Newton helped me analyze a bit further the problem. In the
logs of the build machine, we have found that the following segfault
notification matched the dates of the autobuilder failures:

/var/log/syslog:May 15 10:39:20 sd-56966 kernel: [767023.832598] ld[6846]: segfault at 1b2c002 ip 00000000004caf80 sp 00007fffaa308df8 error 4 in ld[400000+1b9000]
/var/log/syslog.2.gz:May 13 07:58:24 sd-56966 kernel: [585094.434264] ld[17761]: segfault at 154b002 ip 00000000004caf80 sp 00007fff0d400168 error 4 in ld[400000+1b9000]
/var/log/syslog.3.gz:May 12 20:24:08 sd-56966 kernel: [543558.227915] ld[14841]: segfault at 2706002 ip 00000000004caf80 sp 00007fffc08d41c8 error 4 in ld[400000+1b9000]
/var/log/syslog.4.gz:May 11 19:51:59 sd-56966 kernel: [455484.523033] ld[50162]: segfault at 1f00002 ip 00000000004caf80 sp 00007fff14a02328 error 4 in ld[400000+1b9000]
/var/log/syslog.4.gz:May 12 05:13:37 sd-56966 kernel: [489085.120089] ld[32067]: segfault at 2430002 ip 00000000004caf80 sp 00007fffc448db48 error 4 in ld[400000+1b9000]
/var/log/syslog.6.gz:May  9 15:20:38 sd-56966 kernel: [266948.197141] ld[13483]: segfault at ff0002 ip 00000000004caf80 sp 00007fff7e4fe948 error 4 in ld[400000+1b9000]
/var/log/syslog.7.gz:May  8 16:45:08 sd-56966 kernel: [185853.688607] ld[1757]: segfault at 20b1002 ip 00000000004caf80 sp 00007fffd07d5ae8 error 4 in ld[400000+1b9000]

See
http://autobuild.buildroot.org/?reason=glibc-2.18-svnr23787&arch=aarch64
for the autobuilder results.

So, the segfault always happens while accessing an address 2 bytes
after the beginning of a page: it looks like a buffer overflow, which
gets triggered because the object is placed towards the end of the
previous page, and crosses over the next, unallocated page.

Moreover, we looked at the 0x4caf80 address in an AArch64 cross-ld
built by Buildroot, and it turns out that it is part of the
iterative_hash() function. This nicely correlates with the patch that
Will Newton had pointed in
http://lists.busybox.net/pipermail/buildroot/2014-May/095881.html as a
fix for invalid memory accesses reported by Valgrind in the AArch64
cross-ld, specifically around the same area of 'ld'.

Therefore, even though we have not been able to reproduce the issue
outside of the autobuilders, and cannot confirm that the patch is
fixing the issue, I propose to integrate this binutils patch into
Buildroot. It is anyway an upstream binutils patch, which fixes a real
problem.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-16 09:55:21 +02:00
Max Filippov
f7230f6af5 binutils: backport R_XTENSA_DIFF* relocation signedness fix
This fixes the following build errors:

  qlatincodec.o:(.debug_line+0xcd7): dangerous relocation: overflow after relaxation
  qmetaobject.o:(.debug_frame+0xa89): dangerous relocation: overflow after relaxation

Fixes:
  http://autobuild.buildroot.net/results/f51/f51c87ae3c883cc36b06c0741999b52e48e4c943/
  http://autobuild.buildroot.net/results/bcb/bcbf25e4054911a7a192bdb5c92e0ebd50e9666c/
  http://autobuild.buildroot.net/results/8a8/8a8a0f8cca293ce1f383421ba8b1223b4266e3bc/
  http://autobuild.buildroot.net/results/a54/a54f3707781dc193292eda7d1723fce6487d6980/

Backported from: 1058c7532d0b012ac329219264ddad59049fb6e6
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-12 23:03:47 +02:00
Max Filippov
aae48f1c6f binutils: backport first section frag alignment fix for xtensa gas
This fixes the following build error often seen during linux kernel
linking step with relaxation enabled:

  dangerous relocation: call8: misaligned call target: (.text.unlikely+0x63)

Backported from: a35d5e823fdfe8a6e7e05ca8e3fb8bb5697335b1
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-05-12 23:03:38 +02:00
Anton Kolesov
11f4a14b1a binutils: arc: bump to arc-4.8-R3 release
Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com>
Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-29 23:47:16 +02:00
Waldemar Brodkorb
83d739f922 use default binutils for microblaze
Upstream binutils 2.24 works fine for microblaze, no need for
Xilinx Git.

[Peter: disable older versions as suggested by Gustavo]
Signed-off-by: Waldemar Brodkorb <wbx@openadk.org>
Acked-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Tested-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-28 22:08:23 +02:00
Gustavo Zacarias
79407e01fe binutils: disable <2.24 for aarch64
Versions lower than 2.24 fail to build a working kernel as in:

Freeing unused kernel memory: 184K (ffffffc00059a000 - ffffffc0005c8000)
init[1]: unhandled level 2 translation fault (11) at 0x00000008, esr
0x92000006
pgd = ffffffc876403000
[00000008] *pgd=00000008f6ea0003, *pmd=0000000000000000

[Peter: adjust commit message]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-04-24 15:19:18 +02:00
Max Filippov
c09b2bfaea binutils: drop *.texi* hunks from xtensa trampolines patches
Rebuilding as.info with makeinfo version 5.2 results in a build error,
even with pristine binutils source. Dropping hunks that change *.texi*
files avoids documentation rebuild.

Reported-by: Vincent Stehlé <vincent.stehle@freescale.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-05 18:36:39 +02:00
Max Filippov
6acb2e1db2 binutils: backport gas xtensa jump trampolines
This fixes compilation of huge source files that have jumps with offsets
greater than 128 Kbytes, that otherwise fails with such messages:

  {standard input}:65267: Error: operand 1 of 'j' has out of range value '131089'
  {standard input}:106879: Error: operand 1 of 'j' has out of range value '4294833951'

Fixes:
  http://autobuild.buildroot.net/results/e45/e450d5efc7435035c956bb962d598837648f319d/

Backported from: a82c7d9030b67a6a76a5403d0e1641f9e42141ac
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2014-04-03 21:38:28 +02:00
Peter Korsgaard
b108fdcb83 Merge branch 'next'
Conflicts:
	Makefile
	package/dmraid/Config.in
	package/gdb/Config.in.host
	package/linux-headers/linux-headers.mk
	package/python/python.mk
	package/python3/python3.mk
	package/rt-tests/Config.in
	package/sdl/sdl.mk
	package/systemd/systemd-01-fix-getty-unit.patch
	package/systemd/systemd-02-fix-page-size.patch
	package/systemd/systemd-03-uclibc-fix.patch
	package/udev/Config.in
	package/udisks/Config.in
	package/vlc/vlc.mk
	system/Config.in

Quite some merge conflicts, hopefully I didn't screw up anything.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-28 14:30:23 +01:00
Arnout Vandecappelle
fc82f8df85 binutils: add upstream patch to fix --enable-install-libiberty flag
Fixes http://autobuild.buildroot.org/results/1ea/1ea98985ce06dc1b7569ef5abe2fc13090fb5f3a

The upstream patch patches both configure.ac and configure, so we keep
that.

It is numbered 001 because it is an upstream patch, so it should come
before the buildroot patches.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-23 23:20:57 +01:00
Arnout Vandecappelle
70ee9fcdfc binutils: install libiberty
Some packages (actually, just oprofile) need to link against libiberty.
This option just installs libiberty.a so it has no effect on the target,
therefore it's not needed to add a config option for it.

Before binutils-2.24, there was a bug in libiberty/Makefile.in that
caused libiberty to be installed regardless of the
--enable-install-libiberty option. This problem wasn't noticed before
because binutils-2.24 is not selected on any of the autobuilders: the
version can only be selected if an internal toolchain is used, and it
defaults to 2.21.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-22 23:56:39 +01:00
Anton Kolesov
a14988b731 binutils: arc: Bump to git commit a934fe5
Signed-off-by: Anton Kolesov <anton.kolesov@synopsys.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-13 22:13:21 +01:00
Spenser Gilliland
8cc853eb10 binutils: whitespace cleanup
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Acked-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2014-02-04 09:49:38 +01:00
Thomas Petazzoni
5c4b60c7e0 binutils: do not allow on NIOS2, no support available
binutils does not have support for NIOS2 on the target, so disable the
selection of binutils on this architecture.

Fixes:

  http://autobuild.buildroot.org/results/40d/40d9cbefd03727af82610412ed0bc47674c44dbb/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Acked-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
2013-12-25 12:31:18 +01:00
Thomas De Schampheleire
35eaed8d07 Config.in files: use if/endif instead of 'depends on' for main symbol
In the Config.in file of package foo, it often happens that there are other
symbols besides BR2_PACKAGE_FOO. Typically, these symbols only make sense
when foo itself is enabled. There are two ways to express this: with
    depends on BR2_PACKAGE_FOO
in each extra symbol, or with
    if BR2_PACKAGE_FOO
        ...
    endif
around the entire set of extra symbols.

The if/endif approach avoids the repetition of 'depends on' statements on
multiple symbols, so this is clearly preferred. But even when there is only
one extra symbol, if/endif is a more logical choice:
- it is future-proof for when extra symbols are added
- it allows to have just one strategy instead of two (less confusion)

This patch modifies the Config.in files accordingly.

Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2013-12-25 12:21:39 +01:00
Thomas Petazzoni
d102e83d44 binutils: add missing dependencies for Git versions
When the binutils source code is pulled from a Git repository, a
number of generated files are not present, and need to be
re-generated. Those files are generated by flex, bison, and texinfo,
so we need to pull the corresponding dependencies.

Notice that we tried avoiding the texinfo dependency by doing a number
of MAKEINFO tricks, but none of them worked properly, so we've instead
chosen to depend on host-texinfo.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:48:00 +01:00
Spenser Gilliland
cdcb9690ea binutils: add microblaze internal toolchain
Signed-off-by: Spenser Gilliland <spenser@gillilanding.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:45:25 +01:00
Mischa Jonker
674930bed4 binutils: arc: Use git instead of website
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-06 22:40:12 +01:00
Gustavo Zacarias
f16bf2159e binutils: add version 2.24
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-12-04 22:16:36 +01:00
Peter Korsgaard
a6fa695639 binutils: fix static linking
pkg-autotools.mk already handles static/shared linking, so no need to
explictly force it. Worse even, the build fails with BR2_PREFER_STATIC_LINK
as we end up calling libtool with --static when it tries to link the .so,
breaking the build:

../ld: attempted static link of dynamic object
`../opcodes/.libs/libopcodes.so'
collect2: error: ld returned 1 exit status

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-11-27 22:29:05 +01:00
Peter Korsgaard
9777dbedb0 binutils: default to 2.22
2.21.1 is getting quite old, the linker issues with 2.22 seems to be
(mostly?) sorted out by now and armhf needs 2.22+, so let's bump the
default version.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2013-10-06 23:48:31 +02:00
Mischa Jonker
983dd6426e arc: binutils: Go from 2.19-arc to 2.23.2-arc
Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-19 11:52:56 +02:00
Thomas Petazzoni
ff71f8f8e1 binutils: exclude binutils versions that don't support EABIhf
The ARM EABIhf support was introduced in Binutils 2.22, so earlier
versions should not be selected when EABIhf is used.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-07-16 15:07:07 +02:00
Gustavo Zacarias
25c3160092 uClibc 0.9.31: remove stray kludges/conditions
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-17 13:08:37 +02:00
Alexandre Belloni
8dfd59d114 Normalize separator size to 80
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-06-06 22:30:24 +02:00
Thomas Petazzoni
dc3e650057 binutils: apply post-patch hook on both the host and target builds
When a Xtensa specific patch needs to be applied, it should be applied
both when doing the target and the host build.

This change is part of the effort to remove the differences between
host and target post-extract and post-patch hooks, that are
problematic for the out-of-tree support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-30 21:48:00 +02:00
Mischa Jonker
d81457eaed arc: Add support for ARC-specific binutils
ARC support is not upstream yet.

Signed-off-by: Mischa Jonker <mjonker@synopsys.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-05-04 23:07:44 +02:00
Gustavo Zacarias
61eea455be binutils: move patches to new model
On commit 5538e47662 the versioned package
patches changed the directory structure but the packages weren't fixed.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-04-23 09:00:01 +02:00
Gustavo Zacarias
bc3e184864 binutils: add 2.23.2 and remove deprecated 2.20
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2013-03-27 14:49:36 +01:00
Thomas Petazzoni
660d16f490 binutils: not available for the target on AArch64
Fixes:

  http://autobuild.buildroot.org/results/74082860f607cbd857654e9504f5f7e7ae47c0ac/build-end.log

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-28 11:35:43 -08:00
Chris Zankel
fdd5bc948e xtensa: use uppercase for configurations and modified overlay structure
Except for architecture and processor names, buildroot uses capitalized
configuration names, so change the macro names for xtensa to follow that
standard.
Change the overlay file to have a subdirectory for each component
(gdb, binutils, gcc, etc.) to make it more future-prove.

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-21 11:08:50 +01:00
Gustavo Zacarias
dcc6bcd516 binutils: bump 2.23 series to 2.23.1 and deprecate 2.20
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-16 00:08:24 +01:00
Chris Zankel
d8792a04ca xtensa: support configurable processor configurations
Xtensa is a configurable processor architecture, which allows to define
additional instructions and registers. The required variant specific
information for the toolchain is delivered in an 'overlay' file, which
needs to be 'untarred' to the corresponding directories after the
source is installed and patched.
This patch provides support for binutils, gcc, and gdb with a very
limited changes to the build scripts. These additions are only executed
for the Xtensa architecture and have no effect on other architectures.

[Thomas: rebased on top of the 'arch: improve definition of gcc mtune,
mcpu, etc.' patch, and changed 'Target ABI' to 'Target Architecture
Variant'].

Signed-off-by: Chris Zankel <chris@zankel.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-15 16:39:48 +01:00
Arnout Vandecappelle (Essensium/Mind)
1629ea3ff9 binutils: add license info
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-11-14 22:31:48 +01:00
Sagaert Johan
7195019be4 binutils version 2.23 is only available is .gz format
binutils version 2.23 is only available in .gz format, the older versions are in .bz2 format.
Signed-off-by: Sagaert Johan <sagaert.johan@skynet.be>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-27 23:23:14 +02:00
Gustavo Zacarias
ff47e25d3a toolchain/binutils: add version 2.23
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-23 09:17:00 +02:00
Gustavo Zacarias
6bcb68694f binutils: add sysroot fix from bug #3049
Add binutils ld sysroot bug fix.
See http://sourceware.org/bugzilla/show_bug.cgi?id=10340

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-10-21 22:11:45 +02:00
Thomas Petazzoni
bbcbed1829 Remove all references to libintl
From now on, packages only need to select the BR2_PACKAGE_GETTEXT
option and depend on the 'gettext' package to get the necessary i18n
libraries installed on the target.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Tested-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
[yann.morin.1998@free.fr: remove BR2_PACKAGE_LIBINTL]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Tested-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
CC: Samuel Martin <s.martin49@gmail.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-09-20 21:33:38 +02:00
Arnout Vandecappelle (Essensium/Mind)
e1502ebc0c all packages: rename XXXTARGETS to xxx-package
Also remove the redundant $(call ...).

This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS))/$(eval $(generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS))/$(eval $(autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS))/$(eval $(cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:23:05 +02:00
Arnout Vandecappelle (Essensium/Mind)
69e64c42b7 all packages: use new host-xxx-package macros
This is a purely mechanical change, performed with
find package linux toolchain boot -name \*.mk | \
  xargs sed -i -e 's/$(eval $(call GENTARGETS,host))/$(eval $(host-generic-package))/' \
               -e 's/$(eval $(call AUTOTARGETS,host))/$(eval $(host-autotools-package))/' \
               -e 's/$(eval $(call CMAKETARGETS,host))/$(eval $(host-cmake-package))/'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2012-07-17 20:18:03 +02:00
Richard Braun
b7b640d812 Remove REAL_GNU_TARGET_NAME
Instead of providing two variables, make GNU_TARGET_NAME give the real
target name, and remove REAL_GNU_TARGET_NAME altogether.

Signed-off-by: Richard Braun <rbraun@sceen.net>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-06-23 15:14:51 +02:00
Peter Korsgaard
e4fba5865b binutils: fix build with external toolchains on avr32
Fixes http://autobuild.buildroot.org/results/7f0545a7c824bf0523ab3506db83f7f5c930d63d/

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-05-19 08:46:28 +02:00
Thomas Petazzoni
acde0d8c52 toolchain: remove useless indirect variables
The BR2_CONFIGURE_DEVEL_SYSROOT, BR2_CONFIGURE_STAGING_SYSROOT and
BR2_CONFIGURE_BUILD_TOOLS were used only in a few places, and it is in
fact clearer to just use their value in the various places they are
used.

The ultimate goal is to get rid of the toolchain/Makefile.in file.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-04-25 08:55:56 +02:00
Peter Korsgaard
4461b3213d binutils: default to 2.21.1 for uClibc 0.9.33 as well
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-02-02 09:07:39 +01:00
Peter Korsgaard
1944b48a3f binutils: unbreak host build after auto-host-deps change
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2012-01-18 16:02:54 +01:00
Peter Korsgaard
7d7873df78 binutils: don't default to 2.22
Lots of packages are failing with binutils 2.22 with undefined symbols,
as it defaults to --no-copy-dt-needed-entries. Long term, the packages
should get fixed, but let's keep it at 2.21.1 for now.

For more details, see:
- http://wiki.debian.org/ToolChain/DSOLinking
- https://wiki.ubuntu.com/NattyNarwhal/ToolchainTransition

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-08 23:35:37 +01:00
Peter Korsgaard
7e96cbcc06 binutils: 2.22 powerpc textrels fix
See http://thread.gmane.org/gmane.comp.embedded.crossdev/106 for details.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-05 12:53:04 +01:00
Gustavo Zacarias
2e9f7d6fd5 binutils: add version 2.22
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-05 09:27:01 +01:00
Gustavo Zacarias
4c730a2c16 binutils: remove deprecated versions
Remove already deprecated binutils version 2.18, 2.19 and 2.19.1.
Keep 2.18-avr32.

Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-12-05 09:24:56 +01:00
Benoit Mauduit
48391acd2c binutils: Makefile and Config.in rework for oprofile ext toolchain compilation
* When select full binutils binaries use the default INSTALL_TARGET_CMDS
    from AUTOTARGET.
  * Menu config improvement.
  * Install libiberty into Staging dir.

[Peter: Fix typos, Config.in fixes, install libiberty to target as well]
Signed-off-by: Benoit Mauduit <benoit.mauduit@openwide.fr>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-27 14:04:56 +02:00
Peter Korsgaard
a1c1077809 binutils: build host version statically
Otherwise we end up with libbfd/libopcodes in host/usr/$BUILD/$TARGET/lib,
used by the binaries. Unfortunately it also adds rpaths, which first look
in the build directory before here, causing trouble if the toolchain is
used outside BR (E.G. for a SDK) and the build directory location reused
for another incompatible build (E.G. another ARCH), as the binutils
binaries then end up using the wrong libs.

Fix it by linking statically instead.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-10-02 23:19:10 +02:00
Thomas Petazzoni
300f9c9c9d package: remove useless arguments from AUTOTARGETS
Thanks to the pkgparentdir and pkgname functions, we can rewrite the
AUTOTARGETS macro in a way that avoids the need for each package to
repeat its name and the directory in which it is present.

[Peter: pkgdir->pkgparentdir]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-09-29 23:12:27 +02:00
Peter Korsgaard
60620a1d81 binutils: only use 2.21.1 for uClibc 0.9.32 / snapshot
Earlier versions don't build with it.

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-24 14:45:46 +02:00
Peter Korsgaard
57fb63e34d binutils: default to 2.21 on sh
uClibc currently doesn't build on sh with 2.21.1, similar to the mips
issue (92496e0).

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-16 00:13:20 +02:00
Peter Korsgaard
92496e0ef0 binutils: default to 2.21 on mips(el)
uClibc currently doesn't build on mips(el) with 2.21.1.

For details, see:

http://lists.uclibc.org/pipermail/uclibc/2011-March/045026.html

Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-08-08 18:56:47 +02:00
Gustavo Zacarias
055b8bce46 binutils: add version 2.21.1
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-07-21 22:47:49 +02:00
Gustavo Zacarias
009407e6be binutils: make it a proper package
* Convert binutils to a proper autotargets package

* Add version 2.21 and drop version 2.17

* Hook up packaged binutils for target gcc

* Build tools are on HOST_DIR now so change it

* Move cross/host gcc to HOST_DIR

* Drop kludge from commit 3c77bab2ee
  This is fixed in the next commit "gcc: install copies of libgcc,
  libstdc++ and libgcj to the sysroot" - tested for arm & x86_64
  targets.

* TARGET_CROSS now pointed to HOST_DIR too

[Peter: Config.in tweaks]
Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
2011-01-02 22:55:16 +01:00