10#ifndef LLDB_SOURCE_PLUGINS_OBJECTCONTAINER_CLANG_OFFLOAD_BUNDLE_OBJECTCONTAINERCLANGOFFLOADBUNDLE_H
11#define LLDB_SOURCE_PLUGINS_OBJECTCONTAINER_CLANG_OFFLOAD_BUNDLE_OBJECTCONTAINERCLANGOFFLOADBUNDLE_H
33 return "clang-offload-bundle";
37 return "Clang offload bundle object container reader.";
73 std::vector<Entry> &entries);
ObjectContainerClangOffloadBundle(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length)
llvm::StringRef GetPluginName() override
std::vector< Entry > m_entries
static bool MagicBytesMatch(const lldb_private::DataExtractor &data)
lldb::ObjectFileSP GetObjectFile(const lldb_private::FileSpec *file) override
Selects an architecture in an object file.
static llvm::StringRef GetPluginDescriptionStatic()
static llvm::StringRef GetPluginNameStatic()
static bool FindBundleEntries(const lldb_private::FileSpec &file, std::vector< Entry > &entries)
bool ParseHeader() override
Attempts to parse the object header.
static lldb_private::ObjectContainer * CreateInstance(const lldb::ModuleSP &module_sp, lldb::DataBufferSP &data_sp, lldb::offset_t data_offset, const lldb_private::FileSpec *file, lldb::offset_t file_offset, lldb::offset_t length)
size_t GetNumArchitectures() const override
Get the number of architectures in this object file.
static lldb_private::ModuleSpecList GetModuleSpecifications(const lldb_private::FileSpec &file, lldb::DataExtractorSP &extractor_sp, lldb::offset_t file_offset, lldb::offset_t file_size)
bool GetArchitectureAtIndex(uint32_t idx, lldb_private::ArchSpec &arch) const override
Gets the architecture given an index.
~ObjectContainerClangOffloadBundle() override
An architecture specification class.
A plug-in interface definition class for object containers.
std::shared_ptr< lldb_private::ObjectFile > ObjectFileSP
std::shared_ptr< lldb_private::DataBuffer > DataBufferSP
std::shared_ptr< lldb_private::DataExtractor > DataExtractorSP
std::shared_ptr< lldb_private::Module > ModuleSP
lldb_private::ArchSpec arch
lldb::DataExtractorSP extractor_sp