aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/Config.in
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: gcc: add support for GCC 13Nick Hainke2023-05-051-0/+3
| | | | | | | | | | | | | | | | | | | | | Release Notes: https://gcc.gnu.org/pipermail/gcc-announce/2023/000175.html Manually Refreshed: - 910-mbsd_multi.patch - 970-macos_arm64-building-fix.patch Automatically Refreshed: - 010-documentation.patch - 230-musl_libssp.patch - 300-mips_Os_cpu_rtx_cost_model.patch - 820-libgcc_pic.patch - 840-armv4_pass_fix-v4bx_to_ld.patch - 850-use_shared_libgcc.patch - 870-ppc_no_crtsavres.patch - 920-specs_nonfatal_getenv.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* treewide: strip useless `default n` Kconfig linesTony Butler2023-02-031-5/+0
| | | | | | | | | | Kconfig docs say: > The default value deliberately defaults to 'n' in order to avoid > bloating the build. Apply this rule everywhere, to avoid more cloning of bad examples Signed-off-by: Tony Butler <spudz76@gmail.com>
* toolchain/gcc: switch to version 12 by defaultHauke Mehrtens2023-01-091-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was build tested with all core packages on all targets successfully. Most packages from the feed are also building fine. This was run tested on the following systems: * lantiq/xrx200 musl * pistachio/generic musl * sunxi/cortexa53 musl * x86/64 musl * x86/64 glibc * armvirt/64 musl The size of the images stays more or less the same for MIPS BE and aarch64. I haven't tested other architectures. With GCC 11 I got these sizes for lantiq/xrx200: 7,219,848 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin 7,472,208 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin With GCC 12 I got these sizes for lantiq/xrx200: 7,217,355 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin 7,406,674 openwrt-lantiq-xrx200-tplink_tdw8970-squashfs-sysupgrade.bin The sysupgrade image is probably padded. The initramfs image is 0.03% smaller. With GCC 11 I got these sizes for armvirt/64: 4,143,943 openwrt-armvirt-64-default-rootfs.tar.gz 10,887,176 openwrt-armvirt-64-Image 24,911,880 openwrt-armvirt-64-Image-initramfs 4,141,572 openwrt-armvirt-64-rootfs.cpio.gz 4,255,854 openwrt-armvirt-64-rootfs-ext4.img.gz 3,391,178 openwrt-armvirt-64-rootfs-squashfs.img.gz With GCC 12 I got these sizes for armvirt/64: 4,142,778 openwrt-armvirt-64-default-rootfs.tar.gz 10,887,176 openwrt-armvirt-64-Image 24,911,880 openwrt-armvirt-64-Image-initramfs 4,138,105 openwrt-armvirt-64-rootfs.cpio.gz 4,255,463 openwrt-armvirt-64-rootfs-ext4.img.gz 3,390,390 openwrt-armvirt-64-rootfs-squashfs.img.gz Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove gcc 10.x supportHauke Mehrtens2022-10-231-3/+0
| | | | | | This compiler is old and was never used by default in OpenWrt. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove gcc 8.x supportHauke Mehrtens2022-10-231-3/+0
| | | | | | This compiler is old and not used by OpenWrt for some time now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: add support for GCC 12Rui Salvaterra2022-06-011-0/+3
| | | | | | | | | | | | | | | | GCC 12.1 is out. Add support for it. Deleted (upstreamed): 011-v12-configure-define-TARGET_LIBC_GNUSTACK-on-musl.patch 931-libffi-fix-MIPS-softfloat-build-issue.patch Deleted (unneeded?) 970-macos_arm64-building-fix.patch Other patches manually rebased due to C++ conversion and consequent file name changing (.c to .cc). Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* toolchain/gcc: switch to version 11 by defaultPaul Spooren2021-09-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | gcc10 seem to increase build size and gcc11 seem to fix that. Compile tests: * all Runtime tests: * ath79 * mpx85xx/p2020 * mvebu * x86/64 Special thanks to Rosen for fixing layerscape & bcm63xx Signed-off-by: Paul Spooren <mail@aparcar.org> Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com Acked-by: Rosen Penev <rosenp@gmail.com> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl> Tested-by: Pawel Dembicki <paweldembicki@gmail.com> Tested-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* toolchain/gcc: cleanup gcc9 config optionPaul Spooren2021-09-211-3/+0
| | | | | | | This line should have been removed in 244847da "build: remove GCC9 support" but stayed in tree after an incomplete rebase. Fix it. Signed-off-by: Paul Spooren <mail@aparcar.org>
* build: remove GCC7 supportPaul Spooren2021-09-191-4/+0
| | | | | | | | | | | The development branch is now on version 10, we shouldn't drag to many old versions and therefore drop at least 7.x. Signed-off-by: Paul Spooren <mail@aparcar.org> Acked-by: Rosen Penev <rosenp@gmail.com> Acked-by: Rui Salvaterra <rsalvaterra@gmail.com> Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* toolchain/gcc: switch to version 10 by defaultStijn Tintel2021-08-181-1/+1
| | | | | | | | | | | | | | | Runtime-tested on: * ath79 * bcm27xx/bcm2708 * bcm27xx/bcm2709 * bcm27xx/bcm2711 * mvebu/cortexa53 * octeon * realtek * x86/64 Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: add gcc 11 versionAnsuel Smith2021-07-171-0/+3
| | | | | | | | | | | Add gcc 11 version. Same patches of gcc 10. Build tested on: ipq806x ipq807x Run tested on: ipq806x ipq807x Signed-off-by: Ansuel Smith <ansuelsmth@gmail.com> [refresh patches] Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove support for GCC 5Hauke Mehrtens2020-12-161-5/+0
| | | | | | | | | | | | GCC was used in 17.01 as the default compiler the last time. We do not test this old GCC version any more and there are some known problems it fails to compile the U-Boot for the Allwinner A64 SoC. Just remove it to make it clear that we will not support this old GCC version any more. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Acked-by: Paul Spooren <mail@aparcar.org>
* toolchain/gcc: Add GCC 10.1.0 configSyrone Wong2020-07-111-0/+3
| | | | | | | | Add needed config changes and tarball hash for new GCC version. Signed-off-by: Syrone Wong <wong.syrone@gmail.com> [added missing commit description] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* toolchain: remove gcc libssp and use libc variantIan Cooper2020-06-171-8/+0
| | | | | | | | | | | | | | | Removes the standalone implementation of stack smashing protection in gcc's libssp in favour of the native implementation available in glibc and uclibc. Musl libc already uses its native ssp, so this patch does not affect musl-based toolchains. Stack smashing protection configuration options are now uniform across all supported libc variants. This also makes kernel-level stack smashing protection available for x86_64 and i386 builds using non-musl libc. Signed-off-by: Ian Cooper <iancooper@hotmail.com>
* build: fix menuconfig submenu sorting for gcc optionsFelix Fietkau2019-10-111-5/+0
| | | | | | | The hidden symbol GCC_USE_IREMAP was breaking it, move it to Config.version instead Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/gcc: switch to version 8 by defaultPaul Spooren2019-10-091-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Main motivation for this commit is the introduction of `-ffile-prefix-map=` which alows reproducible build path. Compile tested on Linux and macOS without errors on the following targets: * ath79 * imx6 * brcm2708 * brcm63xx * ixp4xx * ramips * sunxi * x86 Thanks to Andre for the iremap fixup. Ref: https://reproducible-builds.org/docs/build-path/ Tested-by: Andre Heider <a.heider@gmail.com> Tested-by: Kevin Darbyshire-Bryant <ldir@darbyshire-bryant.me.uk> Signed-off-by: Paul Spooren <mail@aparcar.org> [refactored into separate commit] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* toolchain,build: prefer -ffile-prefix-map for gcc-8+Paul Spooren2019-10-091-0/+5
| | | | | | | | | | | -ffile-prefix-map=OLD=NEW is an alias for both -fdebug-prefix-map and -fmacro-prefix-map and is available since GCC 8. Co-Developed-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Andre Heider <a.heider@gmail.com> Signed-off-by: Paul Spooren <mail@aparcar.org> [refactored into separate commit] Signed-off-by: Petr Štetiar <ynezz@true.cz>
* toolchain: Add GCC 9.1.0 releaseJoseph Benden2019-06-161-0/+3
| | | | | | | | | | | | | Most of the patches are copied over from GCC 8.3. The following patches are backported from the GCC 9.X development branch: toolchain/gcc/patches/9.1.0/970-recompute-dom-fast-queries-before-vn.patch toolchain/gcc/patches/9.1.0/975-g++-ICE-with-generic-lambda.patch The specs file changed with gcc 9, now it contains "%@{L*}" instead of "%{L*}" in older GCC versions. Signed-off-by: Joseph Benden <joe@benden.us>
* toolchain: Remove GCC 7.1 for ARC targetsDaniel Engberg2019-03-201-5/+0
| | | | | | Remove GCC 7.1 for ARC targets Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Use GCC 8.3.0 by default for ARCDaniel Engberg2019-03-201-1/+1
| | | | | | | | Use GCC 8.3.0 by default for ARC targets Includes a fix by Evgeniy Didin which fixes GCC version selection if DEVEL isn't set Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Update to GCC 8.3.0Daniel Engberg2019-02-261-1/+0
| | | | | | | | | Update GCC to 8.3.0 Refresh patches Allow GCC to be used for ARC Source: https://github.com/openwrt/openwrt/pull/1803#issuecomment-462334890 Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain/gcc: add GCC 8.1.0Syrone Wong2018-07-221-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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: https://github.com/gcc-mirror/gcc/commit/3fa2798aa887d141d86985240f03e2f3809e7e62 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: https://github.com/gcc-mirror/gcc/commit/87b2d547f8ac9778d66909b8726fe967d1efbc74 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: https://github.com/gcc-mirror/gcc/commit/859b51f83662d01e4f158ea9327db9ca37fe70b3 -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>
* gcc: remove support for version 6.3.0Felix Fietkau2018-06-051-4/+0
| | | | | | It is obsoleted by gcc 7 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/gcc: switch to version 7 by defaultFelix Fietkau2018-03-121-2/+1
| | | | | | | | | | | | | | | Newer GCC versions are reported to improve code size on various ARM devices, which is why newer u-boot versions require them now. There have also been user reports of data corruption issues fixed on MIPS by updating from GCC 5 to GCC 7. This update was previously held up by these two MIPS compile issues, which have since been fixed: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83496 https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84790 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/gcc: use version 7.x for x86 by defaultFelix Fietkau2018-02-211-0/+1
| | | | | | | This is needed for retpoline support, which mitigates the spectre attacks. Signed-off-by: Felix Fietkau <nbd@nbd.name>
* build: cleanup SSP_SUPPORT configure optionJulien Dusser2018-01-271-2/+2
| | | | | | | | | | | | | | | | | | 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>
* toolchain: add gcc configure default PIE and SSPJulien Dusser2018-01-271-0/+15
| | | | | | | | | | 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>
* toolchain/arc: update to the most recent release arc-2017.09Evgeniy Didin2018-01-271-4/+4
| | | | | | | | | | | | | | | 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>
* gcc: remove support for libgcj/javaFelix Fietkau2017-11-021-8/+0
| | | | | | It has been removed in gcc 7 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/arc: update to the most recent release arc-2017.03Evgeniy Didin2017-07-181-4/+4
| | | | | | | | | | 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>
* toolchain: add gcc 7.1.0 supportFelix Fietkau2017-05-251-0/+4
| | | | Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain/arc: update to the most recent release arc-2016.09Alexey Brodkin2017-05-021-6/+5
| | | | | | | | | | | | | | | | | | 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>
* toolchain: remove ppl/cloog, disable graphite for gcc 4.8Felix Fietkau2016-12-241-6/+1
| | | | | | | | 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>
* gcc: optionally build gccgo compilerMatteo Croce2016-08-111-0/+8
| | | | | | Tested with eglibc on x86 and armv7 so far Signed-off-by: Matteo Croce <matteo.croce@canonical.com>
* toolchain/gcc: add 6.1.0Syrone Wong2016-07-151-0/+4
| | | | | | | | | | | -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]
* toolchain: get rid of GCC_VERSION_5 config symbolFelix Fietkau2016-07-151-1/+0
| | | | | | Replace it with !GCC_VERSION_4_8 to be more future compatible Signed-off-by: Felix Fietkau <nbd@nbd.name>
* gcc: drop version 4.8-linaroFelix Fietkau2016-01-201-5/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 48395
* gcc: switch to 5.2.0 by defaultFelix Fietkau2015-11-171-2/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47492
* tools: add isl (used for graphite on GCC 5)Felix Fietkau2015-11-131-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47464
* gcc: remove version 4.6, it is no longer neededFelix Fietkau2015-11-101-5/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47443
* gcc: use version 5.x for octeon instead of 4.6 - it has been tested with glibcFelix Fietkau2015-11-101-1/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 47441
* toolchain: add support of ARC architectureFelix Fietkau2015-11-101-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* gcc: remove version 4.9-linaroFelix Fietkau2015-09-061-5/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46798
* gcc: add ARM codegen fix from PR 65932Felix Fietkau2015-09-031-1/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46774
* toolchain: gcc: add gcc 5.2.0Hauke Mehrtens2015-08-161-0/+5
| | | | | | | | This was boot tested on mipsel32, arm32 and x86 only. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> SVN-Revision: 46611
* gcc/musl: rework SSP-supportSteven Barth2015-06-221-1/+2
| | | | | | | | | | | 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
* toolchain: mark gcc 4.9 as broken, it miscompiles some code especially on ARMFelix Fietkau2015-06-211-0/+1
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 46089
* hardening: enable regular SSP support by defaultSteven Barth2015-06-171-1/+1
| | | | | | Signed-off-by: Steven Barth <steven@midlink.org> SVN-Revision: 46020
* gcc: remove 4.4.7 (only used by avr32)Felix Fietkau2015-03-241-6/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 44957
* gcc: remove version 4.8.0Felix Fietkau2014-10-051-4/+0
| | | | | | Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 42777