Commit graph

392 commits

Author SHA1 Message Date
Felix Fietkau
62ca8ae777 gcc: define USE_PT_GNU_EH_FRAME for musl as well, reduces binary object size
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40874
2014-05-28 22:40:31 +00:00
Felix Fietkau
95c615262c gcc: disable libsanitzier off_t check to fix musl build
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40870
2014-05-28 21:33:30 +00:00
Felix Fietkau
479c25641a toolchain/gcc: fix build on arm with clang as host gcc replacement
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40772
2014-05-15 20:11:54 +00:00
Felix Fietkau
31285a2039 gcc: revert an upstream patch that is causing a regression on powerpc
https://forum.openwrt.org/viewtopic.php?pid=232494#p232494

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

SVN-Revision: 40709
2014-05-06 11:49:05 +00:00
Felix Fietkau
af4f534244 toolchain/gcc: update linaro-gcc-4.8 to 2014.04
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 40664
2014-05-02 21:18:02 +00:00
Felix Fietkau
72d4683627 toolchain/gcc: use 4.8-linaro by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 39860
2014-03-10 11:20:33 +00:00
Felix Fietkau
06a3d35eda gcc: fix visibility of symbols libgcc.a
Symbols need to be hidden, even for the static variant

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

SVN-Revision: 39749
2014-02-24 21:09:37 +00:00
Felix Fietkau
b050f87d13 gcc: prevent the use of LDRD/STRD on ARMv5TE
These instructions are for 64-bit load/store. On ARMv5TE, the CPU
requires addresses to be aligned to 64-bit. When misaligned, behavior is
undefined (effectively either loads the same word twice on LDRD, or
corrupts surrounding memory on STRD).

On ARMv6 and newer, unaligned access is safe.

Removing these instructions for ARMv5TE is necessary, because GCC
ignores alignment information in pointers and does unsafe optimizations
that have shown up as bugs in various places.

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

SVN-Revision: 39638
2014-02-19 19:20:10 +00:00
Imre Kaloz
5e906232b0 upgrade Linaro GCC 4.8 to 2014.01
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 39501
2014-02-06 10:28:45 +00:00
Imre Kaloz
f6be067784 upgrade Linaro GCC 4.8 to 4.8-2013.12
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 39209
2014-01-07 15:00:33 +00:00
Imre Kaloz
b1f4f27fc4 upgrade Linaro GCC 4.8 to 4.8-2013.11
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 38922
2013-11-26 18:42:32 +00:00
Felix Fietkau
5b1e1eff73 gcc 4.8-linaro: backport an upstream fix to fix asm goto miscompilation
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 38435
2013-10-17 11:57:44 +00:00
Felix Fietkau
12762698cf toolchain/gcc: upgrade linaro gcc 4.6 to 4.6-2013.05
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37947
2013-09-11 14:29:44 +00:00
Felix Fietkau
75946ee468 toolchain/gcc: fix up breakage introduced in r37945
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37946
2013-09-11 14:28:21 +00:00
Imre Kaloz
6d13c47f57 upgrade Linaro gcc 4.8 to 4.8-2013.08
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 37945
2013-09-11 13:19:43 +00:00
Florian Fainelli
cb6e729be7 toolchain: define MUSL dynamic linker for SPARC
SPARC builds are currently broken because we do not define the MUSL
dynamic linker name, fix that.

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

SVN-Revision: 37938
2013-09-11 12:08:27 +00:00
Felix Fietkau
258b2cf7aa toolchain/gcc: remove 4.6.3, it is unused and unmaintained
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37924
2013-09-10 10:30:41 +00:00
Felix Fietkau
5f2e61addf gcc: merge a bugfix for a MIPS specific internal compiler error
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37621
2013-07-31 08:54:56 +00:00
Felix Fietkau
e00aaea5df gcc: add a bugfix for an internal compiler error on mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37601
2013-07-29 10:11:07 +00:00
Felix Fietkau
6ac26a1ef7 gcc: fix up displayed version after r37179
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37180
2013-07-05 09:16:08 +00:00
Felix Fietkau
1446a26cc2 gcc: do not delete DATESTAMP and DEV-PHASE version info (fixes __GLIBCXX__ definition)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37179
2013-07-05 07:53:14 +00:00
Felix Fietkau
98df29f9d7 gcc: add a patch to get rid of useless java class sections
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 37095
2013-06-30 07:54:47 +00:00
Felix Fietkau
2befaa2f0d gcc: fix arm libgcc issues with 4.8.0 and 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36864
2013-06-05 23:37:12 +00:00
Felix Fietkau
7d3fca89c0 gcc: remove version 4.7
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36694
2013-05-23 10:22:09 +00:00
Felix Fietkau
ba29b8f04f gcc: port missing patches from 4.6 to 4.8
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36693
2013-05-23 10:21:59 +00:00
Jonas Gorski
6a4bd9012e gcc: fix avr32 default GCC version
Fix gcc version default after r36355 removing all GCC_DEFAULT_VERSION
symbols.

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

SVN-Revision: 36688
2013-05-22 08:26:57 +00:00
Felix Fietkau
2430e9a4f5 toolchain: eliminate the INSTALL_LIBSTDCPP config symbol and make c++ support mandatory - fixes recursive config symbol dependency issues
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36594
2013-05-09 20:50:49 +00:00
Felix Fietkau
6b4f3344df toolchain/gcc: add support for 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36545
2013-05-04 13:37:41 +00:00
Felix Fietkau
f8d8aadb42 toolchain/gcc: forward port missing patches to gcc 4.8.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36544
2013-05-04 13:37:37 +00:00
Jo-Philipp Wich
a98cdd9892 toolchain: add missing patch to gcc v4.8.0
SVN-Revision: 36511
2013-05-02 11:25:13 +00:00
Jonas Gorski
73b7c776e9 toolchain: gcc: backport fixes for gcc bug 54295
Fix "Widening multiply-accumulate operation uses wrong value extension"
for 4.7, 4.7-linaro and 4.6-linaro, which backported the broken code to 4.6.
Vanilla 4.6 is unaffected.

Fixes #13420.

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

SVN-Revision: 36486
2013-04-29 15:40:21 +00:00
Felix Fietkau
39463bf146 toolchain: get rid of gcc kconfig symbol overloading
SVN-Revision: 36355
2013-04-18 12:04:40 +00:00
Felix Fietkau
96bb7c123b build: consistently use 'depends on' instead of 'depends'
make the syntax more compatible with kernel menuconfig

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

SVN-Revision: 36351
2013-04-17 15:36:41 +00:00
Felix Fietkau
c270db592a gcc: remove the bogus CONFIG_TLS_SUPPORT symbol - TLS support is required by libc.
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 36240
2013-04-07 10:11:41 +00:00
Florian Fainelli
e032922266 toolchain: allow choosing the MIPS64 user-land ABI
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36205
2013-04-05 12:36:23 +00:00
Florian Fainelli
348cae15d2 buildroot: factor knowledge of a 64bits architecture
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36204
2013-04-05 12:36:19 +00:00
Florian Fainelli
9dc38e48f7 toolchain/gcc: .init and .fini need to pick one ISA
The .init and .fini sections are built by concatenating code
fragments. Putting mips16 code in the middle of a mips32 code block
doesn't work. Make gcc built the magic crt stuff in no-mips16 mode.

This is specific to 4.6-linaro but is probably portable to other gcc
flavors. Adding this to the t-libgcc-mips16 makefile fragment is a
hack not suitable for pushing upstream, but there is no mips/t-linux
or mips/t-uclibc and I am not going to touch gcc/configure for two
lines.

Signed-off-by: Jay Carlson <nop@nop.com>
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36200
2013-04-05 12:36:06 +00:00
Imre Kaloz
84d0582ddb remove the old (and nonworking) hack and identify our patched GCCs properly
SVN-Revision: 36189
2013-04-03 10:41:07 +00:00
Florian Fainelli
4dd9e8dc9b toolchain/gcc: remove reference to llvm introduced in r36155
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36156
2013-04-02 16:03:14 +00:00
Florian Fainelli
a54e305a8b toolchain/gcc: add support for GCC 4.8.0
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36155
2013-04-02 16:00:35 +00:00
Florian Fainelli
558d35c754 toolchain/gcc: update 4.7-linaro to 2013.03
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 36154
2013-04-02 16:00:23 +00:00
Imre Kaloz
2a390f5706 drop 4.5 support
SVN-Revision: 36149
2013-04-01 15:46:41 +00:00
Imre Kaloz
48612b3b4a cleanup
SVN-Revision: 36148
2013-04-01 15:43:23 +00:00
Imre Kaloz
99d4d9a148 fixup 4.7 configure options
SVN-Revision: 36146
2013-04-01 15:13:46 +00:00
Imre Kaloz
9231162c7e llvm is marked broken for two and a half year now, nuke it
SVN-Revision: 36145
2013-04-01 15:08:38 +00:00
Florian Fainelli
2935823a42 toolchain/gcc: refresh patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35808
2013-02-26 16:39:54 +00:00
Luka Perkov
098bd91f5e gcc: don't build documentation
This closes #13039.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 35807
2013-02-26 16:16:33 +00:00
Luka Perkov
a85019072f gcc: remove support for 4.6.2
There are no good reasons for keeping this version around when 4.6.3 and
4.6-linaro are there.

Signed-off-by: Luka Perkov <luka@openwrt.org>

SVN-Revision: 35805
2013-02-26 14:31:24 +00:00
Florian Fainelli
fe766227a2 toolchain/gcc: fix the mips64 linker path to be more musl conforming
musl libc does not use /lib32 or /lib64 directories, just /lib

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

SVN-Revision: 35406
2013-01-29 23:05:46 +00:00
Florian Fainelli
5ae9a4f830 gcc: fix build for MIPS64 targets introduced by musl patch
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35046
2013-01-07 18:16:40 +00:00
Florian Fainelli
2e8be0cc4b gcc-linaro-4.6: update to 2012.12
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35044
2013-01-07 18:16:33 +00:00
Florian Fainelli
b71fdb0abf gcc-linaro-4.7: update to 2012.12
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 35043
2013-01-07 18:16:29 +00:00
Jo-Philipp Wich
57d29c25f5 toolchain: use file_copy to install the initial gcc files
SVN-Revision: 34440
2012-12-02 12:20:47 +00:00
Florian Fainelli
4801705d83 remove support for ubicom32
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34432
2012-11-30 10:53:55 +00:00
Florian Fainelli
bf9af32738 gcc/4.5-linaro: backport musl patch
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34425
2012-11-29 21:42:58 +00:00
Florian Fainelli
6b63716262 add preliminary support for musl
Musl is an alternative C-library, see http://www.musl-libc.org for more infos.

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

SVN-Revision: 34314
2012-11-23 20:02:29 +00:00
Florian Fainelli
bca3953ee5 gcc: remove support for 4.7.0
There are no good reasons for keeping this version around when 4.7.2 and
4.7-linaro are there.

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

SVN-Revision: 34296
2012-11-21 20:27:15 +00:00
Florian Fainelli
5d37a99a01 gcc: build with HOST_CFLAGS
Turns on -O2 optimization when building GCC thus making the cross-compiler a
little faster (about 25%).

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

SVN-Revision: 34266
2012-11-19 23:12:00 +00:00
Florian Fainelli
9659e20d57 gcc-4.6-linaro: update to 2012.11
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34264
2012-11-19 19:37:39 +00:00
Florian Fainelli
d82044de9c gcc-4.7-linaro: update to 2012.11
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 34263
2012-11-19 19:37:33 +00:00
Felix Fietkau
291d24c3cc build: remove remaining references to TOOLCHAIN_JOBS (thx, Sedat Dilek)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 34122
2012-11-08 15:08:31 +00:00
Florian Fainelli
5013a897c5 gcc: add GCC 4.7.2
SVN-Revision: 33763
2012-10-14 13:35:19 +00:00
Florian Fainelli
ba446684e0 gcc: add GCC 4.6.3
SVN-Revision: 33762
2012-10-14 13:35:13 +00:00
Florian Fainelli
3a31553a0e gcc: update 4.5-linaro to 4.5-2012.03
SVN-Revision: 33760
2012-10-13 19:19:44 +00:00
Florian Fainelli
42c4a16172 gcc: update 4.7-linaro to 4.7-2012.10
SVN-Revision: 33759
2012-10-13 19:19:41 +00:00
Florian Fainelli
5d223006f9 gcc: update gcc-4.6-linaro to 4.6-2012.10
SVN-Revision: 33758
2012-10-13 19:19:38 +00:00
Florian Fainelli
3b683b6feb gcc: add --with-long-double-128 for SPARC toolchain
This is required in order to build the final compiler.

SVN-Revision: 33739
2012-10-12 14:42:41 +00:00
Florian Fainelli
a72cadbbb4 gcc: backport struct siginfo -> siginfo_t renaming
Otherwise newer eglibc toolchain will simply fail to build.

SVN-Revision: 33736
2012-10-12 14:42:25 +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
d6c5846513 gcc: enable parallel builds
SVN-Revision: 33444
2012-09-15 14:18:19 +00:00
Florian Fainelli
95f1b6d415 gcc: add upstream fixes for GCC bug 54494
See: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54494 for more infos.

SVN-Revision: 33329
2012-09-07 10:31:58 +00:00
Florian Fainelli
11f1712b49 gcc: add upstream fixes for GCC bug 54369
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more infos.

SVN-Revision: 33328
2012-09-07 10:31:54 +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
70259bceb4 toolchain/gcc: fix installing the toolchain after removing the toolchain dir without a full rebuild
SVN-Revision: 32554
2012-06-30 18:12:19 +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
Felix Fietkau
176c236922 toolchain: install libgcc for minimal gcc, needed by newer eglibc versions
SVN-Revision: 32100
2012-06-07 12:24:13 +00:00
Imre Kaloz
880de62f91 switch to 2.6.38
SVN-Revision: 31546
2012-05-01 07:00:17 +00:00
Jo-Philipp Wich
e0c97d69c6 gcc: fix getenv() patches for 4.4.7 and 4.5-linaro
SVN-Revision: 31489
2012-04-27 12:05:34 +00:00
Mirko Vogt
47ea827dce remove screwed up patch for gcc 4.7-linaro which got committed by accident
SVN-Revision: 31393
2012-04-21 10:23:49 +00:00
Mirko Vogt
84307e4035 add support for GCC 4.7-linaro (based on GCC 4.7.1)
SVN-Revision: 31392
2012-04-21 09:58:31 +00:00
Jo-Philipp Wich
f79bfe6072 gcc: add patch to make the getenv() spec function nonfatal if requested environment variable is unset
SVN-Revision: 31390
2012-04-21 03:02:39 +00:00
Jo-Philipp Wich
b7e2959450 toolchain/gcc: gcc-4.7.0 upstream patch fixing uClibc problems
SVN-Revision: 31255
2012-04-12 07:48:02 +00:00
Imre Kaloz
ca6859aa29 upgrade to gcc 4.4.7
SVN-Revision: 31230
2012-04-09 17:00:03 +00:00
Mirko Vogt
626e171764 add support for gcc 4.7.0 - thanks to acoul!
SVN-Revision: 31216
2012-04-07 15:34:41 +00:00
Gabor Juhos
45d5b24190 toolchain/gcc-4.6.2: fix v4bx patch
SVN-Revision: 30970
2012-03-18 10:55:49 +00:00
Gabor Juhos
9c077ed0ae toolchain/gcc-4.6-linaro: fix v4bx patch
SVN-Revision: 30969
2012-03-18 10:55:47 +00:00
Felix Fietkau
40bf6ee842 gcc: now that the gpr save/restore issues are taken care of, remove the -Os/-O2 workaround that dealt with it earlier
SVN-Revision: 30815
2012-03-05 00:51:05 +00:00
Felix Fietkau
d8c570a153 gcc: do not emit references to _savegpr_* and _restgpr_* on powerpc, as they are tricky to deal with wrt. libgcc. they cannot be linked dynamically
SVN-Revision: 30814
2012-03-05 00:51:01 +00:00
Felix Fietkau
a86e168c54 gcc: use .eh_frame sections for exception handling stack unwind - saves about 400 bytes on every executable or shared library
SVN-Revision: 30614
2012-02-17 16:55:08 +00:00
Felix Fietkau
42ed1bd9e6 gcc: enable --with-headers for the final toolchain build
SVN-Revision: 30613
2012-02-17 16:55:01 +00:00
Felix Fietkau
dcfc40358b gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary
SVN-Revision: 30486
2012-02-12 20:25:47 +00:00
Imre Kaloz
d252dd3d2e upgrade vanilla gcc to 4.6.2
SVN-Revision: 30470
2012-02-12 09:48:39 +00:00
Imre Kaloz
909abe4999 use Linaro GCC 4.6 by default
SVN-Revision: 30467
2012-02-12 09:14:18 +00:00
Imre Kaloz
ed192cb5a6 update to latest Linaro releases
SVN-Revision: 30466
2012-02-12 08:50:18 +00:00
Jo-Philipp Wich
64dc82eab0 invoke patch-specs.sh in the gcc/final install stage. Patch up OpenWrts own cross toolchains to always search headers and libraries in $STAGING_DIR, this should solve most issues with missing headers, indirect linking and not found libraries. At a later stage, all -I and -L flags will be purged from TARGET_LDFLAGS and TARGET_CPPFLAGS.
SVN-Revision: 29768
2012-01-18 03:15:22 +00:00
Imre Kaloz
8fcdb09e1f upgrade to latest linaro releases
SVN-Revision: 29748
2012-01-14 22:52:40 +00:00
Felix Fietkau
e3a21eb9f8 gcc: always explicitly link against libstdc++, fixes build errors on some hosts that refuse to link it in implicitly (should fix #10587)
SVN-Revision: 29721
2012-01-12 10:15:20 +00:00
Hauke Mehrtens
cca287d05e gcc: add 4.6-linaro version 4.6-2011.08
SVN-Revision: 28042
2011-08-18 12:13:54 +00:00
Hauke Mehrtens
ab380f46f4 gcc: make patches apply for gcc 4.5-linaro version 4.5-2011.08
SVN-Revision: 28041
2011-08-18 12:12:47 +00:00
Hauke Mehrtens
441e392e11 gcc: move patches as the name changed. This was missing in r28038.
SVN-Revision: 28040
2011-08-18 12:09:42 +00:00