53 lines · c
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-exception6//7//===----------------------------------------------------------------------===//8 9#ifndef liblldb_Plugins_DynamicLoaderWasmDYLD_h_10#define liblldb_Plugins_DynamicLoaderWasmDYLD_h_11 12#include "lldb/Target/DynamicLoader.h"13 14namespace lldb_private {15namespace wasm {16 17class DynamicLoaderWasmDYLD : public DynamicLoader {18public:19 DynamicLoaderWasmDYLD(Process *process);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 /// DynamicLoader30 /// \{31 void DidAttach() override;32 void DidLaunch() override {}33 Status CanLoadImage() override { return Status(); }34 lldb::ThreadPlanSP GetStepThroughTrampolinePlan(Thread &thread,35 bool stop) override;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;40 41 /// \}42 43 /// PluginInterface protocol.44 /// \{45 llvm::StringRef GetPluginName() override { return GetPluginNameStatic(); }46 /// \}47};48 49} // namespace wasm50} // namespace lldb_private51 52#endif // liblldb_Plugins_DynamicLoaderWasmDYLD_h_53