Commit Graph

484 Commits

Author SHA1 Message Date
Felix Fietkau
7a97588bc6 toolchain/gcc: use version 7.x for x86 by default
This is needed for retpoline support, which mitigates the spectre
attacks.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:57:30 +01:00
Felix Fietkau
65ae02d602 toolchain/gcc: remove unused config symbol
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2018-02-21 20:57:24 +01:00
Hauke Mehrtens
1a8523c835 toolchain: gcc: update 7.x to 7.3.0
This version still generates broken code in our setup for MIPS.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2018-01-27 19:54:52 +01:00
Julien Dusser
241e6dd3e9 build: cleanup SSP_SUPPORT configure option
Configure variable SSP_SUPPORT is ambiguous for packages (tor, openssh,
avahi, freeswitch). It means 'toolchain supporting SSP', but for toolchain
and depends it means 'build gcc with libssp'.

Musl no longer uses libssp (1877bc9d8f), it has internal support, so
SSP_SUPPORT was disabled leading some package to not use SSP.

No information why Glibc and uClibc use libssp, but they may also provide
their own SSP support. uClibc used it own with commit 933b588e25 but it was
reverted in f3cacb9e84 without details.

Create an new configure GCC_LIBSSP and automatically enable SSP_SUPPORT
if either USE_MUSL or GCC_LIBSSP.

Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2018-01-27 19:02:48 +01:00
Julien Dusser
55779569eb toolchain: add gcc configure default PIE and SSP
GCC supports starting version 5 --enable-default-ssp and starting version 6
--enable-default-pie.

It produces hardened binaries by default without dealing with package
compilation flags.

Signed-off-by: Julien Dusser <julien.dusser@free.fr>
2018-01-27 19:02:47 +01:00
Evgeniy Didin
e47fe3284f toolchain/arc: update to the most recent release arc-2017.09
This commit finally bumps ARC tools to the most recent arc-2017.09 release version.

ARC GNU tools of version arc-2017.09 bring some quite significant changes like:
 * Binutils v2.29 with additional ARC patches
 * GCC 7.1.1 with additional ARC patches

More information on this release could be found here:
  https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2017.09-release

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
CC: Alexey Brodkin <abrodkin@synopsys.com>
CC: John Crispin <john@phrozen.org>
2018-01-27 16:46:44 +01:00
Zoltan HERPAI
d2c06eb075 merge: etc: update remaining files
Signed-off-by: Zoltan HERPAI <wigyori@uid0.hu>
2017-12-08 19:41:18 +01:00
Felix Fietkau
7e2c271a80 gcc: remove support for libgcj/java
It has been removed in gcc 7

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-11-02 15:58:45 +01:00
Ryan Mounce
d67979b9d6 toolchain/gcc: update 5.x to 5.5.0
This is the final bugfix release in the gcc-5 series.

Compile and run tested on macOS 10.13 (Xcode 9), mvebu/ar71xx.

Removed redundant patch for macOS (backported upstream by yours truly)

Signed-off-by: Ryan Mounce <ryan@mounce.com.au>
2017-10-15 00:24:22 +02:00
Felix Fietkau
07a99a83f2 gcc: fix build error with macOS + Xcode 9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-10-05 21:14:43 +02:00
Kevin Darbyshire-Bryant
3f4f580954 toolchain: gcc: update 7.x to 7.2.0
Bump gcc from 7.1 to 7.2

Compile & run tested: ar71xx

Trace history of current patches and update with commit ref & comment
to give more clue as to why they're still around/needed.  Some have
changed form since the original commit but some clue is better than no
clue at all.

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
2017-09-16 19:33:37 +02:00
Evgeniy Didin
8647f4f018 toolchain/arc: update to the most recent release arc-2017.03
arc-2017.03 is the most recent release toolchain for ARC cores
and it is based on upstream Binutils 2.28 and GCC 6.3.0

Signed-off-by: Evgeniy Didin <Evgeniy.Didin@synopsys.com>
Cc: Alexey Brodkin <abrodkin@synopsys.com>
Cc: John Crispin <john@phrozen.org>
Cc: Hauke Mehrtens <hauke@hauke-m.de>
2017-07-18 23:23:27 +02:00
Kevin Darbyshire-Bryant
22e2b402ae gcc: gcc 6.3.0 fix comparison between pointer and integer
Fix FS#832

/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:
In function 'bool ubsan_use_new_style_p(location_t)':
/source/build_dir/toolchain-mips_74kc_gcc-6.3.0_musl/gcc-6.3.0/gcc/ubsan.c:1474:23:
error: ISO C++ forbids comparison between pointer and integer
[-fpermissive]
       || xloc.file == '\0' || xloc.file[0] == '\xff'
                       ^~~~
make[5]: *** [Makefile:1085: ubsan.o] Error 1

https://www.viva64.com/en/b/0425/#ID0EMGCI

Signed-off-by: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
2017-06-24 13:11:19 +02:00
Syrone Wong
c87aa0d7ca toolchain/gcc: fix --with-isl path
This fixes GCC 7 compilation when GRAPHITE is selected.
The path is replaced with $(TOOLCHAIN_DIR), while it should be
$(STAGING_DIR_HOST). To keep in sync with the path of gmp,
mpfr and mpc, I'm using $(TOPDIR)/staging_dir/host.

Fixes: f62f4b3c5c ("build: stop overriding STAGING_DIR_HOST for toolchain build")

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2017-05-30 09:32:10 +02:00
Felix Fietkau
8851a18a88 gcc: fix documentation entries added by 910-mbsd_multi.patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Felix Fietkau
70c2c8ff39 toolchain: add gcc 7.1.0 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Felix Fietkau
f62f4b3c5c build: stop overriding STAGING_DIR_HOST for toolchain build
This causes various issues in other places that assume that host
binaries are staged in STAGING_DIR_HOST.
Since all the right places use HOST_BUILD_PREFIX, override that instead.
This fixes some issues with quilt on toolchain dirs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-05-25 19:01:07 +02:00
Alexey Brodkin
34e8393019 toolchain/arc: update to the most recent release arc-2016.09
arc-2016.09 is the most recent toolchain for ARC cores and
it is based on top of upstream Binutils 2.27 and GCC 6.2.1.

With updated major version of GCC we copied all GCC 6.x patches
for ARC as well as Bintils 2.27 patches.

Note that toochain sports ARCv4 ABI and so must be used
with 4.8+ Linux kernels. Even though it will build v4.4 kernel
perfectly fine on attempt to run user-space apps they won't
work with older kernel. That said previuosly sent RFC patches with
Linux kernel update are required:
 [1] https://patchwork.ozlabs.org/patch/726686/
 [2] https://patchwork.ozlabs.org/patch/726687/

Signed-off-by: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
2017-05-02 15:17:30 +02:00
Felix Fietkau
0f5d17a7e6 toolchain/gcc: parallelize make install
If the staging dir was deleted, the build needs to recompile some files.
This change speeds up this corner case significantly

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-09 14:49:34 +01:00
Felix Fietkau
70973dd30d gcc: remove obsolete uclibc patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 16:14:10 +01:00
Felix Fietkau
f204e0fc46 toolchain/gcc: reduce source directory size by about 420 MB
Remove gcc testsuite, ada and libjava (if not selected)

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2017-02-01 15:18:38 +01:00
Syrone Wong
0a5ccfbadd toolchain/gcc: update 6.x to 6.3.0
This is a bugfix release

Build and run tested on mvebu/Linksys WRT1900AC v1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-12-24 12:02:10 +01:00
Felix Fietkau
3f55e5aeb5 toolchain: remove ppl/cloog, disable graphite for gcc 4.8
graphite is disabled by default and it's not worth carrying ppl and
cloog for supporting this feature on the old gcc 4.8, which is only used
for ARC

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-24 09:40:46 +01:00
Felix Fietkau
720b99215d treewide: clean up download hashes
Replace *MD5SUM with *HASH, replace MD5 hashes with SHA256

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-16 22:39:22 +01:00
Felix Fietkau
565988ab47 gcc: rip out transactional memory related bloat from crtbegin
Slightly improves compression for each executable, saving about 4k from
the default ar71xx rootfs

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-12-14 12:13:13 +01:00
Yousong Zhou
49703b589b toolchain: gcc: disable ifunc on *-musl by default
Otherwise the built binaries may fail with

    Error relocating /usr/bin/qemu-system-x86_64: unsupported relocation type 37

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
2016-11-24 12:53:18 +01:00
BangLang Huang
0fe34d27e2 toolchain: fix MIPS softfloat build issue for gcc-5.4.0
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
2016-11-14 09:37:15 +01:00
Syrone Wong
f8c7e935ef toolchain/gcc: bump GCC 6.1.0 to 6.2.0
Compile and run tested on ar71xx and mvebu

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
2016-09-04 13:36:09 +02:00
Matteo Croce
360fd10ac9 gcc: optionally build gccgo compiler
Tested with eglibc on x86 and armv7 so far

Signed-off-by: Matteo Croce <matteo.croce@canonical.com>
2016-08-11 10:45:33 +02:00
Felix Fietkau
ecf7671b76 gcc: add a patch to generate better code with Os on mips
Also happens to reduce compressed code size a bit

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-08-04 20:53:28 +02:00
Alexey Brodkin
7cc31b52e1 toolchain/gcc/arc-2016.03: Fix building on hosts with gcc 6.x
On attempt to build ARC toolchain on the host with gcc 6.1 I saw the
same failure as described in https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69959

This change adds a back-port of the fix from upstream gcc, see
https://gcc.gnu.org/viewcvs/gcc?view=revision&revision=233572

Note the fix is already a part of gcc-5.4 and gcc-6.1 so no need for
the same fix for others.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-07-27 17:22:39 +02:00
Felix Fietkau
ab3bf82e01 toolchain/gcc: disable libmpx to fix build errors on x86 with gcc 6.1
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-21 15:22:04 +02:00
Syrone Wong
445604a915 toolchain/gcc: add 6.1.0
-fno-plt and musl-libc patches already get upstream, then dropped
in GCC 6. Other patches are almost identical compared to GCC 5.4.

Compile and run tested on ar71xx/Qihoo C301 and
mvebu/Linksys WRT1900ac v1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [cleanups/fixes]
2016-07-15 14:17:58 +02:00
Felix Fietkau
a4e90e2cac toolchain: get rid of GCC_VERSION_5 config symbol
Replace it with !GCC_VERSION_4_8 to be more future compatible

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:40 +02:00
Felix Fietkau
e031940570 toolchain/gcc: clean up remaining references to the old linaro version
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-15 14:17:36 +02:00
Hauke Mehrtens
2d3917d5b5 gcc: update gcc to version 5.4.0
The removed patches are already integrated in upstream gcc.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2016-07-13 23:04:18 +02:00
Felix Fietkau
74c9b9cfeb toolchain: skip gcc/minimal for musl
No extra libc header build step is done, so no extra toolchain is needed
for preparing it.
This saves a significant amount of build time and disk space

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-07-07 15:13:40 +02:00
Felix Fietkau
7eeb254cc4 treewide: replace nbd@openwrt.org with nbd@nbd.name
Signed-off-by: Felix Fietkau <nbd@nbd.name>
2016-06-07 08:58:42 +02:00
Alexey Brodkin
d354bfde17 toolchain: Bump ARC tools to arc-2016.03
This change switches ARC tools to the most recent arc-2016.03
version.

ARC GNU tools of version arc-2016.03 bring some quite significant
changes like:
 * Binutils v2.26+ (upstream commit id 202ac19 with additional ARC
 * patches)
 * GCC v4.8.5
 * GDB 7.10

More about changes, improvements and fixes could be found here:
https://github.com/foss-for-synopsys-dwc-arc-processors/toolchain/releases/tag/arc-2016.03

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
2016-05-19 19:29:44 +02:00
Matthias Schiffer
3339f14e84
toolchain: gcc: fix build with GCC 6
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
2016-05-08 23:37:40 +02:00
John Crispin
fa69553900 branding: add LEDE branding
Signed-off-by: John Crispin <blogic@openwrt.org>
2016-03-24 22:40:13 +01:00
Felix Fietkau
5168d43b16 gcc: update gcc 5 to version 5.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48826
2016-02-29 20:09:45 +00:00
John Crispin
7b821a5ae8 toolchain: add support of ARCv2 architecture
This change adds support of ARC ISAv2 processors in
OpenWRT toolchain.

In general gcc for ARC may compile code for both ISA versions
simultaneously but libgcc will be built only for default
architecture that's why it's necessary to specify --with-cpu
on gcc configuration.

As for uClibc we need to use different configurations for
different ARC ISAs.

Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Cc: Felix Fietkau <nbd@openwrt.org>
Cc: Jo-Philipp Wich <jow@openwrt.org>
Cc: Jonas Gorski <jogo@openwrt.org>

SVN-Revision: 48739
2016-02-18 08:22:17 +00:00
Felix Fietkau
d9db303af6 gcc: backport a libgcc fix for a dependency on libc write() on ARM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48485
2016-01-25 12:41:55 +00:00
Felix Fietkau
6ae4479190 gcc: drop version 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48395
2016-01-20 13:54:22 +00:00
Felix Fietkau
dbf2ec47a6 gcc: remove v4.6 relicts
Fixes: commit f17e56eff5b9 ("gcc: remove version 4.6, it is no longer needed")

CC: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Sedat Dilek <sedat.dilek@gmail.com>

SVN-Revision: 47965
2015-12-23 11:23:19 +00:00
Felix Fietkau
6638374f5d gcc: make colors optional based on the GCC_COLORS env var
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47642
2015-11-25 14:12:44 +00:00
Felix Fietkau
52a307e54a gcc: fix internal compiler error on MIPS with MIPS16 enabled (triggered by libpcap)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47494
2015-11-18 00:57:22 +00:00
Felix Fietkau
124b8a6dd6 gcc: switch to 5.2.0 by default
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47492
2015-11-17 12:38:41 +00:00
Felix Fietkau
331735a357 gcc: add a patch to 5.x that supports translation of __FILE__ paths
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47490
2015-11-17 12:38:22 +00:00
Felix Fietkau
9d6a9b6f51 gcc: set the isl/cloog prefix when graphite is enabled, disable it explicitly if it is disabled in the config
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47465
2015-11-13 11:35:41 +00:00
Felix Fietkau
3d41dbae65 tools: add isl (used for graphite on GCC 5)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47464
2015-11-13 11:35:37 +00:00
Felix Fietkau
f7939f5e74 gcc: remove version 4.6, it is no longer needed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47443
2015-11-10 21:10:53 +00:00
Felix Fietkau
795cab69b3 gcc: enable LTO support unconditionally
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47442
2015-11-10 21:10:45 +00:00
Felix Fietkau
8a22f31c25 gcc: use version 5.x for octeon instead of 4.6 - it has been tested with glibc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47441
2015-11-10 21:10:39 +00:00
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
Felix Fietkau
6c6508d0e1 gcc: fix accidentally dropped chunk of the musl gcc 5.2.0 powerpc patch (fixes #20501)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47024
2015-09-22 08:30:15 +00:00
Felix Fietkau
3d64edb024 gcc: use qstrip template to fix syntax highlighting
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47023
2015-09-22 08:30:05 +00:00
Felix Fietkau
ed1e87ae2e gcc: fix path to powerpc musl dynamic linker with 5.2 (#20501)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46897
2015-09-13 17:38:55 +00:00
Hauke Mehrtens
0fdb4a458b gcc: update gcc 5.x musl patches
This replaces the musl patches for gcc with the versions which are in
gcc trunk.

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

SVN-Revision: 46873
2015-09-11 17:57:39 +00:00
Felix Fietkau
d571f17129 gcc: add missing powerpc patch for 5.2.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46800
2015-09-07 06:59:56 +00:00
Felix Fietkau
4077850c7d gcc: remove 4.6.3 leftovers
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46799
2015-09-06 10:07:07 +00:00
Felix Fietkau
400fb6cadc gcc: remove version 4.9-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46798
2015-09-06 10:07:03 +00:00
Felix Fietkau
86ba95601a gcc: add ARM codegen fix from PR 65932
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46774
2015-09-03 13:14:44 +00:00
Hauke Mehrtens
32c3af6a19 toolchain: gcc: add gcc 5.2.0
This was boot tested on mipsel32, arm32 and x86 only.

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

SVN-Revision: 46611
2015-08-16 20:20:36 +00:00
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
0f81020b97 gcc: use the -sf suffix for musl ldso on powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46313
2015-07-12 18:54:30 +00:00
Steven Barth
1877bc9d8f gcc/musl: rework SSP-support
Make musl provide libssp_nonshared.a and make GCC link it unconditionally
if musl is used. This should be a no-op if SSP is disabled and seems to be
the only reliable way of dealing with SSP over all packages due to the mess
that is linkerflags handling in packages.

Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46108
2015-06-22 10:31:07 +00:00
Felix Fietkau
3a237d638e toolchain: mark gcc 4.9 as broken, it miscompiles some code especially on ARM
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46089
2015-06-21 17:52:00 +00:00
Steven Barth
cfdadd3e1d gcc: musl comes with its own SSP, so use it instead of libssp
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46071
2015-06-20 17:37:20 +00:00
Steven Barth
19810a5145 hardening: enable regular SSP support by default
Signed-off-by: Steven Barth <steven@midlink.org>

SVN-Revision: 46020
2015-06-17 13:13:48 +00:00
Imre Kaloz
e856d62d0a toolchain/gcc: upgrade Linaro GCC 4.9 to 4.9-2015.03
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>

SVN-Revision: 45944
2015-06-11 11:57:11 +00:00
Felix Fietkau
64661de100 gcc: add some size optimization patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 45664
2015-05-10 13:16:35 +00:00
Felix Fietkau
fc2bd07260 gcc: remove 4.4.7 (only used by avr32)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 44957
2015-03-24 10:06:27 +00:00
Nicolas Thill
d48735dd85 toolchain/gcc: fix an ICE on ARM (PR58595)
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58595

Signed-off-by: Nicolas Thill <nico@openwrt.org>

SVN-Revision: 44394
2015-02-11 11:30:56 +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
Florian Fainelli
afa36fe3bc toolchain: fix mips64 musl linker names
Signed-off-by: Florian Fainelli <florian@openwrt.org>

SVN-Revision: 43035
2014-10-24 00:15:58 +00:00
Felix Fietkau
20e7ccc3a2 gcc: update 4.9 to linaro 2014.10
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 43003
2014-10-20 11:42:59 +00:00
Felix Fietkau
81cc26c706 gcc: do not assume that the Mac OS X filesystem is case insensitive
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42973
2014-10-19 21:45:51 +00:00
Felix Fietkau
1f85497423 gcc: update, split and rework 4.9 musl patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42970
2014-10-19 21:45:36 +00:00
Felix Fietkau
69c1568779 gcc: update, split and rework 4.8 musl patches
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42969
2014-10-19 21:45:28 +00:00
Felix Fietkau
663ddf8f17 gcc: backport an upstream fix for extern vars with local weak definitions
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42962
2014-10-19 16:18:56 +00:00
Felix Fietkau
b6fb77ebfe gcc: remove version 4.8.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42777
2014-10-05 18:40:43 +00:00
Felix Fietkau
646dfde826 Fix broken implementation of NOEXECSTACK flag for MIPS architectures for gcc-linaro-4.8
This patch ensures that libgcc_s.so properly honours the NOEXECSTACK flag
for MIPS builds, when gcc-linaro-4.8 or 4.9 is the chosen C compiler.

Signed-off-by: Andrew McDonnell <bugs@andrewmcdonnell.net>
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42769
2014-10-05 15:21:30 +00:00
Felix Fietkau
749d865aa4 gcc: gcc 4.9.x disable libsanitize
gcc 4.9.x enables building of libsanitize

- libsanitize needs some headers that are not available
  in uclibc (netrom/netrom.h)

according to buildroot project:
- build fail with musl
- need wordexp with uclibc which increases uclibc size
http://git.buildroot.net/buildroot/commit/?id=5f4d658d888b539de9a6247ae5b1a0999de5d4ec
http://git.buildroot.net/buildroot/commit/?id=554e29e267e6b36a0fd78c82cbad2c82d939eb7f

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

SVN-Revision: 42767
2014-10-05 14:59:45 +00:00
Felix Fietkau
cb119e2a69 gcc: add 4.9-linaro based on the 2014.09 release
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42706
2014-09-30 21:36:28 +00:00
Felix Fietkau
c4fb88720e toolchain: remove another bogus copy of libiberty.a
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 42624
2014-09-20 11:11:48 +00:00
John Crispin
96a4d6fb54 octeon: select gcc 4.6 by default
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41843
2014-07-27 14:52:00 +00:00
Luka Perkov
8e4f0ec38d toolchain/gcc: pass proper flags for arm hard float build
This fixes eglibc build failure. More information about the bug can be found on
the link below.

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=61796

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

SVN-Revision: 41657
2014-07-14 20:28:53 +00:00
Felix Fietkau
a44b4e3ffb gcc: backport a fix for issues with accessing weak data references
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 41569
2014-07-10 19:28:40 +00:00
John Crispin
1aeb77b9ee toolchain: only default eglibc for octeon and not all of mips64
Signed-off-by: John Crispin <blogic@openwrt.org>

SVN-Revision: 41559
2014-07-10 19:16:09 +00:00
John Crispin
c911cdcc04 toolchain: use different defaults for octeon
force eglibc and gcc4.6+linaro for octeon

Signed-off-by: Martin Fäcknitz <faecknitz@hotsplots.de>

SVN-Revision: 41251
2014-06-18 10:07:53 +00:00
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