9#ifndef liblldb_NativeProcessELF_H_
10#define liblldb_NativeProcessELF_H_
14#include "llvm/BinaryFormat/ELF.h"
39 template <
typename ELF_EHDR,
typename ELF_PHDR,
typename ELF_DYN>
42 llvm::Expected<std::vector<SVR4LibraryInfo>>
46 llvm::Expected<SVR4LibraryInfo>
59 llvm::ELF::Elf32_Ehdr, llvm::ELF::Elf32_Phdr, llvm::ELF::Elf32_Dyn>();
61 llvm::ELF::Elf64_Ehdr, llvm::ELF::Elf64_Phdr, llvm::ELF::Elf64_Dyn>();
EntryType
Constants describing the type of entry.
Abstract class that extends NativeProcessProtocol with ELF specific logic.
llvm::Expected< SVR4LibraryInfo > ReadSVR4LibraryInfo(lldb::addr_t link_map_addr)
std::unique_ptr< AuxVector > m_aux_vector
llvm::Expected< std::vector< SVR4LibraryInfo > > GetLoadedSVR4Libraries() override
lldb::addr_t GetSharedLibraryInfoAddress() override
lldb::addr_t GetELFImageInfoAddress()
std::optional< uint64_t > GetAuxValue(enum AuxVector::EntryType type)
void NotifyDidExec() override
Notify the delegate that an exec occurred.
std::optional< lldb::addr_t > m_shared_library_info_addr
NativeProcessProtocol(lldb::pid_t pid, int terminal_fd, NativeDelegate &delegate)
A class that represents a running process on the host machine.