aboutsummaryrefslogtreecommitdiff
path: root/package/binutils
Commit message (Collapse)AuthorAgeFilesLines
* binutils: bump 2.26.x series to 2.26.1Gravatar Gustavo Zacarias2016-06-3011-3/+3
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* toolchain: Bump ARC tools to arc-2016.09-eng005Gravatar Alexey Brodkin2016-06-299-37/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: enable as target package for aarch64Gravatar Erico Nunes2016-06-081-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* Binutils: ARC: Fix build failures if makeinfo is missingGravatar Zakharov Vlad2016-06-061-0/+159
| | | | | | | | | | | | | | | | | | | | | | | 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>
* toolchain: arc-2016.03: fix generation of dynamic relocs for -pieGravatar Alexey Brodkin2016-05-261-0/+34
| | | | | | | | | | | | | | | | | 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>
* toolchain: bump ARC tools to arc-2016.03 releaseGravatar Alexey Brodkin2016-05-197-4/+5
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: remove support for version 2.23Gravatar Thomas Petazzoni2016-05-1717-1877/+0
| | | | | | | | | 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>
* toolchain: bump ARC tools to arc-2016.03-rc2Gravatar Alexey Brodkin2016-05-118-334/+254
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: remove 2.22 hashGravatar Thomas Petazzoni2016-04-221-1/+0
| | | | | | | | | | In commit 2f8459539401938a4ec4fe5f4a207c5d81f2cf74 ("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>
* binutils: disable plugins for static linksGravatar Max Filippov2016-03-201-0/+4
| | | | | | | | | | 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>
* binutils: use binutils 2.25.1 by defaultGravatar Thomas Petazzoni2016-03-101-1/+1
| | | | | | | | Recent commit 5eb37d6adcfef996f1cd71effec8c2af42c0aed3 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>
* binutils: switch to version 2.25 by defaultGravatar Thomas Petazzoni2016-03-102-2/+2
| | | | | | | | | 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>
* binutils: backport xtensa .init/.fini literals moving fix to 2.26Gravatar Max Filippov2016-03-101-0/+149
| | | | | | | | | | | | | | | 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>
* package/binutils: add binutils 2.26Gravatar Romain Naour2016-03-0610-0/+762
| | | | | | | | | | | | | | | | | | - 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>
* Merge branch 'next'Gravatar Peter Korsgaard2016-03-021-0/+4
|\ | | | | | | Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * arch/arm: add the cortex A17 variant supported by gcc 5.xGravatar Ezequiel García2016-02-221-0/+4
| | | | | | | | | | | | | | | | | | 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>
* | package/binutils: add optional support for zlibGravatar Bernd Kuhls2016-02-211-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | binutils: fix .init/.fini literals moving in xtensa gasGravatar Max Filippov2016-02-183-0/+368
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | package/binutils-2.25.1: backport upstream patch for PR19405Gravatar Romain Naour2016-02-171-0/+70
|/ | | | | | | | | | | 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>
* toolchain: bump ARC toolchain components to arc-2015.12Gravatar Lada Trimasova2016-02-055-3/+3
| | | | | | | | | | | | | | | | | | | 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>
* binutils: fix .loc processing in xtensa gasGravatar Max Filippov2016-02-033-0/+245
| | | | | | | | 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>
* binutils: ensure TARGET_CONFIGURE_ARGS is taken into consideration for subdirsGravatar Peter Korsgaard2016-02-011-0/+6
| | | | | | | | | 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>
* toolchain: bump ARC toolchain components to arc-2015.12-rc1Gravatar Alexey Brodkin2016-01-199-385/+3
| | | | | | | | | | | | | | | | | | | | | 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>
* binutils: fix building perf on ARCGravatar Alexey Brodkin2015-10-171-0/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It turned out one of the previous fixes (required to build Linux kernel) ------------------>8------------------- ARC Binutils: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/a65b844aed9153789356e098984452df2f5d9058 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 https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/5df50c61083165455aae5504c5c3566fa5ccebb1 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>
* arch: add support for mips32r6 and mips64r6 variantsGravatar Vicente Olivert Riera2015-10-121-0/+4
| | | | | | | | | | | | | | | - 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>
* binutils: backport auto-litpools xtensa gas optionGravatar Max Filippov2015-10-042-0/+1397
| | | | | | | | | | 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>
* binutils: remove unnecessary host-texinfo dependencyGravatar Vicente Olivert Riera2015-09-201-2/+2
| | | | | | | | | | | | | 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>
* binutils: fix building of Linux kernel for ARCv2 ISAGravatar Alexey Brodkin2015-08-041-0/+132
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/a65b844aed9153789356e098984452df2f5d9058 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>
* binutils: more fixes for arc-2015.06 toolsGravatar Alexey Brodkin2015-07-282-0/+215
| | | | | | | | | | | | | | | | | | | 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>
* binutils: bump 2.25.x series to 2.25.1Gravatar Gustavo Zacarias2015-07-2815-3/+3
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* binutils: rename config optionGravatar Gustavo Zacarias2015-07-281-7/+7
| | | | | | | | 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>
* ARC: update tools to arc-2015.06 releaseGravatar Alexey Brodkin2015-07-185-3/+3
| | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: remove version 2.22Gravatar Thomas Petazzoni2015-07-1315-1829/+0
| | | | | | | | 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>
* binutils: use binutils 2.24 by default on the targetGravatar Thomas Petazzoni2015-07-131-1/+1
| | | | | | | | | | 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>
* binutils: fix xtensa gas segfault with --text-section-literalsGravatar Max Filippov2015-07-114-0/+224
| | | | | | | | | | 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>
* powerpc: disable binutils 2.24 for little endianGravatar Sam bobroff2015-07-031-1/+2
| | | | | | | | | | | | | | | | | 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>
* ARC: update folders with patches for arc-2015.06-rc1 releaseGravatar Alexey Brodkin2015-07-012-0/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: update to the latest ARC version by defaultGravatar Thomas Petazzoni2015-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | Following commit 36555b4c8dce27822ecbbed58798f887ad452b18 ("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>
* ARC: switch to RC1 of upcoming arc-2015.06 toolsGravatar Alexey Brodkin2015-06-282-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: fix xtensa ld bug triggered by --gc-sectionsGravatar Max Filippov2015-05-164-0/+228
| | | | | | | | | | | | | | | | | | | | | | | | | 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>
* package/binutils (arc): backport PR56780 patchesGravatar Romain Naour2015-05-141-0/+236
| | | | | | | | | | | | | | | | | | | | | --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>
* binutils: fix xtensa gas trampolines regressionGravatar Max Filippov2015-05-102-18/+16
| | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: backport xtensa trampolines relaxation optimizationGravatar Max Filippov2015-05-052-0/+692
| | | | | | | | 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>
* package/binutils: add hashesGravatar Yann E. MORIN2015-04-251-0/+7
| | | | | | | | | | 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>
* binutils: backport xtensa ld optimizationsGravatar Max Filippov2015-04-098-0/+3660
| | | | | | | | | | | | 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>
* binutils: remove blackfin conditionalsGravatar Gustavo Zacarias2015-03-201-5/+1
| | | | | | | | 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>
* binutils: fix target binutils on ARCGravatar Thomas Petazzoni2015-03-151-0/+4
| | | | | | | | | | | | | | 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>
* toolchain: add link-time-optimization supportGravatar Peter Kümmel2015-03-072-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: nios2: Prevent selecting unsupported versionsGravatar Ezequiel García2015-02-191-2/+5
| | | | | | | | 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>
* package/binutils: avr32 is goneGravatar Yann E. MORIN2015-02-142-17/+4
| | | | | Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>