LLDB mainline
DynamicLoaderWasmDYLD.h
Go to the documentation of this file.
1//===-- DynamicLoaderWasmDYLD.h ---------------------------------*- C++ -*-===//
2//
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
6//
7//===----------------------------------------------------------------------===//
8
9#ifndef liblldb_Plugins_DynamicLoaderWasmDYLD_h_
10#define liblldb_Plugins_DynamicLoaderWasmDYLD_h_
11
13
14namespace lldb_private {
15namespace wasm {
16
18public:
20
21 static void Initialize();
22 static void Terminate() {}
23
24 static llvm::StringRef GetPluginNameStatic() { return "wasm-dyld"; }
25 static llvm::StringRef GetPluginDescriptionStatic();
26
27 static DynamicLoader *CreateInstance(Process *process, bool force);
28
29 /// DynamicLoader
30 /// \{
31 void DidAttach() override;
32 void DidLaunch() override {}
33 Status CanLoadImage() override { return Status(); }
35 bool stop) override;
37 lldb::addr_t link_map_addr,
38 lldb::addr_t base_addr,
39 bool base_addr_is_offset) override;
40
41 /// \}
42
43 /// PluginInterface protocol.
44 /// \{
45 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }
46 /// \}
47};
48
49} // namespace wasm
50} // namespace lldb_private
51
52#endif // liblldb_Plugins_DynamicLoaderWasmDYLD_h_
A plug-in interface definition class for dynamic loaders.
Definition: DynamicLoader.h:53
A file utility class.
Definition: FileSpec.h:56
A plug-in interface definition class for debugging a process.
Definition: Process.h:341
An error handling class.
Definition: Status.h:44
void DidLaunch() override
Called after launching a process.
llvm::StringRef GetPluginName() override
PluginInterface protocol.
lldb::ModuleSP LoadModuleAtAddress(const lldb_private::FileSpec &file, lldb::addr_t link_map_addr, lldb::addr_t base_addr, bool base_addr_is_offset) override
Locates or creates a module given by file and updates/loads the resulting module at the virtual base ...
lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, bool stop) override
Provides a plan to step through the dynamic loader trampoline for the current state of thread.
Status CanLoadImage() override
Ask if it is ok to try and load or unload an shared library (image).
static DynamicLoader * CreateInstance(Process *process, bool force)
A class that represents a running process on the host machine.
std::shared_ptr< lldb_private::ThreadPlan > ThreadPlanSP
Definition: lldb-forward.h:449
uint64_t addr_t
Definition: lldb-types.h:80
std::shared_ptr< lldb_private::Module > ModuleSP
Definition: lldb-forward.h:371