buildroot.busybox.net archive mirror
 help / color / mirror / Atom feed
* [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).