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 12 #include "lldb/Target/DynamicLoader.h" 13 14 namespace lldb_private { 15 namespace wasm { 16 17 class DynamicLoaderWasmDYLD : public DynamicLoader { 18 public: 19 DynamicLoaderWasmDYLD(Process *process); 20 21 static void Initialize(); Terminate()22 static void Terminate() {} 23 24 static ConstString GetPluginNameStatic(); 25 static const char *GetPluginDescriptionStatic(); 26 27 static DynamicLoader *CreateInstance(Process *process, bool force); 28 29 /// DynamicLoader 30 /// \{ 31 void DidAttach() override; DidLaunch()32 void DidLaunch() override {} CanLoadImage()33 Status CanLoadImage() override { return Status(); } 34 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread, 35 bool stop) override; 36 /// \} 37 38 /// PluginInterface protocol. 39 /// \{ GetPluginName()40 ConstString GetPluginName() override { return GetPluginNameStatic(); } GetPluginVersion()41 uint32_t GetPluginVersion() override { return 1; } 42 /// \} 43 }; 44 45 } // namespace wasm 46 } // namespace lldb_private 47 48 #endif // liblldb_Plugins_DynamicLoaderWasmDYLD_h_ 49