rust/exports.c includes the exports_*_generated.h listing the symbols of the core, bindings, kernel and helpers objects, but this is not expressed in its Makefile.
This worked previously because the headers are always-y targets, and make prepare built all of the rust crates first, which is an implicit dependency. Fix this as it is a dependency of the subsequent commit. Assisted-by: LLM Signed-off-by: Lorenzo Stoakes (ARM) <[email protected]> --- rust/Makefile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/rust/Makefile b/rust/Makefile index da1a7409d984..74d21ae6f383 100644 --- a/rust/Makefile +++ b/rust/Makefile @@ -728,6 +728,11 @@ endef $(obj)/helpers/helpers.o: $(src)/helpers/helpers.c $(recordmcount_source) FORCE +$(call if_changed_rule,rust_cc_library) +# The exported symbol lists are generated from the crates' objects. +$(obj)/exports.o: $(obj)/exports_core_generated.h \ + $(obj)/exports_bindings_generated.h $(obj)/exports_kernel_generated.h \ + $(if $(CONFIG_RUST_INLINE_HELPERS),,$(obj)/exports_helpers_generated.h) + # Disable symbol versioning for exports.o to avoid conflicts with the actual # symbol versions generated from Rust objects. $(obj)/exports.o: private skip_gendwarfksyms = 1 -- 2.55.0

