All of 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; 4+ 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] 4+ 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; 4+ 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] 4+ 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
  1 sibling, 0 replies; 4+ 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] 4+ 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; 4+ 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] 4+ messages in thread

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

Thread overview: 4+ 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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.