summaryrefslogtreecommitdiffstats
path: root/package/binutils
Commit message (Collapse)AuthorAgeFilesLines
* binutils: fix target binutils on ARCThomas 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 supportPeter 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 versionsEzequiel 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 goneYann 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>
* ARC: bump tools to 2014.12 releaseAlexey Brodkin2015-02-022-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: Also install libopcodes in stagingPaul Cercueil2015-01-021-1/+3
| | | | | | | This library will be used later in the "lightning" package. Signed-off-by: Paul Cercueil <paul@crapouillou.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* binutils: default to 2.24Peter Korsgaard2014-12-281-2/+1
| | | | | | | | 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>
* binutils: add version 2.25Gustavo Zacarias2014-12-247-0/+482
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* package: indentation cleanupJerzy Grzegorek2014-12-241-14/+20
| | | | | Signed-off-by: Jerzy Grzegorek <jerzy.grzegorek@trzebnica.net> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
* binutils: enable poison system directories optionThomas Petazzoni2014-12-111-0/+1
| | | | | | | | | | This commit enables the poison system directories option, which is now available thanks to the binutils patches that have been added. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr> Acked-by: Romain Naour <romain.naour@openwide.fr> Tested-by: Romain Naour <romain.naour@openwide.fr>
* binutils/arc-2014.08: add patch to warn about unsafe library pathsThomas Petazzoni2014-12-111-0/+279
| | | | | | | | | | | | | | | | This commit adds a patch to binutils borrowed from CodeSourcery/Yocto that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib, etc.). The patch was adapted to binutils arc-2014.08, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing --error-poison-system-directories, we are not sure this option in LDFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* binutils/2.22: add patch to warn about unsafe library pathsThomas Petazzoni2014-12-111-0/+274
| | | | | | | | | | | | | | | | This commit adds a patch to binutils borrowed from CodeSourcery/Yocto that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib, etc.). The patch was adapted to binutils 2.22, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing --error-poison-system-directories, we are not sure this option in LDFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* binutils/2.23: add patch to warn about unsafe library pathsThomas Petazzoni2014-12-111-0/+279
| | | | | | | | | | | | | | | | This commit adds a patch to binutils borrowed from CodeSourcery/Yocto that warns about unsafe library paths (i.e /usr/lib, /usr/local/lib, etc.). The patch was adapted to binutils 2.23, and modified to support the BR_COMPILER_PARANOID_UNSAFE_PATH environment variable to error out instead of just warn when unsafe paths are used. Even though erroring out can be chosen by passing --error-poison-system-directories, we are not sure this option in LDFLAGS will always be passed, so having an environment variable guarantees it will always be passed, and also allows to have an identical behavior to the external toolchain wrapper. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Tested-by: Romain Naour <romain.naour@openwide.fr>
* binutils/2.24: add patch to warn about unsafe library pathsThomas Petazzoni2014-12-111-0/+279
| | | | | | | | | | | | | | | | 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>
* package/binutils: fix comment dependenciesRomain Naour2014-12-071-1/+1
| | | | | | | [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>
* binutils: fix xtensa trampolines search code for conditional branchesMax Filippov2014-11-263-0/+270
| | | | | | | | | | | | | | 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>
* binutils: now depends on wcharAlexey Brodkin2014-10-291-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: bump the default target version of binutilsThomas Petazzoni2014-10-291-1/+1
| | | | | | | | | | | 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>
* binutils: remove dead codeThomas Petazzoni2014-10-291-4/+0
| | | | | | | | | | 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>
* binutils: drop stray patchGustavo Zacarias2014-10-141-46/+0
| | | | | Signed-off-by: Gustavo Zacarias <gustavo@zacarias.com.ar> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* packages: rename FOO_CONF_OPT into FOO_CONF_OPTSThomas De Schampheleire2014-10-041-5/+5
| | | | | | | | | | | | 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>
* binutils: fix 'call8: call target out of range' xtensa ld bugMax Filippov2014-09-233-0/+237
| | | | | | | | | | | | | | | | | | | | | | 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>
* bfin: disable newer binutils for internal toolchainWaldemar Brodkorb2014-09-041-2/+4
| | | | | | | | | 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>
* ARC: bump tools to 2014.08 releaseAlexey Brodkin2014-09-013-49/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/commit/e6ab8cac627a44a7594aeb907a579d8d2f066ba5 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>
* binutils, gdb: support unified binutils-gdb git repositoryAnton Kolesov2014-07-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: remove 2.21.1Thomas Petazzoni2014-07-156-153/+0
| | | | | | | | | | | | After the following commits: 26974bf6a7c94c0c44722fe072182cfcc49bdb6e use default binutils for sh architecture 6f1cf344d90ea3eabf292b04d993a7be2a785dd6 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>
* binutils: remove leftover version definitionsThomas Petazzoni2014-07-151-3/+0
| | | | | | | | | Following d4839ffcab70f2496673e5b376f4c0d492260396 ("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>
* binutils: fix xtensa ld segfault on linking linux modulesMax Filippov2014-07-123-0/+141
| | | | | | | | | | | | | | | 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>
* binutils: remove 2.20.1, 2.21 and 2.23.1Thomas Petazzoni2014-07-1019-1632/+0
| | | | | | | | | | | | | | - 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>
* use default binutils for sh architectureWaldemar Brodkorb2014-07-101-1/+0
| | | | | | | | | 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>
* binutils: Use the default version by default on MIPSVicente Olivert Riera2014-07-021-1/+1
| | | | | | 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>
* binutils: disable makeinfoAlexey Brodkin2014-07-011-0/+5
| | | | | | | | | | | | | | | | | | 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>
* binutils: arc: Fix native binutils build failureAnton Kolesov2014-06-071-0/+47
| | | | | | | | | | | | | | 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>
* Merge branch 'next'Peter Korsgaard2014-06-011-7/+7
|\ | | | | | | | | | | | | Conflicts: package/gdb/Config.in.host Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * package/binutils: add depends for powerpc64le (only 2.24 works)Cody P Schafer2014-05-261-6/+6
| | | | | | | | | | Signed-off-by: Cody P Schafer <cody@linux.vnet.ibm.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
| * Add support for powerpc64leJeff Bailey2014-05-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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>
* | binutils: add patch to fix AArch64 glibc build issueThomas Petazzoni2014-05-161-0/+66
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* binutils: backport R_XTENSA_DIFF* relocation signedness fixMax Filippov2014-05-124-0/+532
| | | | | | | | | | | | | | | | | 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>
* binutils: backport first section frag alignment fix for xtensa gasMax Filippov2014-05-124-0/+204
| | | | | | | | | | | 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>
* binutils: arc: bump to arc-4.8-R3 releaseAnton Kolesov2014-04-291-1/+1
| | | | | | Signed-off-by: Anton Kolesov <Anton.Kolesov@synopsys.com> Cc: Alexey Brodkin <Alexey.Brodkin@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* use default binutils for microblazeWaldemar Brodkorb2014-04-282-13/+7
| | | | | | | | | | | 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>
* binutils: disable <2.24 for aarch64Gustavo Zacarias2014-04-241-6/+6
| | | | | | | | | | | | | | 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>
* binutils: drop *.texi* hunks from xtensa trampolines patchesMax Filippov2014-04-054-524/+0
| | | | | | | | | | 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>
* binutils: backport gas xtensa jump trampolinesMax Filippov2014-04-034-0/+3908
| | | | | | | | | | | | | | | 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>
* Merge branch 'next'Peter Korsgaard2014-02-281-1/+1
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
| * binutils: arc: Bump to git commit a934fe5Anton Kolesov2014-02-131-1/+1
| | | | | | | | | | Signed-off-by: Anton Kolesov <anton.kolesov@synopsys.com> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
* | binutils: add upstream patch to fix --enable-install-libiberty flagArnout Vandecappelle2014-02-232-0/+92
| | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | binutils: install libibertyArnout Vandecappelle2014-02-221-0/+1
|/ | | | | | | | | | | | | | | | 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>
* binutils: whitespace cleanupSpenser Gilliland2014-02-041-2/+2
| | | | | | 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>
* binutils: do not allow on NIOS2, no support availableThomas Petazzoni2013-12-251-1/+1
| | | | | | | | | | | | 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>
OpenPOWER on IntegriCloud