* [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest`
@ 2026-08-23 19:35 Miguel Ojeda
2026-08-23 19:56 ` Miguel Ojeda
2026-08-25 23:36 ` Miguel Ojeda
0 siblings, 2 replies; 3+ messages in thread
From: Miguel Ojeda @ 2026-08-23 19:35 UTC (permalink / raw)
To: Miguel Ojeda, Nathan Chancellor, Nicolas Schier
Cc: Boqun Feng, Gary Guo, Björn Roy Baron, Benno Lossin,
Andreas Hindborg, Alice Ryhl, Trevor Gross, Danilo Krummrich,
Daniel Almeida, Tamir Duberstein, Alexandre Courbot,
Onur Özkan, rust-for-linux, linux-kbuild, Antoni Boucher,
stable
The `rustc-dev` components for Rust 1.82.0 through 1.87.0 include a
precompiled `zerocopy_derive` procedural macro in the sysroot. This
range includes Rust 1.85.0, our minimum supported version.
This makes `rusttest` fail because the compiler finds both the sysroot
copy and the copy built in `rust/test`:
error[E0464]: multiple candidates for `dylib` dependency `zerocopy_derive` found
--> rust/kernel/prelude.rs:70:9
|
70 | pub use zerocopy_derive::{
| ^^^^^^^^^^^^^^^
|
= note: candidate #1: .../lib/rustlib/x86_64-unknown-linux-gnu/lib/libzerocopy_derive-54d2b38896fa6bc5.so
= note: candidate #2: .../rust/test/libzerocopy_derive.so
Commit fe39a233ea52 ("rust: kbuild: disambiguate `zerocopy` for
`rusttest`") fixed the equivalent ambiguity for `zerocopy`.
Thus point to the dependency explicitly in this case too.
Cc: Antoni Boucher <bouanto@zoho.com>
Cc: stable@vger.kernel.org
Fixes: 506054980429 ("rust: zerocopy-derive: enable support in kbuild")
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
---
rust/Makefile | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/rust/Makefile b/rust/Makefile
index fbe0accc51a3..a346a01bb3eb 100644
--- a/rust/Makefile
+++ b/rust/Makefile
@@ -350,7 +350,8 @@ rusttestlib-pin_init: $(src)/pin-init/src/lib.rs rusttestlib-macros \
rusttestlib-kernel: private rustc_target_flags = --extern ffi \
--extern build_error --extern macros --extern pin_init \
--extern bindings --extern uapi \
- --extern zerocopy=$(objtree)/$(obj)/test/libzerocopy.rlib --extern zerocopy_derive
+ --extern zerocopy=$(objtree)/$(obj)/test/libzerocopy.rlib \
+ --extern zerocopy_derive=$(objtree)/$(obj)/test/libzerocopy_derive.so
rusttestlib-kernel: $(src)/kernel/lib.rs rusttestlib-bindings rusttestlib-uapi \
rusttestlib-build_error rusttestlib-pin_init $(obj)/$(libmacros_name) \
$(obj)/bindings.o rusttestlib-zerocopy rusttestlib-zerocopy_derive FORCE
base-commit: d24f5cdbeff8b6a063fca92d0a1f94122a799b59
--
2.55.0
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest`
2026-08-23 19:35 [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest` Miguel Ojeda
@ 2026-08-23 19:56 ` Miguel Ojeda
2026-08-25 23:36 ` Miguel Ojeda
1 sibling, 0 replies; 3+ messages in thread
From: Miguel Ojeda @ 2026-08-23 19:56 UTC (permalink / raw)
To: Miguel Ojeda
Cc: Nathan Chancellor, Nicolas Schier, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein,
Alexandre Courbot, Onur Özkan, rust-for-linux, linux-kbuild,
Antoni Boucher, stable
On Sun, Aug 23, 2026 at 9:35 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> + --extern zerocopy_derive=$(objtree)/$(obj)/test/libzerocopy_derive.so
This should be:
... test/$(libzerocopy_derive_name)
as Sashiko mentions, for the macOS support, of course.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest`
2026-08-23 19:35 [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest` Miguel Ojeda
2026-08-23 19:56 ` Miguel Ojeda
@ 2026-08-25 23:36 ` Miguel Ojeda
1 sibling, 0 replies; 3+ messages in thread
From: Miguel Ojeda @ 2026-08-25 23:36 UTC (permalink / raw)
To: Miguel Ojeda
Cc: Nathan Chancellor, Nicolas Schier, Boqun Feng, Gary Guo,
Björn Roy Baron, Benno Lossin, Andreas Hindborg, Alice Ryhl,
Trevor Gross, Danilo Krummrich, Daniel Almeida, Tamir Duberstein,
Alexandre Courbot, Onur Özkan, rust-for-linux, linux-kbuild,
Antoni Boucher, stable
On Sun, Aug 23, 2026 at 9:35 PM Miguel Ojeda <ojeda@kernel.org> wrote:
>
> The `rustc-dev` components for Rust 1.82.0 through 1.87.0 include a
> precompiled `zerocopy_derive` procedural macro in the sysroot. This
> range includes Rust 1.85.0, our minimum supported version.
>
> This makes `rusttest` fail because the compiler finds both the sysroot
> copy and the copy built in `rust/test`:
>
> error[E0464]: multiple candidates for `dylib` dependency `zerocopy_derive` found
> --> rust/kernel/prelude.rs:70:9
> |
> 70 | pub use zerocopy_derive::{
> | ^^^^^^^^^^^^^^^
> |
> = note: candidate #1: .../lib/rustlib/x86_64-unknown-linux-gnu/lib/libzerocopy_derive-54d2b38896fa6bc5.so
> = note: candidate #2: .../rust/test/libzerocopy_derive.so
>
> Commit fe39a233ea52 ("rust: kbuild: disambiguate `zerocopy` for
> `rusttest`") fixed the equivalent ambiguity for `zerocopy`.
>
> Thus point to the dependency explicitly in this case too.
>
> Cc: Antoni Boucher <bouanto@zoho.com>
> Cc: stable@vger.kernel.org
> Fixes: 506054980429 ("rust: zerocopy-derive: enable support in kbuild")
> Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Applied to `rust-fixes`.
Cheers,
Miguel
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2026-08-25 23:36 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-08-23 19:35 [PATCH] rust: kbuild: disambiguate `zerocopy_derive` for `rusttest` Miguel Ojeda
2026-08-23 19:56 ` Miguel Ojeda
2026-08-25 23:36 ` Miguel Ojeda
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox