#include "snapshot/elf/module_snapshot_elf.h"
#include <endian.h>
#include <algorithm>
#include "base/files/file_path.h"
#include "snapshot/crashpad_types/image_annotation_reader.h"
#include "snapshot/memory_snapshot_generic.h"
#include "util/misc/elf_note_types.h"
namespace crashpad {
namespace internal {
ModuleSnapshotElf::ModuleSnapshotElf(const std::string& name,
ElfImageReader* elf_reader,
ModuleSnapshot::ModuleType type,
ProcessMemoryRange* process_memory_range,
const ProcessMemory* process_memory)
: … { … }
ModuleSnapshotElf::~ModuleSnapshotElf() = default;
bool ModuleSnapshotElf::Initialize() { … }
bool ModuleSnapshotElf::GetCrashpadOptions(CrashpadInfoClientOptions* options) { … }
std::string ModuleSnapshotElf::Name() const { … }
uint64_t ModuleSnapshotElf::Address() const { … }
uint64_t ModuleSnapshotElf::Size() const { … }
time_t ModuleSnapshotElf::Timestamp() const { … }
void ModuleSnapshotElf::FileVersion(uint16_t* version_0,
uint16_t* version_1,
uint16_t* version_2,
uint16_t* version_3) const { … }
void ModuleSnapshotElf::SourceVersion(uint16_t* version_0,
uint16_t* version_1,
uint16_t* version_2,
uint16_t* version_3) const { … }
ModuleSnapshot::ModuleType ModuleSnapshotElf::GetModuleType() const { … }
void ModuleSnapshotElf::UUIDAndAge(crashpad::UUID* uuid, uint32_t* age) const { … }
std::string ModuleSnapshotElf::DebugFileName() const { … }
std::vector<uint8_t> ModuleSnapshotElf::BuildID() const { … }
std::vector<std::string> ModuleSnapshotElf::AnnotationsVector() const { … }
std::map<std::string, std::string> ModuleSnapshotElf::AnnotationsSimpleMap()
const { … }
std::vector<AnnotationSnapshot> ModuleSnapshotElf::AnnotationObjects() const { … }
std::set<CheckedRange<uint64_t>> ModuleSnapshotElf::ExtraMemoryRanges() const { … }
std::vector<const UserMinidumpStream*>
ModuleSnapshotElf::CustomMinidumpStreams() const { … }
}
}