Re: [PATCH v8 27/31] Kbuild: add Rust support
From: Arnd Bergmann <arnd@arndb.de>
Date: 2022-08-17 14:41:07
Also in:
linux-arm-kernel, linux-kbuild, linux-riscv, linux-um, lkml, rust-for-linux
On Tue, Aug 2, 2022 at 3:50 AM Miguel Ojeda [off-list ref] wrote:
+# These flags apply to all Rust code in the tree, including the kernel and +# host programs. +export rust_common_flags := --edition=2021 \ + -Zbinary_dep_depinfo=y \ + -Dunsafe_op_in_unsafe_fn -Drust_2018_idioms \ + -Dunreachable_pub -Dnon_ascii_idents \ + -Wmissing_docs \ + -Drustdoc::missing_crate_level_docs \ + -Dclippy::correctness -Dclippy::style \ + -Dclippy::suspicious -Dclippy::complexity \ + -Dclippy::perf \ + -Dclippy::let_unit_value -Dclippy::mut_mut \ + -Dclippy::needless_bitwise_bool \ + -Dclippy::needless_continue \ + -Wclippy::dbg_macro
Hi Miguel, I tried enabling rust support in the gcc builds I provide at https://mirrors.edge.kernel.org/pub/tools/crosstool/files/bin/arm64/12.1.0/ to make this more accessible, but it appears that the command line options here are not portable: /home/arnd/cross/x86_64/gcc-12.1.0+rust-nolibc/x86_64-linux/bin/x86_64-linux-gccrs --edition=2021 -Zbinary_dep_depinfo=y -Dunsafe_op_in_unsafe_fn -Drust_2018_idioms -Dunreachable_pub -Dnon_ascii_idents -Wmissing_docs -Drustdoc::missing_crate_level_docs -Dclippy::correctness -Dclippy::style -Dclippy::suspicious -Dclippy::complexity -Dclippy::perf -Dclippy::let_unit_value -Dclippy::mut_mut -Dclippy::needless_bitwise_bool -Dclippy::needless_continue -Wclippy::dbg_macro -O -Cstrip=debuginfo -Zallow-features= --emit=dep-info,link --out-dir=scripts/ /git/arm-soc/scripts/generate_rust_target.rs; mv scripts/generate_rust_target.d scripts/.generate_rust_target.d; sed -i '/^#/d' scripts/.generate_rust_target.d x86_64-linux-gccrs: error: unrecognized command-line option '--edition=2021'; did you mean '-frust-edition=2021'? x86_64-linux-gccrs: error: unrecognized command-line option '-Zbinary_dep_depinfo=y' x86_64-linux-gccrs: error: unrecognized command-line option '-Wmissing_docs'; did you mean '-Wmissing-braces'? x86_64-linux-gccrs: error: unrecognized command-line option '-Wclippy::dbg_macro' x86_64-linux-gccrs: error: unrecognized command-line option '-Cstrip=debuginfo' x86_64-linux-gccrs: error: unrecognized command-line option '-Zallow-features=' x86_64-linux-gccrs: error: unrecognized command-line option '--emit=dep-info,link' x86_64-linux-gccrs: error: unrecognized command-line option '--out-dir=scripts/' make[3]: *** [/git/arm-soc/scripts/Makefile.host:157: scripts/generate_rust_target] Error 1 I guess nobody has tried this so far. Would you think that fixing this is only a matter for fixing the build system to pass the correct flags depending on the compiler, or is this broken in a more fundamental way? Arnd