Commit Graph

524 Commits

Author SHA1 Message Date
Weijie Gao
c5946c0724 toolchain/gcc: fix loongarch64 ldso file name
GCC has changed musl dynamic linker name from
ld-musl-loongarch-lp64d.so.1 to ld-musl-loongarch64.so.1 recently [1].

Meanwhile musl 1.2.5 only supports the new name. So it's better to follow
the new name.

[1] https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=8bccee51f0deac64b79cd9ad75df599422f4c8ff

Signed-off-by: Weijie Gao <hackpascal@gmail.com>
2024-05-04 14:12:56 +08:00
Robert Marko
12b2cb2ec3 config: fix CONFIG_GDB appearing in main menuconfig menu
I noticed that CONFIG_GDB was suddenly appearing in the main menuconfig
menu despite the fact that it should be visible only when TOOLCHAINOPTS
is selected and under a dedicated menu.

After some trial and error, it seems that this was caused by the recent
addition of GCC_USE_DEFAULT_VERSION, and after even more trial and error
it gets fixed as soon GCC_USE_DEFAULT_VERSION is placed after GCC_VERSION.

So, lets simply put GCC_USE_DEFAULT_VERSION after GCC_VERSION.

Fixes: 501ef81040 ("config: select KERNEL_WERROR if building with default GCC version")
Signed-off-by: Robert Marko <robimarko@gmail.com>
2024-04-09 19:30:41 +02:00
Daniel Golle
501ef81040 config: select KERNEL_WERROR if building with default GCC version
At the moment we have to manually follow the default GCC version
also in config/Config-kernel.in. This tends to be forgotten at GCC
version bumps (just happened when switching from version 12 to 13).
Instead, introduce a hidden Kconfig symbol which implies KERNEL_WERROR
in toolchain/gcc/Config.in where it is visible for developers changing
the default version.

Also remove the explicit default on BUILDBOT to avoid a circular
dependency and also because buildbots anyway implicitly always select
the default GCC version.

Reference: https://github.com/openwrt/openwrt/pull/15064
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
2024-04-08 01:40:15 +01:00
Georgi Valkov
631014d9b0 toolchain/gcc: fix build errors on macOS with Xcode 15.3
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__locale:550:5: error: '__abi_tag__' attribute only applies to structs, variables, functions, and namespaces
    _LIBCPP_INLINE_VISIBILITY
    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:891:37: note: expanded from macro '_LIBCPP_INLINE_VISIBILITY'
 #  define _LIBCPP_INLINE_VISIBILITY _LIBCPP_HIDE_FROM_ABI
                                    ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/v1/__config:870:26: note: expanded from macro '_LIBCPP_HIDE_FROM_ABI'
          __attribute__((__abi_tag__(_LIBCPP_TOSTRING(_LIBCPP_ODR_SIGNATURE))))

Fixed using backport of upstream commits [1-2] as discussed here
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111632#c21

[1] Include safe-ctype.h after C++ standard headers, to avoid over-poisoning
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=9970b576b7e4ae337af1268395ff221348c4b34a

[2] libcc1: fix <vector> include
https://gcc.gnu.org/git/?p=gcc.git;a=commit;h=5213047b1d50af63dfabb5e5649821a6cb157e33

Signed-off-by: Georgi Valkov <gvalkov@gmail.com>
2024-04-02 11:10:32 +02:00
Nick Hainke
8753022aea toolchain: gcc: switch default to 13
Use GCC 13 instead of GCC 12 by default.

All target kernels are building with GCC 13.
Most packages from the feed are building fine.

The root file systems is getting a little bit smaller for MIPS 32 BE
and aarch64.

With GCC 12 I got these sizes for lantiq/xrx200:
7,005,867 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin

With GCC 13 I got these sizes for lantiq/xrx200:
6,989,754 openwrt-lantiq-xrx200-tplink_tdw8970-initramfs-kernel.bin

With GCC 12 I got these sizes for armsr/armv8:
13,083,836 openwrt-armsr-armv8-generic-ext4-combined.img.gz
 4,900,240 openwrt-armsr-armv8-generic-ext4-rootfs.img.gz
20,142,592 openwrt-armsr-armv8-generic-kernel.bin

With GCC 13 I got these sizes for armsr/armv8:
13,068,966 openwrt-armsr-armv8-generic-ext4-combined.img.gz
 4,893,078 openwrt-armsr-armv8-generic-ext4-rootfs.img.gz
20,142,592 openwrt-armsr-armv8-generic-kernel.bin

Signed-off-by: Nick Hainke <vincent@systemli.org>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2024-03-23 23:47:29 +01:00
Christian Marangi
28420cd67b
scripts/ext-toolchain: implement external GCC version detection
Some package may needs to enable compatibility option based on the GCC
version.

Currently the GCC version is set based on the default value and doesn't
actually reflect the real value provided by the external toolchain if
used.

Fix this by correctly detecting the GCC version in the external
toolchain and set the correct value in CONFIG_GCC_VERSION.

A new option is added in menuconfig to manually set the GCC version if
needed.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-10-20 16:13:31 +02:00
Alexander Couzens
bcf02c5d31
toolchain: assign PKG_CPE_ID
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>
2023-09-19 20:22:59 +02:00
Nick Hainke
df47decd60 toolchain: gcc: updat to 13.2
Release Notes:
https://gcc.gnu.org/pipermail/gcc/2023-July/242148.html

Remove upstreamed patches:
- patches-13.x/001-rtl-optimization-109585-alias-analysis-typo.patch
- patches-13.x/700-RISCV-Inline-subword-atomic-ops.patch
- patches-13.x/701-riscv-linux-Don-t-add-latomic-with-pthread.patch

Refresh patches:
- patches-13.x/10-mbsd_multi.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-07-30 13:06:56 +02:00
Tianling Shen
7b4a966de8 toolchain: gcc: backport inline subword atomic support for riscv
RISC-V has no support for subword atomic operations; code currently
generates libatomic library calls.

This patch changes the default behavior to fast inline subword atomic
calls that do not require libatomic.

Signed-off-by: Tianling Shen <cnsztl@immortalwrt.org>
2023-06-11 17:09:06 +02:00
Nick Hainke
8d2ab0fac6
toolchain: gcc: update to 12.3.0
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>
2023-05-12 12:11:20 +02:00
Nick Hainke
a6d689632c
toolchain: gcc: backport patch for gcc 13 fixing access path analysis
While improving access path analysis a typo happened. Now it can happen
that gcc misscompiles. The patch is fixing the issue. However, also
other gcc versions 10.2+ are affected. They also should be bumped or the
fix should be backported.

For more bug information have a look at:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109585

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-05-05 15:46:38 +02:00
Nick Hainke
29128b0bd4
toolchain: gcc: add support for GCC 13
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>
2023-05-05 15:46:37 +02:00
Nick Hainke
1e88a16248
toolchain: gcc: copy patches from 12.x to 13.x
This simplifies the gcc bump patch review.

Signed-off-by: Nick Hainke <vincent@systemli.org>
2023-05-05 15:46:34 +02:00
Andre Heider
acc8c2d829
toolchain/gcc: enable zstd support
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>
2023-03-17 02:08:25 +01:00
Andre Heider
7ae4716243 toolchain: remove installing twice in the "initial" subdir
This was apparently introduced to recreate the toolchain (wipe
staging_dir/toolchain*, but keep build_dir/toolchain*, followed by a
`make toolchain/compile`).

But it leaves leftovers and causes re-links to happen at src_install phase,
because of the changed paths, possibly adding yet another source of issues.

With the prior commits removing various hacks related to the "initial"
folder we can remove installing it twice altogether.

The recreated toolchain is exactly the same as before.

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-02-19 19:44:39 +01:00
Andre Heider
4d384d28e4 toolchain/musl: remove libgcc_initial hack
This reverts r15599 [0].

This was added to fix an uclibc rebuild issue, but since uclibc
isn't supported anymore [Fixes:] this can be removed.

[0] https://git.openwrt.org/?p=openwrt/svn-archive/archive.git;a=commitdiff;h=016a052efeee6bc2da3f501a8c66b5aea20350b4

Fixes: 63fb1752 "toolchain: remove uClibc-ng"
Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-02-19 19:44:39 +01:00
Andre Heider
eb093c5174 toolchain/gcc: remove glibc libgcc_eh hack
A modern glibc only links against libgcc_eh for its tests or when building it
static, which doesn't happen here.

Reverts a hunk of: a3edea1b "add support for alternative C libraries..."

Signed-off-by: Andre Heider <a.heider@gmail.com>
2023-02-19 19:44:39 +01:00
Andre Heider
ad564cb019
toolchain/gcc: clean up CFLAGS
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>
2023-02-09 02:53:35 +01:00
Andre Heider
4b8b89da50
toolchain/gcc: use explicit configure args
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>
2023-02-09 02:53:35 +01:00
Tony Butler
8bc72ea7be treewide: strip useless default n Kconfig lines
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>
2023-02-03 12:50:15 +01:00
Christian Marangi
9590e1155d
toolchain/gcc: use STAGING_DIR_HOST instead of hardcoding default
Use STAGING_DIR_HOST to reference staging host directory instead of
hardcoding it to default path.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:33:19 +01:00
Christian Marangi
9988832c46
toolchain/gcc: fix broken gcc version selection
Config evaluation require default with if to be put before the generic
default config with no condition. Putting the default config before any
conditional default results in always selecting the non conditional one.

This results in the version be hardcoded to gcc 12 even if gcc 11 is
selected in the Advanced build options.

Fix this by putting the gcc 12 default option as last after ANY
conditional default config.

Fixes: d9de5252a4 ("toolchain/gcc: switch to version 12 by default")
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2023-01-09 21:25:30 +01:00
Hauke Mehrtens
d9de5252a4 toolchain/gcc: switch to version 12 by default
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>
2023-01-09 00:23:41 +01:00
Hauke Mehrtens
a58b29ded7 toolchain/gcc: Fix GCC version check
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>
2023-01-09 00:23:41 +01:00
Hauke Mehrtens
a9b2b4ddc4 toolchain: gcc: backport patches to fix build with glibc 2.36
glibc 2.36 changed the definition of enum fsconfig_command, it now
collides with the same definition from sys/mount.h. Remove the include
of linux/fs.h This still compiled with musl too.

This backports a patch which is already in the stable branch of GCC 11
and GCC 12.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-12-21 11:35:32 +01:00
Hauke Mehrtens
9db3caa749 toolchain: gcc: Remove gcc 10.x support
This compiler is old and was never used by default in OpenWrt.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-10-23 22:53:33 +02:00
Hauke Mehrtens
a14544d1bb toolchain: gcc: Remove gcc 8.x support
This compiler is old and not used by OpenWrt for some time now.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2022-10-23 22:53:33 +02:00
Christian Marangi
b51c52533b
Revert "toolchain/gcc: use zstd from tools"
This reverts commit e6cc3ded07.
Require more testing as it does cause compilation error.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
2022-09-27 23:18:37 +02:00
Rosen Penev
e6cc3ded07
toolchain/gcc: use zstd from tools
pkgconfig is not used for some reason. Match other used tools.

Signed-off-by: Rosen Penev <rosenp@gmail.com>
2022-09-27 16:38:14 +02:00
Nick Hainke
d7382cc0e4
toolchain: gcc: improve patch handling by introducing major version
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>
2022-09-11 11:24:57 +02:00
Nick Hainke
fac1f38d75 toolchain: bump GCC 12 to 12.2.0
Refreshed patches:
- 910-mbsd_multi.patch
- 970-macos_arm64-building-fix.patch

Signed-off-by: Nick Hainke <vincent@systemli.org>
2022-08-28 18:29:10 +02:00
Ivan Maslov
3c06a344e9
toolchaini/gcc: fix libstdc++ dual abi model
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>
2022-07-07 13:55:32 +02:00
Rui Salvaterra
c4bd303086 toolchain: add support for GCC 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>
2022-06-01 14:59:49 +02:00
Rui Salvaterra
f4cdef2191 toolchain: bump GCC 11 to 11.3.0
Remove an upstreamed patch and rebase all remaining patches.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2022-06-01 13:46:31 +02:00
Stijn Tintel
6e2556963d toolchain/gcc: use ELFv2 ABI on ppc64 with musl
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>
2021-12-21 21:35:29 +02:00
Ilya Lipnitskiy
f30e6d98fa toolchain/gcc: refresh gcc-11.2.0 patch
Run make toolchain/gcc/minimal/refresh (with glibc, with musl
toolchain/gcc/{initial,final}/refresh don't work)

Fixes: ab241e0937 ("toolchain/gcc: fix build on MacOS arm64")

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-12-17 15:10:22 +01:00
Ilya Lipnitskiy
0dca1060fd toolchain/gcc: replace revert with upstream fix
This will make upgrade to v11.3.0 easier and follows upstream more
closely.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-12-17 15:10:22 +01:00
Ilya Lipnitskiy
475b366a5b toolchain/gcc: remove upstreamed patch, add backport
This patch has been upstream since GCC 10.
Dragan Mladjenovic (2):
      Emit .note.GNU-stack for soft-float linux targets.
      Emit .note.GNU-stack for hard-float linux targets.

Link: https://gcc.gnu.org/g:a3c1e1f2ff88
Link: https://gcc.gnu.org/g:54b3d52c3cca

Add backport patch to define TARGET_LIBC_GNUSTACK on musl to add
.note.GNU-stack on hard-float MIPS targets.

Link: https://gcc.gnu.org/g:25abbb924968

The net effect should be the exact same functionality while following
upstream code instead of a custom outdated patch.

Signed-off-by: Ilya Lipnitskiy <ilya.lipnitskiy@gmail.com>
2021-12-17 15:10:22 +01:00
Sergey V. Lobanov
ab241e0937 toolchain/gcc: fix build on MacOS arm64
Added patch for GCC to fix compilation issues on MacOS arm64

The original commit message from Przemysław Buczkowski:

GCC: Patch for Apple Silicon compatibility

This patch fixes a linker error occuring when compiling
the cross-compiler on macOS and ARM64 architecture.

Adapted from:
https://github.com/richfelker/musl-cross-make/issues/116#issuecomment-823612404

Signed-off-by: Sergey V. Lobanov <sergey@lobanov.in>
2021-12-02 14:43:41 +01:00
Felix Fietkau
0c249ab076 toolchain/gcc: revert a faulty upstream commit that caused miscompiled code
This broke at least the OKLI loader, but possibly other things as well

Signed-off-by: Felix Fietkau <nbd@nbd.name>
2021-11-16 10:48:45 +01:00
Paul Spooren
da5bb885e1 toolchain/gcc: switch to version 11 by default
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>
2021-09-21 22:07:36 -10:00
Paul Spooren
753f2f1eaa toolchain/gcc: cleanup gcc9 config option
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>
2021-09-21 15:10:25 -10:00
Paul Spooren
62ed1af15d build: remove GCC7 support
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>
2021-09-19 11:26:00 -10:00
Paul Spooren
244847dae9 build: remove GCC9 support
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>
2021-09-19 11:21:02 -10:00
Stijn Tintel
6d0cefcf42 toolchain/gcc: switch to version 10 by default
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>
2021-08-18 20:48:53 +03:00
Rui Salvaterra
0af0ec1b7d toolchain/gcc: bump gcc 11 to 11.2
Patches automatically refreshed.

Signed-off-by: Rui Salvaterra <rsalvaterra@gmail.com>
2021-08-08 19:50:46 +02:00
Ansuel Smith
0f499372c0 toolchain: add gcc 11 version
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>
2021-07-17 19:12:11 +02:00
Hauke Mehrtens
acb0788b8e toolchain: gcc: Update to version 10.3.0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
2021-04-11 23:01:30 +02:00
Rosen Penev
01e4274c21 toolchain/libstdcpp: disable dual ABI and default to new
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>
2021-01-26 15:23:06 -10:00
Hauke Mehrtens
080dc619d4 toolchain: gcc: Remove support for GCC 5
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>
2020-12-16 22:11:16 +01:00