rust: Respect HOSTCC when linking for host
authorMatthew Maurer <mmaurer@google.com>
Thu, 5 Oct 2023 21:39:58 +0000 (21:39 +0000)
committerMasahiro Yamada <masahiroy@kernel.org>
Sat, 14 Oct 2023 09:26:28 +0000 (18:26 +0900)
commit80bac83a739d36d227aa5c54f6ed417f13c086dd
treed7e473e4c988e02ccf6685e42207fb217c007f24
parentffa46bbc5892ebba8a95c839dc302cad7f22c209
rust: Respect HOSTCC when linking for host

Currently, rustc defaults to invoking `cc`, even if `HOSTCC` is defined,
resulting in build failures in hermetic environments where `cc` does not
exist. This includes both hostprogs and proc-macros.

Since we are setting the linker to `HOSTCC`, we set the linker flavor to
`gcc` explicitly. The linker-flavor selects both which linker to search
for if the linker is unset, and which kind of linker flags to pass.
Without this flag, `rustc` would attempt to determine which flags to
pass based on the name of the binary passed as `HOSTCC`. `gcc` is the
name of the linker-flavor used by `rustc` for all C compilers, including
both `gcc` and `clang`.

Signed-off-by: Matthew Maurer <mmaurer@google.com>
Reviewed-by: Martin Rodriguez Reboredo <yakoyoku@gmail.com>
Tested-by: Alice Ryhl <aliceryhl@google.com>
Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
Acked-by: Miguel Ojeda <ojeda@kernel.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
rust/Makefile
scripts/Makefile.host