1 //===-- DynamicLoaderWasmDYLD.h ---------------------------------*- C++ -*-===//
3 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
4 // See https://llvm.org/LICENSE.txt for license information.
5 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
7 //===----------------------------------------------------------------------===//
9 #ifndef liblldb_Plugins_DynamicLoaderWasmDYLD_h_
10 #define liblldb_Plugins_DynamicLoaderWasmDYLD_h_
12 #include "lldb/Target/DynamicLoader.h"
14 namespace lldb_private
{
17 class DynamicLoaderWasmDYLD
: public DynamicLoader
{
19 DynamicLoaderWasmDYLD(Process
*process
);
21 static void Initialize();
22 static void Terminate() {}
24 static llvm::StringRef
GetPluginNameStatic() { return "wasm-dyld"; }
25 static llvm::StringRef
GetPluginDescriptionStatic();
27 static DynamicLoader
*CreateInstance(Process
*process
, bool force
);
31 void DidAttach() override
;
32 void DidLaunch() override
{}
33 Status
CanLoadImage() override
{ return Status(); }
34 lldb::ThreadPlanSP
GetStepThroughTrampolinePlan(Thread
&thread
,
36 lldb::ModuleSP
LoadModuleAtAddress(const lldb_private::FileSpec
&file
,
37 lldb::addr_t link_map_addr
,
38 lldb::addr_t base_addr
,
39 bool base_addr_is_offset
) override
;
43 /// PluginInterface protocol.
45 llvm::StringRef
GetPluginName() override
{ return GetPluginNameStatic(); }
50 } // namespace lldb_private
52 #endif // liblldb_Plugins_DynamicLoaderWasmDYLD_h_