Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets
@ 2026-10-11 18:57 Bogdan Radulescu
  2026-10-13  8:05 ` Thomas Petazzoni via buildroot
  2026-10-13  9:58 ` [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386 Bogdan Radulescu
  0 siblings, 2 replies; 5+ messages in thread
From: Bogdan Radulescu @ 2026-10-11 18:57 UTC (permalink / raw)
  To: buildroot

nettest depends, through rustls, quinn and rcgen, on the ring crate,
which refuses to build for 32-bit x86 targets without SSE and SSE2:

  error[E0080]: evaluation panicked: assertion failed: cfg!(target_feature = "sse") && cfg!(target_feature = "sse2")
    --> .../VENDOR/ring/src/cpu/intel.rs:26:9

Buildroot uses the i586-unknown-linux-{gnu,musl} Rust targets when
BR2_ARCH is "i586" (i586, pentium-mmx, geode, c3, winchip...), and
those targets do not enable SSE/SSE2. The i686 Rust targets enable
SSE2 by default, so ring builds fine there.

Make nettest unavailable when the Rust target architecture is i586.

Fixes: https://autobuild.buildroot.org/results/d04f770538412bee77851142ee007f2ff107e0ec
Signed-off-by: Bogdan Radulescu <bogdan@nimblex.net>
---
 package/nettest/Config.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/nettest/Config.in b/package/nettest/Config.in
index 0ec4dcdc4a..6b9eccfa7c 100644
--- a/package/nettest/Config.in
+++ b/package/nettest/Config.in
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_NETTEST
 	bool "nettest"
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+	# ring needs SSE/SSE2, which the i586 Rust targets lack
+	depends on BR2_PACKAGE_HOST_RUSTC_ARCH != "i586"
 	select BR2_PACKAGE_HOST_RUSTC
 	help
 	  nettest measures download and upload throughput, latency,
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets
  2026-10-11 18:57 [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets Bogdan Radulescu
@ 2026-10-13  8:05 ` Thomas Petazzoni via buildroot
  2026-10-13 10:04   ` Bogdan Rădulescu
  2026-10-13  9:58 ` [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386 Bogdan Radulescu
  1 sibling, 1 reply; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-13  8:05 UTC (permalink / raw)
  To: Bogdan Radulescu; +Cc: buildroot

Hello,

Thanks a lot for your patch!

On Sun, Oct 11, 2026 at 09:57:35PM +0300, Bogdan Radulescu wrote:
> nettest depends, through rustls, quinn and rcgen, on the ring crate,
> which refuses to build for 32-bit x86 targets without SSE and SSE2:
> 
>   error[E0080]: evaluation panicked: assertion failed: cfg!(target_feature = "sse") && cfg!(target_feature = "sse2")
>     --> .../VENDOR/ring/src/cpu/intel.rs:26:9
> 
> Buildroot uses the i586-unknown-linux-{gnu,musl} Rust targets when
> BR2_ARCH is "i586" (i586, pentium-mmx, geode, c3, winchip...), and
> those targets do not enable SSE/SSE2. The i686 Rust targets enable
> SSE2 by default, so ring builds fine there.
> 
> Make nettest unavailable when the Rust target architecture is i586.
> 
> Fixes: https://autobuild.buildroot.org/results/d04f770538412bee77851142ee007f2ff107e0ec

Could you trace back which Buildroot introduced the issue in the first
place?

Adding a tag:

Fixes: <commit hash> ("<commit title>")

would be ideal. If the problem exists since the package was
introduced, then you can simply to the commit introducing the package
as the commit being fixed.

> +	# ring needs SSE/SSE2, which the i586 Rust targets lack
> +	depends on BR2_PACKAGE_HOST_RUSTC_ARCH != "i586"

I believe you should rather have a dependency on SSE2, like
https://patchwork.buildroot.org/project/buildroot/patch/20260617161331.141666-1-shirokovalexs@gmail.com/
does.

Indeed, there are some i686 platforms that do not have SSE2, and they
would continue to fail building even with your patch.

Could you work on a v2 to address those two comments?

Thanks a lot!

Thomas
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386
  2026-10-11 18:57 [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets Bogdan Radulescu
  2026-10-13  8:05 ` Thomas Petazzoni via buildroot
@ 2026-10-13  9:58 ` Bogdan Radulescu
  2026-10-13 21:02   ` Thomas Petazzoni via buildroot
  1 sibling, 1 reply; 5+ messages in thread
From: Bogdan Radulescu @ 2026-10-13  9:58 UTC (permalink / raw)
  To: buildroot; +Cc: Thomas Petazzoni, Bogdan Radulescu

nettest depends, through rustls, quinn and rcgen, on the ring crate,
which refuses to build for 32-bit x86 targets without SSE and SSE2:

  error[E0080]: evaluation panicked: assertion failed: cfg!(target_feature = "sse") && cfg!(target_feature = "sse2")
    --> .../VENDOR/ring/src/cpu/intel.rs:26:9

This affects i586 and i686-class CPUs that lack SSE2
Make nettest depend on SSE2 support when building for i386.

Fixes: https://autobuild.buildroot.org/results/d04f770538412bee77851142ee007f2ff107e0ec
Fixes: 36fa00354730 ("package/nettest: new package")
Signed-off-by: Bogdan Radulescu <bogdan@nimblex.net>
---
Changes v1 -> v2:
- depend on BR2_X86_CPU_HAS_SSE2 on i386 instead of excluding the
  i586 Rust target, so i686 CPUs without SSE2 are also covered
- add Fixes: tag pointing to the commit introducing the package

 package/nettest/Config.in | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/package/nettest/Config.in b/package/nettest/Config.in
index 0ec4dcdc4a..096ae79406 100644
--- a/package/nettest/Config.in
+++ b/package/nettest/Config.in
@@ -1,6 +1,8 @@
 config BR2_PACKAGE_NETTEST
 	bool "nettest"
 	depends on BR2_PACKAGE_HOST_RUSTC_TARGET_ARCH_SUPPORTS
+	# i386: needs SSE2 for the ring crate
+	depends on !(BR2_i386 && !BR2_X86_CPU_HAS_SSE2)
 	select BR2_PACKAGE_HOST_RUSTC
 	help
 	  nettest measures download and upload throughput, latency,
-- 
2.55.0

_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets
  2026-10-13  8:05 ` Thomas Petazzoni via buildroot
@ 2026-10-13 10:04   ` Bogdan Rădulescu
  0 siblings, 0 replies; 5+ messages in thread
From: Bogdan Rădulescu @ 2026-10-13 10:04 UTC (permalink / raw)
  To: Thomas Petazzoni; +Cc: buildroot

Hello Thomas,


On Tue, Oct 13, 2026 at 11:05 AM Thomas Petazzoni
<thomas.petazzoni@bootlin.com> wrote:
>
> Hello,
>
> Thanks a lot for your patch!
>
> On Sun, Oct 11, 2026 at 09:57:35PM +0300, Bogdan Radulescu wrote:
> > nettest depends, through rustls, quinn and rcgen, on the ring crate,
> > which refuses to build for 32-bit x86 targets without SSE and SSE2:
> >
> >   error[E0080]: evaluation panicked: assertion failed: cfg!(target_feature = "sse") && cfg!(target_feature = "sse2")
> >     --> .../VENDOR/ring/src/cpu/intel.rs:26:9
> >
> > Buildroot uses the i586-unknown-linux-{gnu,musl} Rust targets when
> > BR2_ARCH is "i586" (i586, pentium-mmx, geode, c3, winchip...), and
> > those targets do not enable SSE/SSE2. The i686 Rust targets enable
> > SSE2 by default, so ring builds fine there.
> >
> > Make nettest unavailable when the Rust target architecture is i586.
> >
> > Fixes: https://autobuild.buildroot.org/results/d04f770538412bee77851142ee007f2ff107e0ec
>
> Could you trace back which Buildroot introduced the issue in the first
> place?
>
> Adding a tag:
>
> Fixes: <commit hash> ("<commit title>")
>
> would be ideal. If the problem exists since the package was
> introduced, then you can simply to the commit introducing the package
> as the commit being fixed.

Yes, the issue has been there since the package was introduced.

>
> > +     # ring needs SSE/SSE2, which the i586 Rust targets lack
> > +     depends on BR2_PACKAGE_HOST_RUSTC_ARCH != "i586"
>
> I believe you should rather have a dependency on SSE2, like
> https://patchwork.buildroot.org/project/buildroot/patch/20260617161331.141666-1-shirokovalexs@gmail.com/
> does.
>
> Indeed, there are some i686 platforms that do not have SSE2, and they
> would continue to fail building even with your patch.
>
> Could you work on a v2 to address those two comments?
>

I absolutely agree with your suggestion, and I submitted the v2 patch.

> Thanks a lot!
>
> Thomas
> --
> Thomas Petazzoni, co-owner and CEO, Bootlin
> Embedded Linux and Kernel engineering and training
> https://bootlin.com

Thank you too for your support!

Best regards,
Bogdan
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386
  2026-10-13  9:58 ` [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386 Bogdan Radulescu
@ 2026-10-13 21:02   ` Thomas Petazzoni via buildroot
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni via buildroot @ 2026-10-13 21:02 UTC (permalink / raw)
  To: Bogdan Radulescu; +Cc: buildroot

On Tue, Oct 13, 2026 at 12:58:35PM +0300, Bogdan Radulescu wrote:
> nettest depends, through rustls, quinn and rcgen, on the ring crate,
> which refuses to build for 32-bit x86 targets without SSE and SSE2:
> 
>   error[E0080]: evaluation panicked: assertion failed: cfg!(target_feature = "sse") && cfg!(target_feature = "sse2")
>     --> .../VENDOR/ring/src/cpu/intel.rs:26:9
> 
> This affects i586 and i686-class CPUs that lack SSE2
> Make nettest depend on SSE2 support when building for i386.
> 
> Fixes: https://autobuild.buildroot.org/results/d04f770538412bee77851142ee007f2ff107e0ec
> Fixes: 36fa00354730 ("package/nettest: new package")
> Signed-off-by: Bogdan Radulescu <bogdan@nimblex.net>

Applied to master, thanks a lot!

Best regards,

Thomas Petazzoni
-- 
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2026-10-13 21:02 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-10-11 18:57 [Buildroot] [PATCH] package/nettest: not available for the i586 Rust targets Bogdan Radulescu
2026-10-13  8:05 ` Thomas Petazzoni via buildroot
2026-10-13 10:04   ` Bogdan Rădulescu
2026-10-13  9:58 ` [Buildroot] [PATCH v2] package/nettest: needs SSE2 on i386 Bogdan Radulescu
2026-10-13 21:02   ` Thomas Petazzoni via buildroot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox