Message ID | 20210815105119.3035569-1-stijn@linux-ipv6.be |
---|---|
Headers | show |
Series | use binutils 2.36.1 and gcc 10 by default | expand |
Thank you Stijn for taking care of this toolchain upgrade and Rosen for preparing it. On 8/15/21 12:51 PM, Stijn Tintel wrote: > Since 21.02 has been branched, it's a good time to switch master to a > more recent toolchain by default. I have been test-driving binutils > 2.36.1 and gcc 10.3 for months on many different targets without issues. > > Additionally I've compile-tested x86/64 with CONFIG_ALL_PACKAGES=y, and > all packages in OpenWrt core build fine. Did you compile umbim on MIPS 32 bit? I think I only saw the warning on such systems. > The packages feed contains a few packages that will need to be fixed. > One of them is the perl package. Unfortunately, the perl package seems > to contain a bunch of undocumented patches that have either not been > accepted by upstream, or haven't been submitted upstream at all, so > I'll leave it up to the maintainer(s) and/or community to handle the > perl bump, as I do not use perl at all. > > Another package that doesn't build is gnupg (v1). Users are encouraged > to use gnupg2 instead. I suggest to drop gnupg v1 entirely. > > After many hours of fixing random breakage in the packages feed, many of > which not even caused by the GCC bump, I gave up and decided to just > send out this patch series. Did you create pull request for the packages which you fix? Someone can later fix the rest of them. ;-) Did you check if the size of some of our images changed? > > Stijn Tintel (6): > busybox: fix compilation with GCC 10 > umbim: fix compilation with GCC 10 > toolchain/binutils: switch to version 2.36.1 by default > toolchain/gcc: switch to version 10 by default > toolchain: drop GCC 9 > toolchain: drop binutils 2.35.1 I would prefer if we wait 1 months till we drop gcc 9 and binutils 2.35.1, if we see some problems with gcc 10 and the new binutils we can easily try the intermediate versions if they are still included. We can then remove gcc 7 and 9 and binutils 2.32 and 2.35.1. > > package/network/utils/umbim/patches/999-gcc10.patch | 13 +++++++++++++ > package/utils/busybox/Makefile | 3 --- > toolchain/binutils/Config.in | 6 +----- > toolchain/binutils/Config.version | 6 +----- > toolchain/gcc/Config.in | 5 +---- > toolchain/gcc/Config.version | 13 ++++--------- > 6 files changed, 20 insertions(+), 26 deletions(-) > create mode 100644 package/network/utils/umbim/patches/999-gcc10.patch > Hauke
On 15/08/2021 14:53, Hauke Mehrtens wrote: > Thank you Stijn for taking care of this toolchain upgrade and Rosen > for preparing it. Thanks for reviewing! > > On 8/15/21 12:51 PM, Stijn Tintel wrote: >> Since 21.02 has been branched, it's a good time to switch master to a >> more recent toolchain by default. I have been test-driving binutils >> 2.36.1 and gcc 10.3 for months on many different targets without issues. >> >> Additionally I've compile-tested x86/64 with CONFIG_ALL_PACKAGES=y, and >> all packages in OpenWrt core build fine. > > Did you compile umbim on MIPS 32 bit? I think I only saw the warning > on such systems. Compile-tested on ramips, my proposed change fixes the warning. > >> The packages feed contains a few packages that will need to be fixed. >> One of them is the perl package. Unfortunately, the perl package seems >> to contain a bunch of undocumented patches that have either not been >> accepted by upstream, or haven't been submitted upstream at all, so >> I'll leave it up to the maintainer(s) and/or community to handle the >> perl bump, as I do not use perl at all. >> >> Another package that doesn't build is gnupg (v1). Users are encouraged >> to use gnupg2 instead. I suggest to drop gnupg v1 entirely. >> >> After many hours of fixing random breakage in the packages feed, many of >> which not even caused by the GCC bump, I gave up and decided to just >> send out this patch series. > > Did you create pull request for the packages which you fix? Yes, see https://github.com/openwrt/packages/pulls :-) > > Someone can later fix the rest of them. ;-) > > Did you check if the size of some of our images changed? I did not. I can do that, but it'll take some time. I started regularly wiping build_dir/ staging_dir/ and tmp/ due to vague heisenbugs that kept appearing. > >> >> Stijn Tintel (6): >> busybox: fix compilation with GCC 10 >> umbim: fix compilation with GCC 10 >> toolchain/binutils: switch to version 2.36.1 by default >> toolchain/gcc: switch to version 10 by default >> toolchain: drop GCC 9 >> toolchain: drop binutils 2.35.1 > > I would prefer if we wait 1 months till we drop gcc 9 and binutils > 2.35.1, if we see some problems with gcc 10 and the new binutils we > can easily try the intermediate versions if they are still included. > > We can then remove gcc 7 and 9 and binutils 2.32 and 2.35.1. I will drop them for now. > >> >> package/network/utils/umbim/patches/999-gcc10.patch | 13 +++++++++++++ >> package/utils/busybox/Makefile | 3 --- >> toolchain/binutils/Config.in | 6 +----- >> toolchain/binutils/Config.version | 6 +----- >> toolchain/gcc/Config.in | 5 +---- >> toolchain/gcc/Config.version | 13 ++++--------- >> 6 files changed, 20 insertions(+), 26 deletions(-) >> create mode 100644 package/network/utils/umbim/patches/999-gcc10.patch >> Updated series at https://git.openwrt.org/?p=openwrt/staging/stintel.git;a=shortlog;h=refs/heads/gcc10 - shall I send a v2, or can we ack the series as is over there? Thanks, Stijn
On 8/15/21 2:00 PM, Stijn Tintel wrote: > On 15/08/2021 14:53, Hauke Mehrtens wrote: >> Thank you Stijn for taking care of this toolchain upgrade and Rosen >> for preparing it. > Thanks for reviewing! >> >> On 8/15/21 12:51 PM, Stijn Tintel wrote: >>> Since 21.02 has been branched, it's a good time to switch master to a >>> more recent toolchain by default. I have been test-driving binutils >>> 2.36.1 and gcc 10.3 for months on many different targets without issues. >>> >>> Additionally I've compile-tested x86/64 with CONFIG_ALL_PACKAGES=y, and >>> all packages in OpenWrt core build fine. >> >> Did you compile umbim on MIPS 32 bit? I think I only saw the warning >> on such systems. > Compile-tested on ramips, my proposed change fixes the warning. Thanks for testing. >>> The packages feed contains a few packages that will need to be fixed. >>> One of them is the perl package. Unfortunately, the perl package seems >>> to contain a bunch of undocumented patches that have either not been >>> accepted by upstream, or haven't been submitted upstream at all, so >>> I'll leave it up to the maintainer(s) and/or community to handle the >>> perl bump, as I do not use perl at all. >>> >>> Another package that doesn't build is gnupg (v1). Users are encouraged >>> to use gnupg2 instead. I suggest to drop gnupg v1 entirely. >>> >>> After many hours of fixing random breakage in the packages feed, many of >>> which not even caused by the GCC bump, I gave up and decided to just >>> send out this patch series. >> >> Did you create pull request for the packages which you fix? > Yes, see https://github.com/openwrt/packages/pulls :-) >> >> Someone can later fix the rest of them. ;-) >> >> Did you check if the size of some of our images changed? > I did not. I can do that, but it'll take some time. I started regularly > wiping build_dir/ staging_dir/ and tmp/ due to vague heisenbugs that > kept appearing. >> >>> >>> Stijn Tintel (6): >>> busybox: fix compilation with GCC 10 >>> umbim: fix compilation with GCC 10 >>> toolchain/binutils: switch to version 2.36.1 by default >>> toolchain/gcc: switch to version 10 by default >>> toolchain: drop GCC 9 >>> toolchain: drop binutils 2.35.1 >> >> I would prefer if we wait 1 months till we drop gcc 9 and binutils >> 2.35.1, if we see some problems with gcc 10 and the new binutils we >> can easily try the intermediate versions if they are still included. >> >> We can then remove gcc 7 and 9 and binutils 2.32 and 2.35.1. > I will drop them for now. >> >>> >>> package/network/utils/umbim/patches/999-gcc10.patch | 13 +++++++++++++ >>> package/utils/busybox/Makefile | 3 --- >>> toolchain/binutils/Config.in | 6 +----- >>> toolchain/binutils/Config.version | 6 +----- >>> toolchain/gcc/Config.in | 5 +---- >>> toolchain/gcc/Config.version | 13 ++++--------- >>> 6 files changed, 20 insertions(+), 26 deletions(-) >>> create mode 100644 package/network/utils/umbim/patches/999-gcc10.patch >>> > Updated series at > https://git.openwrt.org/?p=openwrt/staging/stintel.git;a=shortlog;h=refs/heads/gcc10 > - shall I send a v2, or can we ack the series as is over there? No need to send a v2 for me. I am not aware of any other problems or reports form people about problems with this gcc and binutils combination. You can add my Acked-by: Hauke Mehrtens <hauke@hauke-m.de> Hauke
HI, guys, On Sun, 15 Aug 2021 at 13:00, Stijn Tintel <stijn@linux-ipv6.be> wrote: > > On 15/08/2021 14:53, Hauke Mehrtens wrote: > > > > Did you check if the size of some of our images changed? > I did not. I can do that, but it'll take some time. I started regularly > wiping build_dir/ staging_dir/ and tmp/ due to vague heisenbugs that > kept appearing. I did, at least superficially. The GCC 10 series does increase the image sizes a bit (say, around 200 kiB on a 6.4 MiB ath79/74Kc image), due to the new inliner heuristics. However, the GCC 11 series seems to further tune the inliner, and the images are again smaller (still a little bigger than with GCC 9). Cheers, Rui