summaryrefslogtreecommitdiffstats
path: root/package/binutils
Commit message (Collapse)AuthorAgeFilesLines
* binutils: fix building perf on ARCAlexey 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 variantsVicente 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 optionMax 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 dependencyVicente 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 ISAAlexey 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 toolsAlexey 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.1Gustavo 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 optionGustavo 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 releaseAlexey 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.22Thomas 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 targetThomas 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-literalsMax 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 endianSam 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 releaseAlexey 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 defaultThomas 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 toolsAlexey 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-sectionsMax 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 patchesRomain 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 regressionMax 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 optimizationMax 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 hashesYann 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 optimizationsMax 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 conditionalsGustavo 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 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>
OpenPOWER on IntegriCloud