Re: [PATCH v2] kbuild: rust: avoid creating temporary files

From: Martin Rodriguez Reboredo
Date: Sun Jul 23 2023 - 10:35:07 EST


On 7/23/23 11:21, Miguel Ojeda wrote:
`rustc` outputs by default the temporary files (i.e. the ones saved
by `-Csave-temps`, such as `*.rcgu*` files) in the current working
directory when `-o` and `--out-dir` are not given (even if
`--emit=x=path` is given, i.e. it does not use those for temporaries).

Since out-of-tree modules are compiled from the `linux` tree,
`rustc` then tries to create them there, which may not be accessible.

Thus pass `--out-dir` explicitly, even if it is just for the temporary
files.

Similarly, do so for Rust host programs too.

Reported-by: Raphael Nestler <raphael.nestler@xxxxxxxxx>
Closes: https://github.com/Rust-for-Linux/linux/issues/1015
Reported-by: Andrea Righi <andrea.righi@xxxxxxxxxxxxx>
Tested-by: Raphael Nestler <raphael.nestler@xxxxxxxxx> # non-hostprogs
Tested-by: Andrea Righi <andrea.righi@xxxxxxxxxxxxx> # non-hostprogs
Fixes: 295d8398c67e ("kbuild: specify output names separately for each emission type from rustc")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Miguel Ojeda <ojeda@xxxxxxxxxx>
---
[...]
Tested-by: Martin Rodriguez Reboredo <yakoyoku@xxxxxxxxx>