#include "llvm/ADT/StringRef.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Expression/ObjectFileJIT.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/ArchSpec.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/FileSpec.h"
#include "lldb/Utility/FileSpecList.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Timer.h"
#include "lldb/Utility/UUID.h"
usingnamespacelldb;
usingnamespacelldb_private;
char ObjectFileJIT::ID;
void ObjectFileJIT::Initialize() { … }
void ObjectFileJIT::Terminate() { … }
ObjectFile *ObjectFileJIT::CreateInstance(const lldb::ModuleSP &module_sp,
DataBufferSP data_sp,
lldb::offset_t data_offset,
const FileSpec *file,
lldb::offset_t file_offset,
lldb::offset_t length) { … }
ObjectFile *ObjectFileJIT::CreateMemoryInstance(const lldb::ModuleSP &module_sp,
WritableDataBufferSP data_sp,
const ProcessSP &process_sp,
lldb::addr_t header_addr) { … }
size_t ObjectFileJIT::GetModuleSpecifications(
const lldb_private::FileSpec &file, lldb::DataBufferSP &data_sp,
lldb::offset_t data_offset, lldb::offset_t file_offset,
lldb::offset_t length, lldb_private::ModuleSpecList &specs) { … }
ObjectFileJIT::ObjectFileJIT(const lldb::ModuleSP &module_sp,
const ObjectFileJITDelegateSP &delegate_sp)
: … { … }
ObjectFileJIT::~ObjectFileJIT() = default;
bool ObjectFileJIT::ParseHeader() { … }
ByteOrder ObjectFileJIT::GetByteOrder() const { … }
bool ObjectFileJIT::IsExecutable() const { … }
uint32_t ObjectFileJIT::GetAddressByteSize() const { … }
void ObjectFileJIT::ParseSymtab(Symtab &symtab) { … }
bool ObjectFileJIT::IsStripped() { … }
void ObjectFileJIT::CreateSections(SectionList &unified_section_list) { … }
void ObjectFileJIT::Dump(Stream *s) { … }
UUID ObjectFileJIT::GetUUID() { … }
uint32_t ObjectFileJIT::GetDependentModules(FileSpecList &files) { … }
lldb_private::Address ObjectFileJIT::GetEntryPointAddress() { … }
lldb_private::Address ObjectFileJIT::GetBaseAddress() { … }
ObjectFile::Type ObjectFileJIT::CalculateType() { … }
ObjectFile::Strata ObjectFileJIT::CalculateStrata() { … }
ArchSpec ObjectFileJIT::GetArchitecture() { … }
bool ObjectFileJIT::SetLoadAddress(Target &target, lldb::addr_t value,
bool value_is_offset) { … }
size_t ObjectFileJIT::ReadSectionData(lldb_private::Section *section,
lldb::offset_t section_offset, void *dst,
size_t dst_len) { … }
size_t
ObjectFileJIT::ReadSectionData(lldb_private::Section *section,
lldb_private::DataExtractor §ion_data) { … }