Commit Graph

55 Commits

Author SHA1 Message Date
Felix Fietkau
8b5d644bb3 toolchain: add support of ARC architecture
This includes binutils, gcc, gdb and uClibc-ng.

Latest release of ARC gcc (as of today it is "arc-2015.06")
is based on upstream gcc 4.8.4.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/gcc

Latest release of ARC binutils (as of today it is "arc-2015.06")
is based on upstream binutils 2.23.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06

Latest release of ARC GDB (as of today this is "arc-2015.06-gdb")
is based on upstream gdb 7.9.1.

Sources are available on GitHub, see:
https://github.com/foss-for-synopsys-dwc-arc-processors/binutils-gdb/releases/tag/arc-2015.06-gdb

Note that for binutils and gdb that come from unified git repository
(which is the case for upstream binutils/gdb today) we need to disable
building of gdb in binutils and binutils in gdb hence in binutils:
------>8------
--disable-sim
--disable-gdb
------>8------

and in gdb:
------>8------
--disable-binutils
--disable-ld
--disable-gas
------>8------

Also in gdb we disable sim because if the following breakage while
building with it:
------------>8------------
/usr/bin/env bash ./../common/genmloop.sh -shell /usr/bin/env bash \
        -mono -fast -pbb -switch sem5-switch.c \
        -cpu a5f -infile ./mloop5.in \
        -outfile-suffix 5
unknown option: bash
Makefile:699: recipe for target 'stamp-5mloop' failed
make[7]: *** [stamp-5mloop] Error 1
------------>8------------

Cc: Felix Fietkau <nbd@openwrt.org>
Cc: John Crispin <blogic@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>
Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>

SVN-Revision: 47438
2015-11-10 12:03:59 +00:00
Hauke Mehrtens
98e00f8fdd binutils: add binutils 2.25.1
This adds binutils 2.25.1 as an option to OpenWrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 46874
2015-09-11 17:58:39 +00:00
Steven Barth
9caaed9141 toolchain: binutils: enhance build reproducability
built toolchain utilities will always operate in deterministic mode:
https://sourceware.org/binutils/docs-2.25/binutils/ar-cmdline.html

Signed-off-by: Dirk Neukirchen <dirkneukirchen@web.de>

SVN-Revision: 46137
2015-06-29 06:47:42 +00:00
Felix Fietkau
755a90344e binutils: remove version 2.20.1 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44960
2015-03-24 10:06:55 +00:00
Felix Fietkau
f38436f607 binutils: run install twice instead of overwriting the final toolchain with the initial one
fixes compiler error after a binutils rebuild/reinstall without
rebuilding the rest of the toolchain

Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43785
2014-12-27 13:00:09 +00:00
Felix Fietkau
7d808a325d binutils: enable plugin support
--enable-plugin is necessary for gcc-ar, gcc-nm and gcc-ranlib to work, which
must be used with GCC 4.9 for LTO to work.

Without this option, gcc-ar etc. will just fail with

    sorry - this program has been built without plugin support

Using the normal ar from binutils with GCC 4.9 and -flto will cause linking
with static "convenience" libraries to fail.

Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>

SVN-Revision: 43783
2014-12-27 12:59:53 +00:00
Felix Fietkau
9d1b619cb1 binutils: remove linaro version string, it confuses gcc lto support detection
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43004
2014-10-20 11:43:08 +00:00
Felix Fietkau
b537205ea2 toolchain: fix binutils broken symlink
The Makefile for binutils creates a broken symlink to "binutils-linaro" in
"trunk/build_dir/toolchain-<target>_gcc-4.9-linaro_uClibc-0.9.33.2".
Modify the Makefile to point the symlink to the correct directory.

Signed-off-by: Nathan Hintz <nlhintz@hotmail.com>

SVN-Revision: 42954
2014-10-18 19:25:24 +00:00
Felix Fietkau
c7bc3ad908 binutils: remove old versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42776
2014-10-05 18:40:38 +00:00
Felix Fietkau
3959555e29 binutils: update -linaro to 2.24.0-2014.09
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42704
2014-09-30 21:36:12 +00:00
Jonas Gorski
68fcb15f90 toolchain/binutils: do not install host libiberty.a into target lib dir
Binutils target build will pick it up and break build on e.g. arm:

libtool: link: arm-openwrt-linux-uclibcgnueabi-gcc -shared  .libs/archive.o .libs/archures.o .libs/bfd.o .libs/bfdio.o .libs/bfdwin.o .libs/cache.o .libs/coffgen.o .libs/corefile.o .libs/format.o .libs/init.o .libs/libbfd.o .libs/opncls.o .libs/reloc.o .libs/section.o .libs/syms.o .libs/targets.o .libs/hash.o .libs/linker.o .libs/srec.o .libs/binary.o .libs/tekhex.o .libs/ihex.o .libs/stabs.o .libs/stab-syms.o .libs/merge.o .libs/dwarf2.o .libs/simple.o .libs/compress.o .libs/verilog.o .libs/elf32-arm.o .libs/elf32.o .libs/elf-nacl.o .libs/elf-vxworks.o .libs/elf.o .libs/elflink.o .libs/elf-attrs.o .libs/elf-strtab.o .libs/elf-eh-frame.o .libs/dwarf1.o .libs/elf32-gen.o .libs/cpu-arm.o   -L/mnt/dl/slave/at91/build/staging_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/usr/lib -L/mnt/dl/slave/at91/build/staging_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/lib -L/mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/usr/lib -L/mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib -L/mnt/dl/slave/at91/build/build_dir/target-arm_arm926ej-s_uClibc-0.9.33.2_eabi/binutils-2.24/bfd/../libiberty/pic -liberty -lz  -march=armv5te -mtune=arm926ej-s -mfloat-abi=soft -Wl,-lc -Wl,--as-needed -Wl,-lm -Wl,--no-as-needed   -Wl,-soname -Wl,libbfd-2.24.so -o .libs/libbfd-2.24.so
/mnt/dl/slave/at91/build/staging_dir/toolchain-arm_arm926ej-s_gcc-4.8-linaro_uClibc-0.9.33.2_eabi/lib/libiberty.a: could not read symbols: File format not recognized

Signed-off-by: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 42430
2014-09-07 09:38:10 +00:00
Imre Kaloz
5c3cb628f8 upgrade the Linaro binutils to 2.24-2013.12
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 39210
2014-01-07 15:03:55 +00:00
Imre Kaloz
348c3af966 add support for Linaro binutils 2.23.2-2013.06
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 37944
2013-09-11 13:18:23 +00:00
Felix Fietkau
6260e6ef48 binutils: remove some unused obsolete versions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37093
2013-06-30 07:54:37 +00:00
Florian Fainelli
781e7dd18b toolchain/binutils: fix partial MD5 sum from r35813
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35816
2013-02-26 16:52:36 +00:00
Florian Fainelli
f08ef57424 toolchain/binutils: fix 2.19.1 MD5 sum
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35813
2013-02-26 16:40:17 +00:00
Florian Fainelli
cf440ae716 binutils: remove 2.21
There is no point in keeping around 2.21 when 2.21.1 which is a bugfix release
is there.

Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34265
2012-11-19 19:37:43 +00:00
Florian Fainelli
274c21cd8e binutils: add support for 2.23.1
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34262
2012-11-19 19:37:28 +00:00
Felix Fietkau
ed2bf29be5 build: add the + token to any commands that can pass through the jobserver, fixes parallel build on some systems
SVN-Revision: 33523
2012-09-23 09:50:01 +00:00
Felix Fietkau
62869d02bc binutils: enable parallel builds
SVN-Revision: 33443
2012-09-15 14:18:16 +00:00
Felix Fietkau
59b384dabe toolchain: fix up lib64 symlink to lib before copying the initial prefix dir to avoid errors on copying
SVN-Revision: 32556
2012-06-30 21:43:59 +00:00
Felix Fietkau
e74e4dbd29 toolchain: keep the initial gcc around for later uclibc rebuilds
testing uclibc changes is tricky because the final gcc tends to miscompile
uclibc code or barf up internal compiler errors.
install binutils into $(TOOLCHAIN_DIR)/initial (without changing the configure
prefix) and copy it from there to $(TOOLCHAIN_DIR)/ so that the initial gcc
can be put into $(PATH) for the uclibc build, even if the final gcc
is already installed.

SVN-Revision: 32553
2012-06-30 18:12:15 +00:00
Imre Kaloz
09a8334a1e add binutils 2.22
SVN-Revision: 30375
2012-02-08 15:49:48 +00:00
Mirko Vogt
408b12ff76 adjust md5sum of v2.21.1 since archive got replaced meanwhile
SVN-Revision: 29836
2012-01-20 22:54:30 +00:00
Hauke Mehrtens
01870142fb binutils: add binutils 2.21.1
SVN-Revision: 27919
2011-08-06 09:53:58 +00:00
Imre Kaloz
e733d679a0 remove the CS variant - broken since it's addition
SVN-Revision: 25648
2011-02-21 11:43:16 +00:00
Imre Kaloz
57be27f340 add binutils 2.21
SVN-Revision: 25567
2011-02-18 09:52:19 +00:00
Imre Kaloz
95cba52ba4 remove support for binutils 2.18 and 2.20
SVN-Revision: 23685
2010-10-28 07:26:07 +00:00
Michael Büsch
cf323eb924 optionally support parallel toolchain build. This defaults to off, because certain toolchain versions are known to break on parallel build. However, it significantly speeds up the build and latest versions of the tools do compile fine.
SVN-Revision: 23196
2010-10-03 12:54:07 +00:00
Felix Fietkau
62c1740676 toolchain: fix the sysroot mess by getting rid of $(TOOLCHAIN_DIR)/usr and moving it back to $(TOOLCHAIN_DIR), this change makes the toolchain relocatable again, which should fix the SDK
SVN-Revision: 22723
2010-08-19 12:49:51 +00:00
Florian Fainelli
8ca51dc6f1 fix graphite options with gcc-4.5, add libelf for LTO, fix mbsd_multi patch, patch from Bernhard Loos
SVN-Revision: 21046
2010-04-20 16:18:08 +00:00
Alexandros C. Couloumbis
6dfce04b55 add binutils-2.20.1
SVN-Revision: 20137
2010-03-11 11:50:25 +00:00
Felix Fietkau
affe22dce7 binutils: fix path to cloog and ppl
SVN-Revision: 18265
2009-11-02 00:47:24 +00:00
Felix Fietkau
4fd397fad9 add binutils 2.20
SVN-Revision: 18263
2009-11-02 00:47:17 +00:00
Felix Fietkau
0b077fa3a7 add a binutils variant based on a binutils snapshot and codesourcery g++ enhancements (compiles, but fails to link the kernel)
SVN-Revision: 18060
2009-10-19 02:09:59 +00:00
Felix Fietkau
90826d83c9 remove binutils 2.17 and 2.19
SVN-Revision: 15619
2009-05-05 11:01:35 +00:00
Nicolas Thill
8a2030ff3d move common variables to a dedicated include file
SVN-Revision: 14648
2009-02-23 23:52:27 +00:00
Felix Fietkau
7eb1589875 build system refactoring in preparation for allowing packages to do host-build steps
SVN-Revision: 14610
2009-02-22 04:37:20 +00:00
Nicolas Thill
33a0eb3613 cosmetic & coherency fixes
SVN-Revision: 14397
2009-02-03 21:25:48 +00:00
Nicolas Thill
22e91f881e binutils: add support for v2.19.1 (from #4492, thanks to dwrobel)
SVN-Revision: 14393
2009-02-03 16:23:01 +00:00
Florian Fainelli
565f1723f0 libssp should also be configured in binutils
SVN-Revision: 14376
2009-02-02 23:45:33 +00:00
Felix Fietkau
19f8937c77 install readelf to STAGING_DIR_HOST (eglibc requires it, not all systems have it)
SVN-Revision: 14196
2009-01-26 04:54:25 +00:00
Felix Fietkau
817ccebe70 add binutils 2.19 (patch from #4367)
SVN-Revision: 14075
2009-01-17 19:29:09 +00:00
Nicolas Thill
a3edea1b91 add support for alternative C libraries (currently only glibc/eglibc) other (related) changes: - kernel headers are now installed using "make headers_install" on 2.6 - target names now contain an openwrt "vendor" tag (e.g. mips-openwrt-linux-gnu) - build directory names now contain gcc/libc name/version - default cpu for x86 is now i486 (required to build glibc/eglibc)
SVN-Revision: 13931
2009-01-08 01:49:11 +00:00
Imre Kaloz
da43f70063 nuke binutils 2.16.1 - old, unused, buggy
SVN-Revision: 13481
2008-12-02 18:23:25 +00:00
Nicolas Thill
f1ceaae24a add md5sums for binutils & gcc and use the GNU mirror facility
SVN-Revision: 13143
2008-11-08 21:18:33 +00:00
Felix Fietkau
799e7a8fa8 disable autorebuild for the toolchain, as it can easily lead to build breakages
SVN-Revision: 12492
2008-09-02 10:57:35 +00:00
Nicolas Thill
89eb716470 use qstrip macro to strip quoted CONFIG_* strings
SVN-Revision: 11832
2008-07-14 23:24:58 +00:00
Jeremy Kerr
077d84f543 provide a cleaner way to specify a biarch toolchain build
Currently, to build a biarch toolchain, we need to explicitly give
options to the binutils and gcc configure commands:

CONFIG_EXTRA_BINUTILS_CONFIG_OPTIONS="--enable-targets=powerpc64-linux-uclibc"
CONFIG_EXTRA_GCC_CONFIG_OPTIONS="--enable-biarch --enable-targets=powerpc64-linux-uclibc"

This change replaces the command line options with an 'extra arch'
configure option:

CONFIG_EXTRA_TARGET_ARCH=y
CONFIG_EXTRA_TARGET_ARCH_NAME="powerpc64"

And a way to invoke this extra arch on the compiler command-line:

CONFIG_EXTRA_TARGET_ARCH_OPTS="-m64"

In this case, this results in an extra compiler:
 'powerpc64-linux-uclibc-gcc', which invokes
 'powerpc-linux-uclibc-gcc -m64'

This is a more standard way of building biarch toolchains, and allows
the packages to not have to care about how to invoke the 64-bit
compiler.

Signed-off-by: Jeremy Kerr <jk@ozlabs.org>

SVN-Revision: 10802
2008-04-12 23:14:42 +00:00
Imre Kaloz
3e3b877d14 update binutils autoconf scripts, too
SVN-Revision: 10005
2007-12-28 18:13:08 +00:00