Commit Graph

48 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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