1 //===-- DynamicLoaderWindowsDYLD.cpp --------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
10 #include "DynamicLoaderWindowsDYLD.h"
12 #include "lldb/Core/PluginManager.h"
13 #include "lldb/Target/Process.h"
14 #include "lldb/Target/Target.h"
16 #include "llvm/ADT/Triple.h"
19 using namespace lldb_private;
21 DynamicLoaderWindowsDYLD::DynamicLoaderWindowsDYLD(Process *process)
22 : DynamicLoader(process)
27 DynamicLoaderWindowsDYLD::~DynamicLoaderWindowsDYLD()
32 void DynamicLoaderWindowsDYLD::Initialize()
34 PluginManager::RegisterPlugin(GetPluginNameStatic(),
35 GetPluginDescriptionStatic(),
39 void DynamicLoaderWindowsDYLD::Terminate()
44 ConstString DynamicLoaderWindowsDYLD::GetPluginNameStatic()
46 static ConstString g_plugin_name("windows-dyld");
50 const char *DynamicLoaderWindowsDYLD::GetPluginDescriptionStatic()
52 return "Dynamic loader plug-in that watches for shared library "
53 "loads/unloads in Windows processes.";
57 DynamicLoader *DynamicLoaderWindowsDYLD::CreateInstance(Process *process, bool force)
59 bool should_create = force;
62 const llvm::Triple &triple_ref = process->GetTarget().GetArchitecture().GetTriple();
63 if (triple_ref.getOS() == llvm::Triple::Win32)
68 return new DynamicLoaderWindowsDYLD (process);
73 void DynamicLoaderWindowsDYLD::DidAttach()
78 void DynamicLoaderWindowsDYLD::DidLaunch()
83 Error DynamicLoaderWindowsDYLD::CanLoadImage()
88 ConstString DynamicLoaderWindowsDYLD::GetPluginName()
90 return GetPluginNameStatic();
93 uint32_t DynamicLoaderWindowsDYLD::GetPluginVersion()
99 DynamicLoaderWindowsDYLD::GetStepThroughTrampolinePlan(Thread &thread, bool stop)
101 return ThreadPlanSP();