Skip to content

Commit eafe61d

Browse files
dist-various-2: Use clang for the UEFI targets
This fixes an issue where the C and asm sources built by compiler_builtins were being compiled as ELF objects instead of PE objects. This wasn't noticed before because it doesn't cause compiler_builtins or rustc to fail to build. You only see a failure when a program is built that references one of the symbols in an ELF object. Compiling with clang fixes this because the `cc` crate converts the UEFI targets into Windows targets that clang understands, causing it to produce PE objects. Note that this requires compiler_builtins >= 0.1.84. Fixes #104326
1 parent cdb6907 commit eafe61d

File tree

1 file changed

+6
-0
lines changed
  • src/ci/docker/host-x86_64/dist-various-2

1 file changed

+6
-0
lines changed

src/ci/docker/host-x86_64/dist-various-2/Dockerfile

+6
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,12 @@ ENV \
6161
AR_i686_unknown_freebsd=i686-unknown-freebsd12-ar \
6262
CC_i686_unknown_freebsd=i686-unknown-freebsd12-clang \
6363
CXX_i686_unknown_freebsd=i686-unknown-freebsd12-clang++ \
64+
CC_aarch64_unknown_uefi=clang-11 \
65+
CXX_aarch64_unknown_uefi=clang++-11 \
66+
CC_i686_unknown_uefi=clang-11 \
67+
CXX_i686_unknown_uefi=clang++-11 \
68+
CC_x86_64_unknown_uefi=clang-11 \
69+
CXX_x86_64_unknown_uefi=clang++-11 \
6470
CC=gcc-8 \
6571
CXX=g++-8
6672

0 commit comments

Comments
 (0)