#include "lldb/Symbol/ObjectFile.h"
#include "lldb/Core/Module.h"
#include "lldb/Core/ModuleSpec.h"
#include "lldb/Core/PluginManager.h"
#include "lldb/Core/Section.h"
#include "lldb/Symbol/CallFrameInfo.h"
#include "lldb/Symbol/ObjectContainer.h"
#include "lldb/Symbol/SymbolFile.h"
#include "lldb/Target/Process.h"
#include "lldb/Target/SectionLoadList.h"
#include "lldb/Target/Target.h"
#include "lldb/Utility/DataBuffer.h"
#include "lldb/Utility/DataBufferHeap.h"
#include "lldb/Utility/LLDBLog.h"
#include "lldb/Utility/Log.h"
#include "lldb/Utility/Timer.h"
#include "lldb/lldb-private.h"
#include "llvm/Support/DJB.h"
usingnamespacelldb;
usingnamespacelldb_private;
char ObjectFile::ID;
size_t ObjectFile::g_initial_bytes_to_read = …;
static ObjectFileSP
CreateObjectFromContainer(const lldb::ModuleSP &module_sp, const FileSpec *file,
lldb::offset_t file_offset, lldb::offset_t file_size,
DataBufferSP data_sp, lldb::offset_t &data_offset) { … }
ObjectFileSP
ObjectFile::FindPlugin(const lldb::ModuleSP &module_sp, const FileSpec *file,
lldb::offset_t file_offset, lldb::offset_t file_size,
DataBufferSP &data_sp, lldb::offset_t &data_offset) { … }
ObjectFileSP ObjectFile::FindPlugin(const lldb::ModuleSP &module_sp,
const ProcessSP &process_sp,
lldb::addr_t header_addr,
WritableDataBufferSP data_sp) { … }
bool ObjectFile::IsObjectFile(lldb_private::FileSpec file_spec) { … }
size_t ObjectFile::GetModuleSpecifications(const FileSpec &file,
lldb::offset_t file_offset,
lldb::offset_t file_size,
ModuleSpecList &specs,
DataBufferSP data_sp) { … }
size_t ObjectFile::GetModuleSpecifications(
const lldb_private::FileSpec &file, lldb::DataBufferSP &data_sp,
lldb::offset_t data_offset, lldb::offset_t file_offset,
lldb::offset_t file_size, lldb_private::ModuleSpecList &specs) { … }
ObjectFile::ObjectFile(const lldb::ModuleSP &module_sp,
const FileSpec *file_spec_ptr,
lldb::offset_t file_offset, lldb::offset_t length,
lldb::DataBufferSP data_sp, lldb::offset_t data_offset)
: … { … }
ObjectFile::ObjectFile(const lldb::ModuleSP &module_sp,
const ProcessSP &process_sp, lldb::addr_t header_addr,
DataBufferSP header_data_sp)
: … { … }
ObjectFile::~ObjectFile() { … }
bool ObjectFile::SetModulesArchitecture(const ArchSpec &new_arch) { … }
AddressClass ObjectFile::GetAddressClass(addr_t file_addr) { … }
WritableDataBufferSP ObjectFile::ReadMemory(const ProcessSP &process_sp,
lldb::addr_t addr,
size_t byte_size) { … }
size_t ObjectFile::GetData(lldb::offset_t offset, size_t length,
DataExtractor &data) const { … }
size_t ObjectFile::CopyData(lldb::offset_t offset, size_t length,
void *dst) const { … }
size_t ObjectFile::ReadSectionData(Section *section,
lldb::offset_t section_offset, void *dst,
size_t dst_len) { … }
size_t ObjectFile::ReadSectionData(Section *section,
DataExtractor §ion_data) { … }
bool ObjectFile::SplitArchivePathWithObject(llvm::StringRef path_with_object,
FileSpec &archive_file,
ConstString &archive_object,
bool must_exist) { … }
void ObjectFile::ClearSymtab() { … }
SectionList *ObjectFile::GetSectionList(bool update_module_section_list) { … }
lldb::SymbolType
ObjectFile::GetSymbolTypeFromName(llvm::StringRef name,
lldb::SymbolType symbol_type_hint) { … }
std::vector<ObjectFile::LoadableData>
ObjectFile::GetLoadableData(Target &target) { … }
std::unique_ptr<CallFrameInfo> ObjectFile::CreateCallFrameInfo() { … }
void ObjectFile::RelocateSection(lldb_private::Section *section)
{ … }
DataBufferSP ObjectFile::MapFileData(const FileSpec &file, uint64_t Size,
uint64_t Offset) { … }
void llvm::format_provider<ObjectFile::Type>::format(
const ObjectFile::Type &type, raw_ostream &OS, StringRef Style) { … }
void llvm::format_provider<ObjectFile::Strata>::format(
const ObjectFile::Strata &strata, raw_ostream &OS, StringRef Style) { … }
Symtab *ObjectFile::GetSymtab() { … }
uint32_t ObjectFile::GetCacheHash() { … }
namespace llvm {
namespace json {
bool fromJSON(const llvm::json::Value &value,
lldb_private::ObjectFile::Type &type, llvm::json::Path path) { … }
}
}