Author: Petr Hosek Date: 2020-04-24T12:18:30-07:00 New Revision: 063128f97930c551a43a657084f1632e33245bf6
URL: https://github.com/llvm/llvm-project/commit/063128f97930c551a43a657084f1632e33245bf6 DIFF: https://github.com/llvm/llvm-project/commit/063128f97930c551a43a657084f1632e33245bf6.diff LOG: [Fuchsia] Build compiler-rt builtins for 32-bit x86 While we don't support 32-bit architectures in Fuchsia, these are needed in the early boot phase on x86, so we build just these to satisfy that use case. Differential Revision: https://reviews.llvm.org/D78687 Added: Modified: clang/cmake/caches/Fuchsia-stage2.cmake clang/lib/Basic/Targets.cpp Removed: ################################################################################ diff --git a/clang/cmake/caches/Fuchsia-stage2.cmake b/clang/cmake/caches/Fuchsia-stage2.cmake index e2be68be2284..eb2a03e164dd 100644 --- a/clang/cmake/caches/Fuchsia-stage2.cmake +++ b/clang/cmake/caches/Fuchsia-stage2.cmake @@ -105,15 +105,16 @@ endforeach() if(FUCHSIA_SDK) set(FUCHSIA_aarch64_NAME arm64) + set(FUCHSIA_i386_NAME x64) set(FUCHSIA_x86_64_NAME x64) set(FUCHSIA_riscv64_NAME riscv64) - foreach(target x86_64;aarch64;riscv64) + foreach(target i386;x86_64;aarch64;riscv64) set(FUCHSIA_${target}_COMPILER_FLAGS "-I${FUCHSIA_SDK}/pkg/fdio/include") set(FUCHSIA_${target}_LINKER_FLAGS "-L${FUCHSIA_SDK}/arch/${FUCHSIA_${target}_NAME}/lib") set(FUCHSIA_${target}_SYSROOT "${FUCHSIA_SDK}/arch/${FUCHSIA_${target}_NAME}/sysroot") endforeach() - foreach(target x86_64;aarch64;riscv64) + foreach(target i386;x86_64;aarch64;riscv64) # Set the per-target builtins options. list(APPEND BUILTIN_TARGETS "${target}-unknown-fuchsia") set(BUILTINS_${target}-unknown-fuchsia_CMAKE_SYSTEM_NAME Fuchsia CACHE STRING "") diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 9181c715085e..69133ca31fec 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -480,6 +480,8 @@ TargetInfo *AllocateTarget(const llvm::Triple &Triple, return new OpenBSDI386TargetInfo(Triple, Opts); case llvm::Triple::FreeBSD: return new FreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); + case llvm::Triple::Fuchsia: + return new FuchsiaTargetInfo<X86_32TargetInfo>(Triple, Opts); case llvm::Triple::KFreeBSD: return new KFreeBSDTargetInfo<X86_32TargetInfo>(Triple, Opts); case llvm::Triple::Minix: _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits