On Thu, Oct 17, 2024 at 10:01 PM HONG Yifan <elsk@xxxxxxxxxx> wrote: > > These are additional flags to be passed when linking proc macros for the > Rust toolchain. If unset, it defaults to $(HOSTLDFLAGS). > > This is needed because the list of flags to link hostprogs is not > necessarily the same as the list of flags used to link libmacros.so. > When we build proc macros, we need the latter, not the > former. To distinguish between the two, introduce this new variable > to stand out from HOSTLDFLAGS used to link other host progs. > > Signed-off-by: HONG Yifan <elsk@xxxxxxxxxx> > --- > Documentation/kbuild/kbuild.rst | 5 +++++ > Makefile | 1 + > rust/Makefile | 2 +- > 3 files changed, 7 insertions(+), 1 deletion(-) > > diff --git a/Documentation/kbuild/kbuild.rst b/Documentation/kbuild/kbuild.rst > index 1796b3eba37b..d9866394bd98 100644 > --- a/Documentation/kbuild/kbuild.rst > +++ b/Documentation/kbuild/kbuild.rst > @@ -91,6 +91,11 @@ HOSTRUSTFLAGS > ------------- > Additional flags to be passed to $(HOSTRUSTC) when building host programs. > > +PROCMACROLDFLAGS > +------------- > +Additional flags to be passed when linking proc macros for the Rust toolchain. > +If unset, it defaults to $(HOSTLDFLAGS). It may be less confusing to say "when linking Rust proc macros" here. Saying "for the Rust toolchain" could be confusing, as the proc macros are "for" use with the various pieces of kernel source code. Most people would not think of them as being "for the toolchain". If you want to mention the toolchain, you could add a sentence: "Since proc macros are loaded by rustc at build time, they must be linked in a way that is compatible with the rustc toolchain being used." Alice