Commit Graph

230 Commits (fbaf48387eb5e0e2bdc90d4c6f985a242a9fb0cc)

Author SHA1 Message Date
Syrone Wong 2fb95f7142 toolchain/gcc: update 8.x to 8.2.0
This release fixes LTO link-time performance problems and C++ bug introduced in GCC 8.1

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
6 years ago
Syrone Wong 139f99c058 toolchain/gcc: add GCC 8.1.0
Changes compared to GCC 7.x

001-revert_register_mode_search.patch dropped

The underlying issue is described at the end of
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=58139

It is fixed by the upstream commit:
3fa2798aa8

020-PR-libstdc-81797-Add-.NOTPARALLEL-to-include-Makefil.patch dropped due to already upstream

100-PR-rtl-optimization-83496.patch dropped due to already upstream

910-mbsd_multi.patch
modified to fix ambiguous overloaded inform() call error

gcc/input.h
header: define UNKNOWN_LOCATION ((source_location) 0)

-        inform (0, "someone does not honour COPTS correctly, passed %d times",
-         honour_copts);
+        inform (UNKNOWN_LOCATION, "someone does not honour COPTS correctly, passed %d times",
+         honour_copts);

940-no-clobber-stamp-bits.patch dropped due to fixed upstream by another way
upstream commit: 87b2d547f8

950-cpp_file_path_translation.patch dropped, Both -fmacro-prefix-map and -ffile-prefix-map are added
to gcc 8.1.0, if I understand it correctly, we should use -fmacro-prefix-map
usage: -fmacro-prefix-map=@var{old}=@var{new}
upstream commit: 859b51f836

-iremap exists as a flag for a long time, for backward compatibility, I think we should keep the
variable name unchanged but change its value in rules.mk for gcc 8.x and higher.

Compile and run tested on x86_64

Signed-off-by: Syrone Wong <wong.syrone@gmail.com>
6 years ago
Felix Fietkau 29e2f9ea5b gcc: remove support for version 6.3.0
It is obsoleted by gcc 7

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Yousong Zhou f172456edc toolchain: gccgo: fix building gccgo compiler
Fixes FS#1498.  "gccgo -static" can fail for missing linker flag
-lgcc_eh caused by patch 850-use_shared_libgcc.patch

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
6 years ago
Felix Fietkau 16cec7ae67 toolchain/gcc: merge pending fix for miscompiled MIPS16 code issue (GCC PR 84790)
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Felix Fietkau fe98f2679c toolchain/gcc: fix a build failure on 7.3.0 with macOS
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Felix Fietkau 25aaff9100 gcc: merge upstream fix for PR 83496 (fixes FS#814)
This bug was causing miscompiled code related to branch delay slots

Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
Felix Fietkau 38dc678166 gcc: refresh patches for version 7.3.0
Signed-off-by: Felix Fietkau <nbd@nbd.name>
6 years ago
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>
6 years ago
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>
6 years ago
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>
7 years ago
Felix Fietkau 07a99a83f2 gcc: fix build error with macOS + Xcode 9
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years ago
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>
7 years ago
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>
7 years ago
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>
7 years ago
Felix Fietkau 8851a18a88 gcc: fix documentation entries added by 910-mbsd_multi.patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years ago
Felix Fietkau 70c2c8ff39 toolchain: add gcc 7.1.0 support
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years ago
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>
7 years ago
Felix Fietkau 70973dd30d gcc: remove obsolete uclibc patch
Signed-off-by: Felix Fietkau <nbd@nbd.name>
7 years ago
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>
7 years ago
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>
8 years ago
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>
8 years ago
BangLang Huang 0fe34d27e2 toolchain: fix MIPS softfloat build issue for gcc-5.4.0
Signed-off-by: BangLang Huang <banglang.huang@foxmail.com>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
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>
8 years ago
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]
8 years ago
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>
8 years ago
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>
8 years ago
Matthias Schiffer 3339f14e84
toolchain: gcc: fix build with GCC 6
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
8 years ago
Felix Fietkau 5168d43b16 gcc: update gcc 5 to version 5.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>

SVN-Revision: 48826
8 years ago
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
8 years ago
Felix Fietkau 6ae4479190 gcc: drop version 4.8-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 48395
8 years ago
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
9 years ago
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
9 years ago
Felix Fietkau f7939f5e74 gcc: remove version 4.6, it is no longer needed
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 47443
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago
Felix Fietkau d571f17129 gcc: add missing powerpc patch for 5.2.0
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46800
9 years ago
Felix Fietkau 400fb6cadc gcc: remove version 4.9-linaro
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46798
9 years ago
Felix Fietkau 86ba95601a gcc: add ARM codegen fix from PR 65932
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46774
9 years ago
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
9 years ago
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
9 years ago
Felix Fietkau 0f81020b97 gcc: use the -sf suffix for musl ldso on powerpc
Signed-off-by: Felix Fietkau <nbd@openwrt.org>

SVN-Revision: 46313
9 years ago
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
9 years ago
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
9 years ago
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
9 years ago