diff options
Diffstat (limited to 'lldb/source/API')
| -rw-r--r-- | lldb/source/API/CMakeLists.txt | 5 | ||||
| -rw-r--r-- | lldb/source/API/SystemInitializerFull.cpp | 57 |
2 files changed, 48 insertions, 14 deletions
diff --git a/lldb/source/API/CMakeLists.txt b/lldb/source/API/CMakeLists.txt index d93b8b5e381..ff42cb3c46f 100644 --- a/lldb/source/API/CMakeLists.txt +++ b/lldb/source/API/CMakeLists.txt @@ -103,6 +103,11 @@ add_lldb_library(liblldb SHARED ${option_install_prefix} ) +foreach (t ${LLVM_TARGETS_TO_BUILD}) + set_property(SOURCE SystemInitializerFull.cpp APPEND PROPERTY + COMPILE_DEFINITIONS "LLVM_TARGET_${t}_BUILT") +endforeach() + if (MSVC) set_source_files_properties(SBReproducer.cpp PROPERTIES COMPILE_FLAGS /bigobj) endif() diff --git a/lldb/source/API/SystemInitializerFull.cpp b/lldb/source/API/SystemInitializerFull.cpp index e7f2206b9a5..f71dd51db1e 100644 --- a/lldb/source/API/SystemInitializerFull.cpp +++ b/lldb/source/API/SystemInitializerFull.cpp @@ -174,20 +174,34 @@ llvm::Error SystemInitializerFull::Initialize() { ClangASTContext::Initialize(); - ABIMacOSX_i386::Initialize(); - ABIMacOSX_arm::Initialize(); +#ifdef LLVM_TARGET_AArch64_BUILT ABIMacOSX_arm64::Initialize(); - ABISysV_arm::Initialize(); ABISysV_arm64::Initialize(); +#endif +#ifdef LLVM_TARGET_ARM_BUILT + ABIMacOSX_arm::Initialize(); + ABISysV_arm::Initialize(); +#endif +#ifdef LLVM_TARGET_Hexagon_BUILT ABISysV_hexagon::Initialize(); - ABISysV_i386::Initialize(); - ABISysV_x86_64::Initialize(); - ABISysV_ppc::Initialize(); - ABISysV_ppc64::Initialize(); +#endif +#ifdef LLVM_TARGET_Mips_BUILT ABISysV_mips::Initialize(); ABISysV_mips64::Initialize(); +#endif +#ifdef LLVM_TARGET_PowerPC_BUILT + ABISysV_ppc::Initialize(); + ABISysV_ppc64::Initialize(); +#endif +#ifdef LLVM_TARGET_SystemZ_BUILT ABISysV_s390x::Initialize(); +#endif +#ifdef LLVM_TARGET_X86_BUILT + ABIMacOSX_i386::Initialize(); + ABISysV_i386::Initialize(); + ABISysV_x86_64::Initialize(); ABIWindows_x86_64::Initialize(); +#endif ArchitectureArm::Initialize(); ArchitectureMips::Initialize(); @@ -288,20 +302,35 @@ void SystemInitializerFull::Terminate() { ArchitectureMips::Terminate(); ArchitecturePPC64::Terminate(); - ABIMacOSX_i386::Terminate(); - ABIMacOSX_arm::Terminate(); +#ifdef LLVM_TARGET_AArch64_BUILT ABIMacOSX_arm64::Terminate(); - ABISysV_arm::Terminate(); ABISysV_arm64::Terminate(); +#endif +#ifdef LLVM_TARGET_ARM_BUILT + ABIMacOSX_arm::Terminate(); + ABISysV_arm::Terminate(); +#endif +#ifdef LLVM_TARGET_Hexagon_BUILT ABISysV_hexagon::Terminate(); - ABISysV_i386::Terminate(); - ABISysV_x86_64::Terminate(); - ABISysV_ppc::Terminate(); - ABISysV_ppc64::Terminate(); +#endif +#ifdef LLVM_TARGET_Mips_BUILT ABISysV_mips::Terminate(); ABISysV_mips64::Terminate(); +#endif +#ifdef LLVM_TARGET_PowerPC_BUILT + ABISysV_ppc::Terminate(); + ABISysV_ppc64::Terminate(); +#endif +#ifdef LLVM_TARGET_SystemZ_BUILT ABISysV_s390x::Terminate(); +#endif +#ifdef LLVM_TARGET_X86_BUILT + ABIMacOSX_i386::Terminate(); + ABISysV_i386::Terminate(); + ABISysV_x86_64::Terminate(); ABIWindows_x86_64::Terminate(); +#endif + DisassemblerLLVMC::Terminate(); JITLoaderGDB::Terminate(); |

