sst-linux/scripts
Miguel Ojeda 53ce433a6d kbuild: rust: avoid creating temporary files
[ Upstream commit df01b7cfcef08bf3fdcac2909d0e1910781d6bfd ]

`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@gmail.com>
Closes: https://github.com/Rust-for-Linux/linux/issues/1015
Reported-by: Andrea Righi <andrea.righi@canonical.com>
Tested-by: Raphael Nestler <raphael.nestler@gmail.com> # non-hostprogs
Tested-by: Andrea Righi <andrea.righi@canonical.com> # non-hostprogs
Fixes: 295d8398c67e ("kbuild: specify output names separately for each emission type from rustc")
Cc: stable@vger.kernel.org
Signed-off-by: Miguel Ojeda <ojeda@kernel.org>
Tested-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-05-17 11:56:10 +02:00
..
atomic
basic
clang-tools gen_compile_commands: fix invalid escape sequence warning 2024-03-26 18:20:25 -04:00
coccinelle
dtc dt: dt-extract-compatibles: Don't follow symlinks when walking tree 2023-12-13 18:39:05 +01:00
dummy-tools
gcc-plugins gcc-plugins/stackleak: Avoid .head.text section 2024-04-13 13:05:23 +02:00
gdb
genksyms
kconfig kconfig: fix infinite loop when expanding a macro at the end of file 2024-03-26 18:20:58 -04:00
ksymoops
mod modpost: Add '.ltext' and '.ltext.*' to TEXT_SECTIONS 2024-02-23 09:12:38 +01:00
package kbuild: rpm-pkg: define _arch conditionally 2023-09-19 12:27:58 +02:00
selinux
tracing
.gitignore scripts: add generate_rust_target.rs 2022-09-28 09:02:06 +02:00
adjust_autoksyms.sh
as-version.sh
asn1_compiler.c
bin2c.c kbuild: move bin2c back to scripts/ from scripts/basic/ 2018-07-18 01:18:05 +09:00
bloat-o-meter scripts/bloat-o-meter: add -p argument 2022-07-17 17:31:40 -07:00
bootgraph.pl
bpf_doc.py scripts/bpf_doc: Use silent mode when exec make cmd 2024-04-10 16:28:21 +02:00
cc-can-link.sh
cc-version.sh
check_extable.sh
check-local-export kbuild: rewrite check-local-export in sh/awk 2022-09-29 04:40:15 +09:00
check-sysctl-docs docs: add a script to check sysctl docs 2020-02-25 03:35:16 -07:00
checkdeclares.pl
checkincludes.pl
checkkconfigsymbols.py scripts: handle BrokenPipeError for python scripts 2023-03-17 08:50:31 +01:00
checkpatch.pl locking: Introduce __cleanup() based infrastructure 2024-02-23 09:12:51 +01:00
checkstack.pl checkstack: fix printed address 2023-12-13 18:39:19 +01:00
checksyscalls.sh
checkversion.pl
cleanfile
cleanpatch License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
coccicheck scripts: coccicheck: fix troubles on non-English builds 2021-05-18 11:09:59 +02:00
config
const_structs.checkpatch const_structs.checkpatch: add frequently used ops structs 2022-01-20 08:52:54 +02:00
decode_stacktrace.sh scripts/decode_stacktrace.sh: optionally use LLVM utilities 2024-01-20 11:50:11 +01:00
decodecode scripts/decodecode: improve faulting line determination 2022-09-11 21:55:05 -07:00
depmod.sh
dev-needs.sh
diffconfig
documentation-file-ref-check scripts: documentation-file-ref-check: fix bpf selftests path 2021-10-26 09:42:29 -06:00
export_report.pl
extract_xc3028.pl
extract-ikconfig scripts/extract-ikconfig: add zstd compression support 2022-08-29 13:58:47 +09:00
extract-module-sig.pl
extract-sys-certs.pl
extract-vmlinux treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 378 2019-06-05 17:37:10 +02:00
faddr2line scripts/faddr2line: Fix regression in name resolution on ppc64le 2022-11-16 10:42:10 +01:00
file-size.sh
find-unused-docs.sh
gcc-x86_32-has-stack-protector.sh
gcc-x86_64-has-stack-protector.sh
gen_autoksyms.sh
gen_ksymdeps.sh
gen-randstruct-seed.sh
generate_initcall_order.pl
generate_rust_analyzer.py scripts: add generate_rust_analyzer.py 2022-09-28 09:02:06 +02:00
generate_rust_target.rs x86: enable initial Rust support 2022-09-28 09:02:45 +02:00
get_abi.pl scripts/get_abi: fix source path leak 2024-01-31 16:17:01 -08:00
get_dvb_firmware treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 61 2019-05-24 17:36:45 +02:00
get_feat.pl
get_maintainer.pl
gfp-translate scripts: fix the gfp flags header path in gfp-translate 2023-06-28 11:12:22 +02:00
head-object-list.txt arm64: remove special treatment for the link order of head.o 2023-02-25 11:25:42 +01:00
headerdep.pl
headers_install.sh
insert-sys-cert.c
install.sh
is_rust_module.sh
jobserver-exec
kallsyms.c kallsyms: Reduce the memory occupied by kallsyms_seqs_of_names[] 2023-10-25 12:03:16 +02:00
Kbuild.include
Kconfig.include kbuild: Update assembler calls to use proper flags and language target 2023-06-21 16:01:03 +02:00
kernel-doc scripts: kernel-doc: Always increment warnings counter 2022-06-13 11:07:45 -06:00
ld-version.sh
leaking_addresses.pl
Lindent License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
link-vmlinux.sh kbuild: Fix changing ELF file type for output of gen_btf for big endian 2024-02-23 09:12:37 +01:00
Makefile
Makefile.asm-generic
Makefile.build kbuild: rust: avoid creating temporary files 2024-05-17 11:56:10 +02:00
Makefile.clang
Makefile.clean kbuild: drop $(objtree)/ prefix support for clean-files 2022-05-08 03:17:00 +09:00
Makefile.compiler powerpc: remove checks for binutils older than 2.25 2024-01-25 15:27:18 -08:00
Makefile.debug Kbuild: add Rust support 2022-09-28 09:02:20 +02:00
Makefile.dtbinst kbuild: prefix $(srctree)/ to some included Makefiles 2021-03-15 19:20:48 +09:00
Makefile.extrawarn kbuild: Move -Wenum-{compare-conditional,enum-conversion} into W=1 2024-04-03 15:19:34 +02:00
Makefile.gcc-plugins gcc-plugins: Undefine LATENT_ENTROPY_PLUGIN when plugin disabled for a file 2022-08-16 12:25:53 -07:00
Makefile.headersinst kbuild: prefix $(srctree)/ to some included Makefiles 2021-03-15 19:20:48 +09:00
Makefile.host kbuild: rust: avoid creating temporary files 2024-05-17 11:56:10 +02:00
Makefile.kasan kasan: always respect CONFIG_KASAN_STACK 2021-09-24 16:13:35 -07:00
Makefile.kcov kbuild: include scripts/Makefile.* only when relevant CONFIG is enabled 2020-08-10 01:32:59 +09:00
Makefile.kcsan kcsan: Ignore GCC 11+ warnings about TSan runtime support 2021-12-09 16:42:27 -08:00
Makefile.kmsan kmsan: add KMSAN runtime core 2022-10-03 14:03:19 -07:00
Makefile.lib
Makefile.modfinal kbuild: Disable KCSAN for autogenerated *.mod.c intermediaries 2024-05-17 11:56:05 +02:00
Makefile.modinst kbuild: modinst: Fix build error when CONFIG_MODULE_SIG_KEY is a PKCS#11 URI 2023-02-09 11:28:11 +01:00
Makefile.modpost modpost: propagate W=1 build option to modpost 2024-02-23 09:12:38 +01:00
Makefile.package scripts: add rust in scripts/Makefile.package 2022-11-24 09:27:57 +09:00
Makefile.randstruct
Makefile.ubsan ubsan: remove CONFIG_UBSAN_OBJECT_SIZE 2022-01-20 08:52:55 +02:00
Makefile.userprogs kbuild: add infrastructure to build userspace programs 2020-05-17 18:52:01 +09:00
Makefile.vmlinux kbuild: rebuild .vmlinux.export.o when its prerequisite is updated 2022-10-03 03:52:58 +09:00
Makefile.vmlinux_o kbuild: move modules.builtin(.modinfo) rules to Makefile.vmlinux_o 2022-10-03 03:52:58 +09:00
makelst License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
markup_oops.pl treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 373 2019-06-05 17:37:10 +02:00
min-tool-version.sh
mkcompile_h
mksysmap
mkuboot.sh
module.lds.S cfi: Switch to -fsanitize=kcfi 2022-09-26 10:13:13 -07:00
modules-check.sh kbuild: check module name conflict for external modules as well 2021-04-25 05:22:42 +09:00
nsdeps
objdiff
objdump-func scripts: Create objdump-func helper script 2022-05-12 10:08:43 -07:00
pahole-flags.sh bpf: Add --skip_encoding_btf_inconsistent_proto, --btf_gen_optimized to pahole flags for v1.25 2024-01-20 11:50:10 +01:00
pahole-version.sh
parse-maintainers.pl parse-maintainers: Do not sort section content by default 2020-03-26 15:08:27 -07:00
patch-kernel
profile2linkerlist.pl
prune-kernel scripts/prune-kernel: Use kernel-install if available 2022-05-11 21:46:38 +09:00
recordmcount.c
recordmcount.h
recordmcount.pl
remove-stale-files RISC-V Patches for the 5.20 Merge Window, Part 2 2022-08-12 18:39:43 -07:00
rust_is_available_bindgen_libclang.h scripts: add rust_is_available.sh 2022-09-28 09:02:06 +02:00
rust_is_available.sh kbuild: rust_is_available: fix confusion when a version appears in the path 2023-09-13 09:42:32 +02:00
setlocalversion kbuild: do not quote string values in include/config/auto.conf 2022-01-08 18:03:57 +09:00
show_delta tweewide: Fix most Shebang lines 2020-12-08 23:30:04 +09:00
sign-file.c sign-file: Fix incorrect return values check 2023-12-20 17:00:19 +01:00
sorttable.c LoongArch: Add ELF-related definitions 2022-06-03 20:09:27 +08:00
sorttable.h script/sorttable: Fix some initialization problems 2022-01-18 10:17:18 -05:00
spdxcheck-test.sh
spdxcheck.py
spdxexclude scripts/spdxcheck: Exclude top-level README 2022-05-18 15:35:42 +02:00
spelling.txt
sphinx-pre-install
split-man.pl
stackdelta
stackusage
subarch.include
syscallhdr.sh
syscallnr.sh
syscalltbl.sh
tags.sh
test_fortify.sh
tools-support-relr.sh
unifdef.c unifdef: use memcpy instead of strncpy 2018-11-30 14:45:01 -08:00
ver_linux Removed the oprofiled version option 2021-05-03 17:23:06 -06:00
xen-hypercalls.sh
xz_wrap.sh