Message ID | 20240413074923.1082313-1-giulio.benetti@benettiengineering.com |
---|---|
State | New |
Headers | show |
Series | toolchain: remove gcc bug 90620 | expand |
On 13/04/2024 09:49, Giulio Benetti wrote: > While building packages affected by gcc bug 90620 with Microblaze > and gcc versions 11, 12, 13 built with Buildroot and external Bootlin > toolchains without -O0 work-around it turns out that the bug has been > fixed. So let's remove gcc bug 90620. But a custom external toolchain that uses GCC <10 would still be affected, no? So you can't actually remove it? You can just remove the || BR2_TOOLCHAIN_GCC_AT_LEAST_11 part. Regards, Arnout > > Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> > --- > package/haproxy/haproxy.mk | 8 +------- > package/qt5/qt5base/qt5base.mk | 5 ----- > package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 4 ---- > toolchain/Config.in | 9 --------- > 4 files changed, 1 insertion(+), 25 deletions(-) > > diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk > index 61a9ebebe4..697dbdf4bf 100644 > --- a/package/haproxy/haproxy.mk > +++ b/package/haproxy/haproxy.mk > @@ -74,15 +74,9 @@ endif > > HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" > > -HAPROXY_CFLAGS = $(TARGET_CFLAGS) > - > -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) > -HAPROXY_CFLAGS += -O0 > -endif > - > define HAPROXY_BUILD_CMDS > $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ > - $(HAPROXY_MAKE_OPTS) DEFINE="$(HAPROXY_CFLAGS)" -C $(@D) > + $(HAPROXY_MAKE_OPTS) DEFINE="$(TARGET_CFLAGS)" -C $(@D) > endef > > define HAPROXY_INSTALL_TARGET_CMDS > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk > index e173639cca..d6445be9b2 100644 > --- a/package/qt5/qt5base/qt5base.mk > +++ b/package/qt5/qt5base/qt5base.mk > @@ -50,11 +50,6 @@ QT5BASE_CONFIGURE_OPTS += -no-optimize-debug > QT5BASE_CFLAGS = $(TARGET_CFLAGS) > QT5BASE_CXXFLAGS = $(TARGET_CXXFLAGS) > > -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) > -QT5BASE_CFLAGS += -O0 > -QT5BASE_CXXFLAGS += -O0 > -endif > - > ifeq ($(BR2_X86_CPU_HAS_SSE2),) > QT5BASE_CONFIGURE_OPTS += -no-sse2 > else ifeq ($(BR2_X86_CPU_HAS_SSE3),) > diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk > index 2126d3c915..f99baa1be7 100644 > --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk > +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk > @@ -20,8 +20,4 @@ ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) > QT5XMLPATTERNS_LICENSE += , BSD-3-Clause (examples) > endif > > -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) > -QT5XMLPATTERNS_CONF_OPTS += "QMAKE_CXXFLAGS+=-O0" > -endif > - > $(eval $(qmake-package)) > diff --git a/toolchain/Config.in b/toolchain/Config.in > index 944e573f82..de5ef7a08f 100644 > --- a/toolchain/Config.in > +++ b/toolchain/Config.in > @@ -170,15 +170,6 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_85862 > default y if BR2_microblaze > depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 > > -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90620 > -# ICE: in do_output_reload, at reload1.c:7978 on microblaze. > -# This bug no longer exists in gcc 10.x but reappeared in gcc 11.x > -config BR2_TOOLCHAIN_HAS_GCC_BUG_90620 > - bool > - default y if BR2_microblaze > - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 \ > - || BR2_TOOLCHAIN_GCC_AT_LEAST_11 > - > # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93847 > # ICE: compiler error: Segmentation fault on Nios II. This bug > # no longer exists in gcc 9.x.
Hi Arnout, On 28/04/24 19:18, Arnout Vandecappelle via buildroot wrote: > > > On 13/04/2024 09:49, Giulio Benetti wrote: >> While building packages affected by gcc bug 90620 with Microblaze >> and gcc versions 11, 12, 13 built with Buildroot and external Bootlin >> toolchains without -O0 work-around it turns out that the bug has been >> fixed. So let's remove gcc bug 90620. > > But a custom external toolchain that uses GCC <10 would still be > affected, no? But this bug is Microblaze specific and the only 2 Microblaze external toolchains are the Bootlin's ones, where the oldest GCC version is 12.3.0, so as we've already done in the past with this commit: https://gitlab.com/buildroot.org/buildroot/-/commit/55fcba2a7c41d29f3f93bb37eec1264af4b45fb0 considering Buildroot free of bug 90620. If anyone will send a patch for new microblaze external-toolchains it's very unlikely they will contain gcc < 10. Best regards
diff --git a/package/haproxy/haproxy.mk b/package/haproxy/haproxy.mk index 61a9ebebe4..697dbdf4bf 100644 --- a/package/haproxy/haproxy.mk +++ b/package/haproxy/haproxy.mk @@ -74,15 +74,9 @@ endif HAPROXY_MAKE_OPTS += ADDLIB="$(HAPROXY_LIBS)" -HAPROXY_CFLAGS = $(TARGET_CFLAGS) - -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) -HAPROXY_CFLAGS += -O0 -endif - define HAPROXY_BUILD_CMDS $(TARGET_MAKE_ENV) $(MAKE) $(TARGET_CONFIGURE_OPTS) \ - $(HAPROXY_MAKE_OPTS) DEFINE="$(HAPROXY_CFLAGS)" -C $(@D) + $(HAPROXY_MAKE_OPTS) DEFINE="$(TARGET_CFLAGS)" -C $(@D) endef define HAPROXY_INSTALL_TARGET_CMDS diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index e173639cca..d6445be9b2 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -50,11 +50,6 @@ QT5BASE_CONFIGURE_OPTS += -no-optimize-debug QT5BASE_CFLAGS = $(TARGET_CFLAGS) QT5BASE_CXXFLAGS = $(TARGET_CXXFLAGS) -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) -QT5BASE_CFLAGS += -O0 -QT5BASE_CXXFLAGS += -O0 -endif - ifeq ($(BR2_X86_CPU_HAS_SSE2),) QT5BASE_CONFIGURE_OPTS += -no-sse2 else ifeq ($(BR2_X86_CPU_HAS_SSE3),) diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk index 2126d3c915..f99baa1be7 100644 --- a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk +++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk @@ -20,8 +20,4 @@ ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y) QT5XMLPATTERNS_LICENSE += , BSD-3-Clause (examples) endif -ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_90620),y) -QT5XMLPATTERNS_CONF_OPTS += "QMAKE_CXXFLAGS+=-O0" -endif - $(eval $(qmake-package)) diff --git a/toolchain/Config.in b/toolchain/Config.in index 944e573f82..de5ef7a08f 100644 --- a/toolchain/Config.in +++ b/toolchain/Config.in @@ -170,15 +170,6 @@ config BR2_TOOLCHAIN_HAS_GCC_BUG_85862 default y if BR2_microblaze depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7 -# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90620 -# ICE: in do_output_reload, at reload1.c:7978 on microblaze. -# This bug no longer exists in gcc 10.x but reappeared in gcc 11.x -config BR2_TOOLCHAIN_HAS_GCC_BUG_90620 - bool - default y if BR2_microblaze - depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_10 \ - || BR2_TOOLCHAIN_GCC_AT_LEAST_11 - # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93847 # ICE: compiler error: Segmentation fault on Nios II. This bug # no longer exists in gcc 9.x.
While building packages affected by gcc bug 90620 with Microblaze and gcc versions 11, 12, 13 built with Buildroot and external Bootlin toolchains without -O0 work-around it turns out that the bug has been fixed. So let's remove gcc bug 90620. Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> --- package/haproxy/haproxy.mk | 8 +------- package/qt5/qt5base/qt5base.mk | 5 ----- package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk | 4 ---- toolchain/Config.in | 9 --------- 4 files changed, 1 insertion(+), 25 deletions(-)