[Buildroot] [PATCH] toolchain: remove gcc bug 90620
Giulio Benetti
giulio.benetti at benettiengineering.com
Sun Apr 28 18:35:30 UTC 2024
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
--
Giulio Benetti
CEO&CTO at Benetti Engineering
> 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 at 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.
> _______________________________________________
> buildroot mailing list
> buildroot at buildroot.org
> https://lists.buildroot.org/mailman/listinfo/buildroot
More information about the buildroot
mailing list