Don't build out of line atomics support code for uefi

https://github.com/llvm/llvm-project/pull/116706 added Windows
support to cpu_model. Compiling for UEFI also goes through that
code path, because we treat it as a windows target. However,
including windows.h is not actually going to work (and the used
API would not be available in an UEFI environment).

Disable building of cpu_model on UEFI to fix this.
This commit is contained in:
Nikita Popov 2025-01-28 15:40:23 +01:00 committed by Trevor Gross
parent 4e1b885595
commit ececfaba78

View file

@ -644,9 +644,10 @@ mod c {
// Include out-of-line atomics for aarch64, which are all generated by supplying different
// sets of flags to the same source file.
// Note: Out-of-line aarch64 atomics are not supported by the msvc toolchain (#430).
// Note: Out-of-line aarch64 atomics are not supported by the msvc toolchain (#430) and
// on uefi.
let src_dir = root.join("lib/builtins");
if target.arch == "aarch64" && target.env != "msvc" {
if target.arch == "aarch64" && target.env != "msvc" && target.os != "uefi" {
// See below for why we're building these as separate libraries.
build_aarch64_out_of_line_atomics_libraries(&src_dir, cfg);