Rollup merge of #83204 - jethrogb:jb/sgx-c-build, r=joshtriplett,raoulstrackx

Simplify C compilation for Fortanix-SGX target

cc ``@raoulstrackx``
This commit is contained in:
Dylan DPC 2021-03-18 00:28:12 +01:00 committed by GitHub
commit 201893f5ac
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 20 deletions

View File

@ -45,10 +45,10 @@ ENV \
CC_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-gcc-8 \
CXX_armv7_unknown_linux_gnueabi=arm-linux-gnueabi-g++-8 \
AR_x86_64_fortanix_unknown_sgx=ar \
CC_x86_64_fortanix_unknown_sgx=x86_64-fortanix-unknown-sgx-clang-11 \
CFLAGS_x86_64_fortanix_unknown_sgx="-mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
CXX_x86_64_fortanix_unknown_sgx=x86_64-fortanix-unknown-sgx-clang++-11 \
CXXFLAGS_x86_64_fortanix_unknown_sgx="-mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
CC_x86_64_fortanix_unknown_sgx=clang-11 \
CFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
CXX_x86_64_fortanix_unknown_sgx=clang++-11 \
CXXFLAGS_x86_64_fortanix_unknown_sgx="-D__ELF__ -isystem/usr/include/x86_64-linux-gnu -mlvi-hardening -mllvm -x86-experimental-lvi-inline-asm-hardening" \
AR_i686_unknown_freebsd=i686-unknown-freebsd11-ar \
CC_i686_unknown_freebsd=i686-unknown-freebsd11-clang \
CXX_i686_unknown_freebsd=i686-unknown-freebsd11-clang++ \
@ -71,8 +71,6 @@ COPY host-x86_64/dist-various-2/build-solaris-toolchain.sh /tmp/
RUN /tmp/build-solaris-toolchain.sh x86_64 amd64 solaris-i386
RUN /tmp/build-solaris-toolchain.sh sparcv9 sparcv9 solaris-sparc
COPY host-x86_64/dist-various-2/build-x86_64-fortanix-unknown-sgx-toolchain.sh /tmp/
COPY host-x86_64/dist-various-2/x86_64-fortanix-unknown-sgx-clang-wrap.sh /usr/bin/x86_64-fortanix-unknown-sgx-clang-11
RUN ln -s /usr/bin/x86_64-fortanix-unknown-sgx-clang-11 /usr/bin/x86_64-fortanix-unknown-sgx-clang++-11
RUN /tmp/build-x86_64-fortanix-unknown-sgx-toolchain.sh
COPY host-x86_64/dist-various-2/build-wasi-toolchain.sh /tmp/

View File

@ -1,14 +0,0 @@
#!/bin/bash
args=("$@")
for i in "${!args[@]}"; do
# x86_64-fortanix-unknown-sgx doesn't have a C sysroot for things like
# stdint.h and the C++ STL. Unlike GCC, clang will not use the host's
# sysroot instead. Force it.
if [ "${args[$i]}" = "--target=x86_64-fortanix-unknown-sgx" ]; then
args[$i]="--target=x86_64-unknown-linux-gnu"
fi
done
exec "${0/x86_64-fortanix-unknown-sgx-clang/clang}" "${args[@]}"