[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250819191133.39413-1-darinmorrison@gmail.com>
Date: Tue, 19 Aug 2025 13:11:33 -0600
From: Darin Morrison <darinmorrison@...il.com>
To: a.hindborg@...nel.org
Cc: Miguel Ojeda <ojeda@...nel.org>,
Alex Gaynor <alex.gaynor@...il.com>,
Boqun Feng <boqun.feng@...il.com>,
Gary Guo <gary@...yguo.net>,
Björn Roy Baron <bjorn3_gh@...tonmail.com>,
Alice Ryhl <aliceryhl@...gle.com>,
Masahiro Yamada <masahiroy@...nel.org>,
Nathan Chancellor <nathan@...nel.org>,
Luis Chamberlain <mcgrof@...nel.org>,
Danilo Krummrich <dakr@...nel.org>,
Benno Lossin <lossin@...nel.org>,
Nicolas Schier <nicolas.schier@...ux.dev>,
Trevor Gross <tmgross@...ch.edu>,
Adam Bratschi-Kaye <ark.email@...il.com>,
rust-for-linux@...r.kernel.org,
linux-kernel@...r.kernel.org,
linux-kbuild@...r.kernel.org,
Petr Pavlu <petr.pavlu@...e.com>,
Sami Tolvanen <samitolvanen@...gle.com>,
Daniel Gomez <da.gomez@...sung.com>,
Simona Vetter <simona.vetter@...ll.ch>,
Greg KH <gregkh@...uxfoundation.org>,
Fiona Behrens <me@...enk.dev>,
Daniel Almeida <daniel.almeida@...labora.com>,
linux-modules@...r.kernel.org
Subject: Re: [v17,6/7] rust: samples: add a module parameter to the rust_minimal sample
> Showcase the rust module parameter support by adding a module parameter to
> the `rust_minimal` sample.
>
> Reviewed-by: Benno Lossin <lossin@...nel.org>
> Signed-off-by: Andreas Hindborg <a.hindborg@...nel.org>
> ---
> samples/rust/rust_minimal.rs | 10 ++++++++++
> 1 file changed, 10 insertions(+)
> diff --git a/samples/rust/rust_minimal.rs b/samples/rust/rust_minimal.rs
> index 1fc7a1be6b6d..8eb9583571d7 100644
> --- a/samples/rust/rust_minimal.rs
> +++ b/samples/rust/rust_minimal.rs
> @@ -10,6 +10,12 @@
> authors: ["Rust for Linux Contributors"],
> description: "Rust minimal sample",
> license: "GPL",
> + params: {
> + test_parameter: i64 {
> + default: 1,
> + description: "This parameter has a default of 1",
> + },
> + },
Thanks for the patches.
I've been using these in a new PCI device driver module and noticed
that the inclusion of `params:` in the rustdoc test here causes the
`rusttest` target to fail with a linker error (below) complaining about
undefined references for `rust_helper_atomic_try_cmpxchg_relaxed` and
`rust_helper_atomic_set_release`.
Building a real module and using the `params:` field seems to work
fine though so it must be something specific to the test configuration.
Any ideas how to fix this?
---
RUSTDOC T rust/macros/lib.rs
running 10 tests
ii....... 9/10
rust/macros/lib.rs - module (line 61) --- FAILED
failures:
---- rust/macros/lib.rs - module (line 61) stdout ----
error: linking with `cc` failed: exit status: 1
|
= note: "cc" "-m64" "/tmp/rustcVbJoqH/symbols.o" "<2 object files omitted>" "-Wl,--as-needed" "-Wl,-Bstatic" "./rust/test/{libkernel.rlib,libuapi.rlib,libbindings.rlib,libbuild_error.rlib,libpin_init.rlib,libffi.rlib}.rlib" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib/{libstd-*,libpanic_unwind-*,libobject-*,libmemchr-*,libaddr2line-*,libgimli-*,librustc_demangle-*,libstd_detect-*,libhashbrown-*,librustc_std_workspace_alloc-*,libminiz_oxide-*,libadler2-*,libunwind-*,libcfg_if-*,liblibc-*,librustc_std_workspace_core-*,liballoc-*,libcore-*,libcompiler_builtins-*}.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-L" "/tmp/rustcVbJoqH/raw-dylibs" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "./rust/test" "-L" "<sysroot>/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/rustdoctestTFYhZ1/rust_out" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-nodefaultlibs"
= note: some arguments are omitted. use `--verbose` to show all linker arguments
= note: /usr/bin/ld: ./rust/test/libkernel.rlib(kernel.kernel.a8a3768e1a8b2c2e-cgu.3.rcgu.o): in function `kernel::sync::set_once::SetOnce<T>::populate':
kernel.a8a3768e1a8b2c2e-cgu.3:(.text._ZN6kernel4sync8set_once16SetOnce$LT$T$GT$8populate17hab8d57b99b7ebbcbE+0xd3): undefined reference to `rust_helper_atomic_try_cmpxchg_relaxed'
/usr/bin/ld: kernel.a8a3768e1a8b2c2e-cgu.3:(.text._ZN6kernel4sync8set_once16SetOnce$LT$T$GT$8populate17hab8d57b99b7ebbcbE+0x2a8): undefined reference to `rust_helper_atomic_set_release'
collect2: error: ld returned 1 exit status
= note: some `extern` functions couldn't be found; some native libraries may need to be installed or have their path specified
= note: use the `-l` flag to specify native libraries to link
Powered by blists - more mailing lists