Commit Graph

27 Commits (caa73eb95c490e850d517cb558e4161c2f06d86f)

Author SHA1 Message Date
John Crispin b2739f37d6 toolchain: fix gcc 4.6 build with gcc5
build error:
cfns.gperf:101:1: error: 'gnu_inline' attribute present on 'libc_name_p'
cfns.gperf:26:14: error: but not here
observed on Arch Linux

affected versions gcc 4.6, gcc 4.7

reported & fixed in DragonFlyBSD issue #136
https://github.com/DragonFlyBSD/DPorts/issues/136

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

SVN-Revision: 46355
2015-07-14 07:43:50 +00:00
Felix Fietkau 548d9a008f gcc: don't clobber stamp-bits with a symlink to itself
Several versions of gcc have an issue in libstdc++v3 where the build may
clobber stamp-bits with a link to itself.  This doesn't manifest itself
on all systems.  On several Ubuntu systems, this doesn't appear to be a
problem, but it is an issue on Fedora 16 systems.

To fix the issue, we'll simply filter out stamp-bits from the symlinks
to be generated.

Note: gcc 4.4.7 is unaffected by this issue, so no fix is necessary
there.

Signed-off-by: John Szakmeister <john@szakmeister.net>

SVN-Revision: 43669
2014-12-12 17:01:57 +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
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 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 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
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
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
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
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 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 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 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 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
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
Imre Kaloz 880de62f91 switch to 2.6.38
SVN-Revision: 31546
2012-05-01 07:00:17 +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
Gabor Juhos 9c077ed0ae toolchain/gcc-4.6-linaro: fix v4bx patch
SVN-Revision: 30969
2012-03-18 10:55:47 +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 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 8fcdb09e1f upgrade to latest linaro releases
SVN-Revision: 29748
2012-01-14 22:52:40 +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