[clang] 063128f - [Fuchsia] Build compiler-rt builtins for 32-bit x86
Petr Hosek via cfe-commits
cfe-commits at lists.llvm.org
Fri Apr 24 12:18:54 PDT 2020
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:
More information about the cfe-commits
mailing list