Commit Graph

25 Commits (cbc606f1f79e4a369978ad89abe75bb5c6063e0d)

Author SHA1 Message Date
Felix Fietkau 2c60412f00 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39749 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-24 21:09:37 +00:00
Felix Fietkau aba884cec1 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@39638 3c298f89-4303-0410-b956-a3cf2f4a3e73
2014-02-19 19:20:10 +00:00
Florian Fainelli 269fbe67f4 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37938 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-09-11 12:08:27 +00:00
Felix Fietkau 27b7bc42d6 gcc: merge a bugfix for a MIPS specific internal compiler error
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37621 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-31 08:54:56 +00:00
Felix Fietkau effe913300 gcc: add a bugfix for an internal compiler error on mips64
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37601 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-07-29 10:11:07 +00:00
Felix Fietkau d80c53a045 gcc: add a patch to get rid of useless java class sections
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37095 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-06-30 07:54:47 +00:00
Jonas Gorski 32e87c4c39 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-29 15:40:21 +00:00
Florian Fainelli 72fa8af64d 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36200 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-04-05 12:36:06 +00:00
Florian Fainelli f68626b80d toolchain/gcc: refresh patches
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35808 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-26 16:39:54 +00:00
Luka Perkov 8d1daccbbf [toolchain] gcc: don't build documentation
This closes #13039.

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

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35807 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-02-26 16:16:33 +00:00
Florian Fainelli b9da555e20 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35406 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-29 23:05:46 +00:00
Florian Fainelli 28703738e9 [toolchain] gcc: fix build for MIPS64 targets introduced by musl patch
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@35046 3c298f89-4303-0410-b956-a3cf2f4a3e73
2013-01-07 18:16:40 +00:00
Florian Fainelli edb46bb434 [toolchain] remove support for ubicom32
Signed-off-by: Florian Fainelli <florian@openwrt.org>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34432 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-30 10:53:55 +00:00
Florian Fainelli 24cc4007ce [buildroot] 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>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@34314 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-11-23 20:02:29 +00:00
Florian Fainelli a481f5d322 [toolchain] gcc: update gcc-4.6-linaro to 4.6-2012.10
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33758 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-13 19:19:38 +00:00
Florian Fainelli 256ab061a3 [toolchain] gcc: backport struct siginfo -> siginfo_t renaming
Otherwise newer eglibc toolchain will simply fail to build.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33736 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-10-12 14:42:25 +00:00
Florian Fainelli 4366883f0d [toolchain] gcc: add upstream fixes for GCC bug 54369
See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54369 for more infos.

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@33328 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-09-07 10:31:54 +00:00
Imre Kaloz 9d2b3add2a [coldfire]: switch to 2.6.38
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31546 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-05-01 07:00:17 +00:00
Jo-Philipp Wich 1272afb1c4 [toolchain] gcc: add patch to make the getenv() spec function nonfatal if requested environment variable is unset
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@31390 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-04-21 03:02:39 +00:00
Gabor Juhos 89c81ea6b8 toolchain/gcc-4.6-linaro: fix v4bx patch
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30969 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-18 10:55:47 +00:00
Felix Fietkau 9f1e04f9ae 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
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30814 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-03-05 00:51:01 +00:00
Felix Fietkau 7472c7c236 gcc: use .eh_frame sections for exception handling stack unwind - saves about 400 bytes on every executable or shared library
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30614 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-17 16:55:08 +00:00
Felix Fietkau 1f0e01a793 gcc 4.6: port over the missing patch 850-use_shared_libgcc.patch to prevent libgcc crap from leaking into every single binary
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30486 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-02-12 20:25:47 +00:00
Imre Kaloz dbbcc5eb2e [toolchain/gcc]: upgrade to latest linaro releases
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@29748 3c298f89-4303-0410-b956-a3cf2f4a3e73
2012-01-14 22:52:40 +00:00
Hauke Mehrtens 2ce47af8ca gcc: add 4.6-linaro version 4.6-2011.08
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@28042 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-18 12:13:54 +00:00