* [Buildroot] [PATCH] arch/Config.in.arm: drop support for iwmmxt architecture variant
@ 2022-09-25 9:44 Thomas Petazzoni
2022-09-25 12:06 ` Yann E. MORIN
0 siblings, 1 reply; 2+ messages in thread
From: Thomas Petazzoni @ 2022-09-25 9:44 UTC (permalink / raw)
To: buildroot
Cc: Bernd Kuhls, Giulio Benetti, Romain Naour, Yann E. MORIN,
Thomas Petazzoni
This architecture variant is broken in GCC, causing build failures:
../../../libgcc/config/arm/unwind-arm.c:467:1: error: unrecognizable insn:
467 | }
| ^
(insn 2 4 3 2 (set (reg/v/f:SI 118 [ p ])
(reg:SI 0 r0 [ p ])) "../../../libgcc/config/arm/unwind-arm.c":456:1 -1
(nil))
during RTL pass: vregs
../../../libgcc/config/arm/unwind-arm.c:467:1: internal compiler error: in extract_insn, at recog.c:2770
Reported to the GCC developers, the feedback was "iwmmxt support is
definitely bitrotten and most likely should be removed from GCC.".
See:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106972#c1
So this commit simply drops support for iwmmxt, which anyway is
probably barely used nowadays: it's for old Marvell PXA cores that
implemented a special SIMD instruction set. The BR2_xscale option can
be used instead, it's just that it won't use this SIMD instruction
set.
Fixes:
http://autobuild.buildroot.net/results/8e4c4512902c34d8ec0c6f8dfff92b7a198e4b4a/
and the numerous other build failures at:
http://autobuild.buildroot.net/?reason=host-gcc-initial%&subarch=iwmmxt
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
Config.in.legacy | 10 ++++++++++
arch/Config.in.arm | 5 -----
package/pixman/pixman.mk | 9 ++-------
3 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/Config.in.legacy b/Config.in.legacy
index 5f7274e84b..5892dfd44f 100644
--- a/Config.in.legacy
+++ b/Config.in.legacy
@@ -146,6 +146,16 @@ endif
comment "Legacy options removed in 2022.11"
+config BR2_iwmmxt
+ bool "ARM iwmmxt variant removed"
+ select BR2_LEGACY
+ help
+ Support for the ARM iwmmxt architecture variant in GCC has
+ bitroten and is no longer maintained. GCC maintainers
+ recommend to no longer use it, and suggest to use "xscale"
+ as a replacement architecture variant. See
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106972
+
config BR2_PACKAGE_GPSD_OLDSTYLE
bool "gpsd oldstyle removed"
select BR2_LEGACY
diff --git a/arch/Config.in.arm b/arch/Config.in.arm
index c391d6c72b..78621e321c 100644
--- a/arch/Config.in.arm
+++ b/arch/Config.in.arm
@@ -129,10 +129,6 @@ config BR2_arm926t
select BR2_ARM_CPU_MAYBE_HAS_VFPV2
select BR2_ARM_CPU_HAS_THUMB
select BR2_ARM_CPU_ARMV5
-config BR2_iwmmxt
- bool "iwmmxt"
- select BR2_ARM_CPU_HAS_ARM
- select BR2_ARM_CPU_ARMV5
config BR2_xscale
bool "xscale"
select BR2_ARM_CPU_HAS_ARM
@@ -817,7 +813,6 @@ config BR2_GCC_TARGET_CPU
default "strongarm" if BR2_strongarm
# armv5
default "arm926ej-s" if BR2_arm926t
- default "iwmmxt" if BR2_iwmmxt
default "xscale" if BR2_xscale
# armv6
default "arm1136j-s" if BR2_arm1136j_s
diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk
index 64302fa49a..3f65f0484d 100644
--- a/package/pixman/pixman.mk
+++ b/package/pixman/pixman.mk
@@ -21,7 +21,8 @@ PIXMAN_AUTORECONF = YES
# don't build gtk based demos
PIXMAN_CONF_OPTS = \
--disable-gtk \
- --disable-loongson-mmi
+ --disable-loongson-mmi \
+ --disable-arm-iwmmxt
# The ARM SIMD code from pixman requires a recent enough ARM core, but
# there is a runtime CPU check that makes sure it doesn't get used if
@@ -40,12 +41,6 @@ else
PIXMAN_CONF_OPTS += --disable-arm-neon
endif
-# disable iwmmxt support for CPU's that don't have
-# this feature
-ifneq ($(BR2_iwmmxt),y)
-PIXMAN_CONF_OPTS += --disable-arm-iwmmxt
-endif
-
PIXMAN_CFLAGS = $(TARGET_CFLAGS)
# toolchain gets confused about TLS access through GOT (PIC), so disable TLS
--
2.37.3
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [Buildroot] [PATCH] arch/Config.in.arm: drop support for iwmmxt architecture variant
2022-09-25 9:44 [Buildroot] [PATCH] arch/Config.in.arm: drop support for iwmmxt architecture variant Thomas Petazzoni
@ 2022-09-25 12:06 ` Yann E. MORIN
0 siblings, 0 replies; 2+ messages in thread
From: Yann E. MORIN @ 2022-09-25 12:06 UTC (permalink / raw)
To: Thomas Petazzoni; +Cc: Bernd Kuhls, Romain Naour, Giulio Benetti, buildroot
Thomas, All,
On 2022-09-25 11:44 +0200, Thomas Petazzoni spake thusly:
> This architecture variant is broken in GCC, causing build failures:
>
> ../../../libgcc/config/arm/unwind-arm.c:467:1: error: unrecognizable insn:
> 467 | }
> | ^
> (insn 2 4 3 2 (set (reg/v/f:SI 118 [ p ])
> (reg:SI 0 r0 [ p ])) "../../../libgcc/config/arm/unwind-arm.c":456:1 -1
> (nil))
> during RTL pass: vregs
> ../../../libgcc/config/arm/unwind-arm.c:467:1: internal compiler error: in extract_insn, at recog.c:2770
>
> Reported to the GCC developers, the feedback was "iwmmxt support is
> definitely bitrotten and most likely should be removed from GCC.".
>
> See:
>
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106972#c1
>
> So this commit simply drops support for iwmmxt, which anyway is
> probably barely used nowadays: it's for old Marvell PXA cores that
> implemented a special SIMD instruction set. The BR2_xscale option can
> be used instead, it's just that it won't use this SIMD instruction
> set.
>
> Fixes:
>
> http://autobuild.buildroot.net/results/8e4c4512902c34d8ec0c6f8dfff92b7a198e4b4a/
>
> and the numerous other build failures at:
>
> http://autobuild.buildroot.net/?reason=host-gcc-initial%&subarch=iwmmxt
>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Applied to master, thanks.
Regards,
Yann E. MORIN.
> ---
> Config.in.legacy | 10 ++++++++++
> arch/Config.in.arm | 5 -----
> package/pixman/pixman.mk | 9 ++-------
> 3 files changed, 12 insertions(+), 12 deletions(-)
>
> diff --git a/Config.in.legacy b/Config.in.legacy
> index 5f7274e84b..5892dfd44f 100644
> --- a/Config.in.legacy
> +++ b/Config.in.legacy
> @@ -146,6 +146,16 @@ endif
>
> comment "Legacy options removed in 2022.11"
>
> +config BR2_iwmmxt
> + bool "ARM iwmmxt variant removed"
> + select BR2_LEGACY
> + help
> + Support for the ARM iwmmxt architecture variant in GCC has
> + bitroten and is no longer maintained. GCC maintainers
> + recommend to no longer use it, and suggest to use "xscale"
> + as a replacement architecture variant. See
> + https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106972
> +
> config BR2_PACKAGE_GPSD_OLDSTYLE
> bool "gpsd oldstyle removed"
> select BR2_LEGACY
> diff --git a/arch/Config.in.arm b/arch/Config.in.arm
> index c391d6c72b..78621e321c 100644
> --- a/arch/Config.in.arm
> +++ b/arch/Config.in.arm
> @@ -129,10 +129,6 @@ config BR2_arm926t
> select BR2_ARM_CPU_MAYBE_HAS_VFPV2
> select BR2_ARM_CPU_HAS_THUMB
> select BR2_ARM_CPU_ARMV5
> -config BR2_iwmmxt
> - bool "iwmmxt"
> - select BR2_ARM_CPU_HAS_ARM
> - select BR2_ARM_CPU_ARMV5
> config BR2_xscale
> bool "xscale"
> select BR2_ARM_CPU_HAS_ARM
> @@ -817,7 +813,6 @@ config BR2_GCC_TARGET_CPU
> default "strongarm" if BR2_strongarm
> # armv5
> default "arm926ej-s" if BR2_arm926t
> - default "iwmmxt" if BR2_iwmmxt
> default "xscale" if BR2_xscale
> # armv6
> default "arm1136j-s" if BR2_arm1136j_s
> diff --git a/package/pixman/pixman.mk b/package/pixman/pixman.mk
> index 64302fa49a..3f65f0484d 100644
> --- a/package/pixman/pixman.mk
> +++ b/package/pixman/pixman.mk
> @@ -21,7 +21,8 @@ PIXMAN_AUTORECONF = YES
> # don't build gtk based demos
> PIXMAN_CONF_OPTS = \
> --disable-gtk \
> - --disable-loongson-mmi
> + --disable-loongson-mmi \
> + --disable-arm-iwmmxt
>
> # The ARM SIMD code from pixman requires a recent enough ARM core, but
> # there is a runtime CPU check that makes sure it doesn't get used if
> @@ -40,12 +41,6 @@ else
> PIXMAN_CONF_OPTS += --disable-arm-neon
> endif
>
> -# disable iwmmxt support for CPU's that don't have
> -# this feature
> -ifneq ($(BR2_iwmmxt),y)
> -PIXMAN_CONF_OPTS += --disable-arm-iwmmxt
> -endif
> -
> PIXMAN_CFLAGS = $(TARGET_CFLAGS)
>
> # toolchain gets confused about TLS access through GOT (PIC), so disable TLS
> --
> 2.37.3
>
--
.-----------------.--------------------.------------------.--------------------.
| Yann E. MORIN | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software Designer | \ / CAMPAIGN | ___ |
| +33 561 099 427 `------------.-------: X AGAINST | \e/ There is no |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL | v conspiracy. |
'------------------------------^-------^------------------^--------------------'
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2022-09-25 12:06 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-09-25 9:44 [Buildroot] [PATCH] arch/Config.in.arm: drop support for iwmmxt architecture variant Thomas Petazzoni
2022-09-25 12:06 ` Yann E. MORIN
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).