aboutsummaryrefslogtreecommitdiffstats
path: root/toolchain/gcc/common.mk
Commit message (Collapse)AuthorAgeFilesLines
* toolchain: assign PKG_CPE_IDAlexander Couzens2023-09-271-0/+1
| | | | | | | | | The PKG_CPE_ID links to NIST CPE version 2.2. Assign PKG_CPE_ID to all remaining package which have a CPE ID. Not every package has a CPE id. Related: https://github.com/openwrt/packages/issues/8534 Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* toolchain: gcc: update to 12.3.0Nick Hainke2023-05-121-2/+2
| | | | | | | | | | | | | Release notes: https://gcc.gnu.org/gcc-12/changes.html Refresh patches: - 230-musl_libssp.patch - 910-mbsd_multi.patch - 920-specs_nonfatal_getenv.patch - 970-macos_arm64-building-fix.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchain: gcc: add support for GCC 13Nick Hainke2023-05-051-3/+7
| | | | | | | | | | | | | | | | | | | | | 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>
* toolchain/gcc: enable zstd supportAndre Heider2023-03-171-1/+4
| | | | | | | | | | | | | LTO object files will now be compressed using zstd. Compressing debug sections with zstd will have to wait for GCC 13, which adds support for -gz=zstd. NOTE: wiping the ccache is strongly recommended, not doing so might yield build error later on: "lto1: internal compiler error: original not compressed with zstd" Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/gcc: clean up CFLAGSAndre Heider2023-02-091-9/+13
| | | | | | | | | | | Instead of having two different ways to pass flags to the gcc build process, add them as configure args, which is a reliable way to let gcc pass them around to its various pieces. Also add CXXFLAGS, since gcc started to use c++ for itself recently (~10 years ago now). Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/gcc: use explicit configure argsAndre Heider2023-02-091-0/+2
| | | | | | | Spell out what we want to enable or disable. This prevents host libs to leak in, so everyone get the same feature set. Signed-off-by: Andre Heider <a.heider@gmail.com>
* toolchain/gcc: use STAGING_DIR_HOST instead of hardcoding defaultChristian Marangi2023-01-091-4/+4
| | | | | | | Use STAGING_DIR_HOST to reference staging host directory instead of hardcoding it to default path. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gcc: Fix GCC version checkHauke Mehrtens2023-01-091-1/+1
| | | | | | | | | | The version check which sets GCC_VERSION_FILE to the correct value only worked when the advanced options menu was active and not when it was not active. Thank you Tony Butler for the fix. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: gcc: Remove gcc 10.x supportHauke Mehrtens2022-10-231-4/+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-4/+0
| | | | | | This compiler is old and not used by OpenWrt for some time now. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* Revert "toolchain/gcc: use zstd from tools"Christian Marangi2022-09-271-1/+0
| | | | | | | This reverts commit e6cc3ded0709aa6c7a190c31575bb5c19e204cd2. Require more testing as it does cause compilation error. Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain/gcc: use zstd from toolsRosen Penev2022-09-271-0/+1
| | | | | | pkgconfig is not used for some reason. Match other used tools. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: gcc: improve patch handling by introducing major versionNick Hainke2022-09-111-1/+2
| | | | | | | | | | | Every minor version bump of a major version will result in a huge patch diff because of the moving of all the patches from version e.g. 11.2.0 to 11.3.0. This commit only use the major version for the patch folders to differentiate between the different gcc versions. This will significantly improve the reviewing of the smaller version bump patches and help to see what really changed in a minor version bump. Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchain: bump GCC 12 to 12.2.0Nick Hainke2022-08-281-2/+2
| | | | | | | | Refreshed patches: - 910-mbsd_multi.patch - 970-macos_arm64-building-fix.patch Signed-off-by: Nick Hainke <vincent@systemli.org>
* toolchaini/gcc: fix libstdc++ dual abi modelIvan Maslov2022-07-071-1/+1
| | | | | | | | | | libstdcxx-dual-abi needs to be enabled to actually support C++11 ABI. Enable the config flag to also permit support of .NET 6 development on OpenWrt. Signed-off-by: Ivan Maslov <avenger_msoft@mail.ru> [ reword commit description and title ] Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
* toolchain: add support for GCC 12Rui Salvaterra2022-06-011-2/+12
| | | | | | | | | | | | | | | | 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: bump GCC 11 to 11.3.0Rui Salvaterra2022-06-011-2/+2
| | | | | | Remove an upstreamed patch and rebase all remaining patches. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* toolchain/gcc: use ELFv2 ABI on ppc64 with muslStijn Tintel2021-12-211-0/+1
| | | | | | | | | | | | | | At configuration time, gcc assumes that ppc64be targets use the ELFv1 ABI, and ppc64le targets use the ELFv2 ABI. However, musl libc does not support the ELFv1 ABI on ppc64 at all, regardless of the endianness. Therefore, when building for a ppc64 arch and with musl libc, instruct gcc to use the ELFv2 ABI. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93157 for more info. Signed-off-by: Stijn Tintel <stijn@linux-ipv6.be> Reviewed-by: Rui Salvaterra <rsalvaterra@gmail.com>
* 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>
* build: remove GCC9 supportPaul Spooren2021-09-191-4/+0
| | | | | | | | | | | | gcc9 was never used within a release and the development branch is already on version 10, no need to keep this in tree. 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: Stijn Tintel <stijn@linux-ipv6.be> Acked-by: Aleksander Jan Bajkowski <A.Bajkowski@stud.elka.pw.edu.pl>
* toolchain/gcc: bump gcc 11 to 11.2Rui Salvaterra2021-08-081-2/+2
| | | | | | Patches automatically refreshed. Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
* toolchain: add gcc 11 versionAnsuel Smith2021-07-171-0/+4
| | | | | | | | | | | 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: Update to version 10.3.0Hauke Mehrtens2021-04-111-2/+2
| | | | Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/libstdcpp: disable dual ABI and default to newRosen Penev2021-01-261-1/+3
| | | | | | | | | | | | | | | | | | | | | | | GCC 5.1 changed the std::string ABI in order to properly support C++11. For compatibility with libraries compiled with the older ABI, that is, linking between old-abi.so and new-abi.bin, both ABIs are enabled. In terms of OpenWrt, all packages are compiled with the same toolchain, which means these issues do not need to be handled. Most importantly, this results in a significant size reduction of libstdpp: Before: 450794 bytes After: 327752 bytes Tested with all OpenWrt packages. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: gcc: Remove support for GCC 5Hauke Mehrtens2020-12-161-4/+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: Update GCC 10 to version 10.2.0DENG Qingfang2020-08-311-2/+2
| | | | Signed-off-by: DENG Qingfang <dengqf6@mail2.sysu.edu.cn>
* toolchain/gcc: Add GCC 10.1.0 configSyrone Wong2020-07-111-0/+4
| | | | | | | | 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/+1
| | | | | | | | | | | | | | | 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>
* toolchain/gcc: eliminate uClibc atexit hackRosen Penev2020-04-261-9/+2
| | | | | | | | This seems to be over 10 years old. It doesn't seem to be needed anymore. Tested on malta with uClibc (selected BROKEN). Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain/gcc: remove uclibc hackRosen Penev2020-04-131-3/+0
| | | | | | | | | | | | This was introduced with 014d3b98b96872d020ffccf0358ba60967b3f1c0 , which is almost 10 years old. uClibc-ng does not suffer from this problem. Note that this hack prevents libstdc++ from using C++11 math functions. Tested by removing all of the mpd patches designed to fix this and compiling. Signed-off-by: Rosen Penev <rosenp@gmail.com>
* toolchain: Update GCC 9 to version 9.3.0Hauke Mehrtens2020-03-181-2/+2
| | | | | | The removed patch is included in GCC 9.3.0. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: Update GCC 8 to version 8.4.0Hauke Mehrtens2020-03-181-2/+2
| | | | | | The removed patch is included in GCC 8.4.0. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain/gcc: correct the check expr for newer clangYorkie Liu2019-12-231-1/+1
| | | | | | | This fixes gcc build error within clang 11.0, it tweaks the version string from LLVM to clang. Signed-off-by: Yorkie Liu <yorkiefixer@gmail.com>
* toolchain/gcc: bump to 7.5.0Koen Vandeputte2019-11-191-2/+2
| | | | | | | This updates the GCC to the next minor release which fixes +213 bugs. Tested on ARMv6, ARMv7, MIPS R2, x86 Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* gcc: Update gcc 9.X to version 9.2.0Hauke Mehrtens2019-08-191-2/+2
| | | | | | | This updates the GCC version 9.X to version 9.2.0. The removed patches are applied upstream. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* toolchain: Add GCC 9.1.0 releaseJoseph Benden2019-06-161-0/+4
| | | | | | | | | | | | | 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>
* replace links towards lede-project.org with openwrt.orgAlexander Couzens2019-06-111-1/+1
| | | | | | | Modify VERSION_SUPPORT_URL VERSION_REPO Replace BUGS variable in toolchain/gcc/common.mk Signed-off-by: Alexander Couzens <lynxis@fe80.eu>
* toolchain: ARM: Fix option conflict with multiarchBoris Krasnovskiy2019-03-251-0/+5
| | | | | | | | | | | | This problem exposed when compiling glibc, but applicable across the board. gcc compiles runtime libraries for all supported architectures, unless otherwise specified, and later selects applicable library based -m[arch,cpu,*] options, thus these options should not be passed to gcc as they break the compilation process. Signed-off-by: Boris Krasnovskiy <borkra@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [modified so it only touches ARM - I'm too chicken, changed authors email]
* toolchain: ARM: Fix toolchain compilation for gcc 8.xBoris Krasnovskiy2019-03-251-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | Set the toolchain's ARM CPU and FPU architectures by utilizing' gcc's --with-cpu / --with-fpu configure options that: "Specify which cpu variant the compiler should generate code for by default. cpu will be used as the default value of the -mcpu= switch." This will resolve the following kernel compilation failures under gcc 8.x on ARM because the kernel wants to set (possibly conflicting) optimization flags. .../ccyVnmrs.s:204: Error: selected processor does not support `dmb ish' in ARM mode .../ccyVnmrs.s:215: Error: architectural extension `mp' is not allowed for the current base architecture .../ccyVnmrs.s:216: Error: selected processor does not support `pldw [r4]' in ARM mode Because this is a big change, the .config and toolchain need to be refreshed (as in removed and regenerated). Reported-by: Ansuel Smith <ansuelsmth@gmail.com> Reported-by: Daniel Engberg <daniel.engberg.lists@pyret.net> [#1203] Signed-off-by: Boris Krasnovskiy <borkra@gmail.com> Signed-off-by: Christian Lamparter <chunkeey@gmail.com> [extended commit message, removed now-deprecated CPU_CFLAGS, changed author to gmail address]
* toolchain: Remove GCC 7.1 for ARC targetsDaniel Engberg2019-03-201-10/+0
| | | | | | Remove GCC 7.1 for ARC targets Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* toolchain: Update to GCC 8.3.0Daniel Engberg2019-02-261-2/+2
| | | | | | | | | 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: Remove workaround for GCC 4.8Daniel Engberg2019-02-261-5/+2
| | | | | | GCC 4.8 was removed a long time ago... Signed-off-by: Daniel Engberg <daniel.engberg.lists@pyret.net>
* gcc: update to version 7.4.0Hauke Mehrtens2018-12-151-2/+2
| | | | | | | | This updates the GCC to the next minor release which fixes 178 bugs. The two removed patches are included in gcc 7.4.0 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
* toolchain/gcc: update 8.x to 8.2.0Syrone Wong2018-08-201-2/+2
| | | | | | 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>
* toolchain/gcc: add GCC 8.1.0Syrone Wong2018-07-221-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-5/+0
| | | | | | It is obsoleted by gcc 7 Signed-off-by: Felix Fietkau <nbd@nbd.name>
* toolchain: gcc: update 7.x to 7.3.0Hauke Mehrtens2018-01-271-2/+2
| | | | | | This version still generates broken code in our setup for MIPS. Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
* build: cleanup SSP_SUPPORT configure optionJulien Dusser2018-01-271-1/+1
| | | | | | | | | | | | | | | | | | 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/+10
| | | | | | | | | | 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>