kbuild, rust: use -fremap-path-prefix to make paths relative

Remap source path prefixes in all output, including compiler
diagnostics, debug information, macro expansions, etc.
This removes a few absolute paths from the binary and also makes it
possible to use core::panic::Location properly.

Equivalent to the same configuration done for C sources in
commit 1d3730f001 ("kbuild: support -fmacro-prefix-map for external
modules") and commit a73619a845 ("kbuild: use -fmacro-prefix-map to
make __FILE__ a relative path").

Link: https://doc.rust-lang.org/rustc/command-line-arguments.html#--remap-path-prefix-remap-source-names-in-output
Acked-by: Miguel Ojeda <[email protected]>
Signed-off-by: Thomas Weißschuh <[email protected]>
Tested-by: Gary Guo <[email protected]>
Signed-off-by: Masahiro Yamada <[email protected]>
This commit is contained in:
Thomas Weißschuh authored and Masahiro Yamada committed 2025-03-15 21:19:44 +09:00
1 parent 268d191abc
commit dbdffaf50f
1 file changed
+1
+1
View File
@@ -1068,6 +1068,7 @@ endif
# change __FILE__ to the relative path to the source directory
ifdef building_out_of_srctree
KBUILD_CPPFLAGS += $(call cc-option,-fmacro-prefix-map=$(srcroot)/=)
KBUILD_RUSTFLAGS += --remap-path-prefix=$(srcroot)/=
endif
# include additional Makefiles when needed