mirror of
https://github.com/Gericom/teak-llvm.git
synced 2025-06-19 11:35:51 -04:00
Initialization: move InstructionEmulation to full initialization
The debug server does not need to use the instruction emulation. This helps reduce the size of the final lldb-server binary by another ~100K (~1% savings). llvm-svn: 360067
This commit is contained in:
parent
55a71b575c
commit
e24d8c55d5
@ -43,7 +43,10 @@
|
||||
#include "Plugins/DynamicLoader/POSIX-DYLD/DynamicLoaderPOSIXDYLD.h"
|
||||
#include "Plugins/DynamicLoader/Static/DynamicLoaderStatic.h"
|
||||
#include "Plugins/DynamicLoader/Windows-DYLD/DynamicLoaderWindowsDYLD.h"
|
||||
#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
|
||||
#include "Plugins/Instruction/ARM64/EmulateInstructionARM64.h"
|
||||
#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
|
||||
#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
|
||||
#include "Plugins/Instruction/PPC64/EmulateInstructionPPC64.h"
|
||||
#include "Plugins/InstrumentationRuntime/ASan/ASanRuntime.h"
|
||||
#include "Plugins/InstrumentationRuntime/MainThreadChecker/MainThreadCheckerRuntime.h"
|
||||
@ -207,8 +210,13 @@ llvm::Error SystemInitializerFull::Initialize() {
|
||||
SymbolFileSymtab::Initialize();
|
||||
UnwindAssemblyInstEmulation::Initialize();
|
||||
UnwindAssembly_x86::Initialize();
|
||||
|
||||
EmulateInstructionARM::Initialize();
|
||||
EmulateInstructionARM64::Initialize();
|
||||
EmulateInstructionMIPS::Initialize();
|
||||
EmulateInstructionMIPS64::Initialize();
|
||||
EmulateInstructionPPC64::Initialize();
|
||||
|
||||
SymbolFileDWARFDebugMap::Initialize();
|
||||
ItaniumABILanguageRuntime::Initialize();
|
||||
AppleObjCRuntimeV2::Initialize();
|
||||
@ -309,8 +317,13 @@ void SystemInitializerFull::Terminate() {
|
||||
SymbolFileSymtab::Terminate();
|
||||
UnwindAssembly_x86::Terminate();
|
||||
UnwindAssemblyInstEmulation::Terminate();
|
||||
|
||||
EmulateInstructionARM::Terminate();
|
||||
EmulateInstructionARM64::Terminate();
|
||||
EmulateInstructionMIPS::Terminate();
|
||||
EmulateInstructionMIPS64::Terminate();
|
||||
EmulateInstructionPPC64::Terminate();
|
||||
|
||||
SymbolFileDWARFDebugMap::Terminate();
|
||||
ItaniumABILanguageRuntime::Terminate();
|
||||
AppleObjCRuntimeV2::Terminate();
|
||||
|
@ -14,9 +14,6 @@ add_lldb_library(lldbInitialization
|
||||
LINK_LIBS
|
||||
lldbCore
|
||||
lldbHost
|
||||
lldbPluginInstructionARM
|
||||
lldbPluginInstructionMIPS
|
||||
lldbPluginInstructionMIPS64
|
||||
lldbPluginProcessGDBRemote
|
||||
${EXTRA_PLUGINS}
|
||||
${LLDB_SYSTEM_LIBS}
|
||||
|
@ -8,9 +8,6 @@
|
||||
|
||||
#include "lldb/Initialization/SystemInitializerCommon.h"
|
||||
|
||||
#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
|
||||
#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
|
||||
#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
|
||||
#include "Plugins/Process/gdb-remote/ProcessGDBRemoteLog.h"
|
||||
#include "lldb/Host/FileSystem.h"
|
||||
#include "lldb/Host/Host.h"
|
||||
@ -99,10 +96,6 @@ llvm::Error SystemInitializerCommon::Initialize() {
|
||||
|
||||
process_gdb_remote::ProcessGDBRemoteLog::Initialize();
|
||||
|
||||
EmulateInstructionARM::Initialize();
|
||||
EmulateInstructionMIPS::Initialize();
|
||||
EmulateInstructionMIPS64::Initialize();
|
||||
|
||||
#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__)
|
||||
ProcessPOSIXLog::Initialize();
|
||||
#endif
|
||||
@ -117,10 +110,6 @@ void SystemInitializerCommon::Terminate() {
|
||||
static Timer::Category func_cat(LLVM_PRETTY_FUNCTION);
|
||||
Timer scoped_timer(func_cat, LLVM_PRETTY_FUNCTION);
|
||||
|
||||
EmulateInstructionARM::Terminate();
|
||||
EmulateInstructionMIPS::Terminate();
|
||||
EmulateInstructionMIPS64::Terminate();
|
||||
|
||||
#if defined(_WIN32)
|
||||
ProcessWindowsLog::Terminate();
|
||||
#endif
|
||||
|
@ -67,6 +67,9 @@ add_lldb_tool(lldb-server
|
||||
lldbHost
|
||||
lldbInitialization
|
||||
${LLDB_PLUGINS}
|
||||
lldbPluginInstructionARM
|
||||
lldbPluginInstructionMIPS
|
||||
lldbPluginInstructionMIPS64
|
||||
${LLDB_SYSTEM_LIBS}
|
||||
|
||||
LINK_COMPONENTS
|
||||
|
@ -19,6 +19,23 @@ using HostObjectFile = ObjectFilePECOFF;
|
||||
using HostObjectFile = ObjectFileELF;
|
||||
#endif
|
||||
|
||||
#if defined(__arm__) || defined(__arm) || defined(_ARM) || defined(_M_ARM)
|
||||
#define LLDB_TARGET_ARM
|
||||
#include "Plugins/Instruction/ARM/EmulateInstructionARM.h"
|
||||
#endif
|
||||
|
||||
#if defined(__mips__) || defined(mips) || defined(__mips) || \
|
||||
defined(__MIPS__) || defined(_M_MIPS)
|
||||
#define LLDB_TARGET_MIPS
|
||||
#include "Plugins/Instruction/MIPS/EmulateInstructionMIPS.h"
|
||||
#endif
|
||||
|
||||
#if defined(__mips64__) || defined(mips64) || defined(__mips64) || \
|
||||
defined(__MIPS64__) || defined(_M_MIPS64)
|
||||
#define LLDB_TARGET_MIPS64
|
||||
#include "Plugins/Instruction/MIPS64/EmulateInstructionMIPS64.h"
|
||||
#endif
|
||||
|
||||
using namespace lldb_private;
|
||||
|
||||
llvm::Error SystemInitializerLLGS::Initialize() {
|
||||
@ -27,10 +44,31 @@ llvm::Error SystemInitializerLLGS::Initialize() {
|
||||
|
||||
HostObjectFile::Initialize();
|
||||
|
||||
#if defined(LLDB_TARGET_ARM)
|
||||
EmulateInstructionARM::Initialize();
|
||||
#endif
|
||||
#if defined(LLDB_TARGET_MIPS)
|
||||
EmulateInstructionMIPS::Initialize();
|
||||
#endif
|
||||
#if defined(LLDB_TARGET_MIPS64)
|
||||
EmulateInstructionMIPS64::Initialize();
|
||||
#endif
|
||||
|
||||
return llvm::Error::success();
|
||||
}
|
||||
|
||||
void SystemInitializerLLGS::Terminate() {
|
||||
HostObjectFile::Terminate();
|
||||
|
||||
#if defined(LLDB_TARGET_ARM)
|
||||
EmulateInstructionARM::Terminate();
|
||||
#endif
|
||||
#if defined(LLDB_TARGET_MIPS)
|
||||
EmulateInstructionMIPS::Terminate();
|
||||
#endif
|
||||
#if defined(LLDB_TARGET_MIPS64)
|
||||
EmulateInstructionMIPS64::Terminate();
|
||||
#endif
|
||||
|
||||
SystemInitializerCommon::Terminate();
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user