1/*******************************************************************\
7\*******************************************************************/
12#ifndef CPROVER_GOTO_PROGRAMS_ELF_READER_H
13#define CPROVER_GOTO_PROGRAMS_ELF_READER_H
20// http://www.skyfree.org/linux/references/ELF_Format.pdf
21// http://downloads.openwatcom.org/ftp/devel/docs/elf-64-gen.pdf
23 typedef unsigned short Elf32_Half;
// 2 NOLINT(readability/identifiers)
24 typedef unsigned int Elf32_Word;
// 4 NOLINT(readability/identifiers)
25 typedef unsigned int Elf32_Off;
// 4 NOLINT(readability/identifiers)
26 typedef unsigned int Elf32_Addr;
// 4 NOLINT(readability/identifiers)
28 typedef unsigned short Elf64_Half;
// 2 NOLINT(readability/identifiers)
29 typedef unsigned int Elf64_Word;
// 4 NOLINT(readability/identifiers)
30 typedef unsigned long long int Elf64_Xword;
// 8 NOLINT(readability/identifiers)
31 typedef unsigned long long int Elf64_Off;
// 8 NOLINT(readability/identifiers)
32 typedef unsigned long long int Elf64_Addr;
// 8 NOLINT(readability/identifiers)
38 unsigned char e_ident[
EI_NIDENT];
/* Magic number and other info */
56 unsigned char e_ident[16];
/* ELF identification */
114 // section header table
123 std::string
get_string(std::streampos index)
const;
157#endif // CPROVER_GOTO_PROGRAMS_ELF_READER_H
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
std::size_t number_of_sections
std::vector< Elf32_Shdr > elf32_section_header_tablet
std::string get_string(std::streampos index) const
std::string elf64_section_name(std::size_t index) const
elf64_section_header_tablet elf64_section_header_table
std::vector< Elf64_Shdr > elf64_section_header_tablet
bool has_section(const std::string &name) const
elf32_section_header_tablet elf32_section_header_table
std::string section_name(std::size_t index) const
std::streampos string_table_offset
std::string elf32_section_name(std::size_t index) const
std::streampos section_offset(std::size_t index) const
unsigned short Elf32_Half
unsigned short Elf64_Half
unsigned long long int Elf64_Addr
unsigned long long int Elf64_Xword
unsigned long long int Elf64_Off