!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~NoneLThe symbol table entries consist of index information to be read from other L parts of the ELF file. Some of this information is automatically retrieved K for your convenience (including symbol name, description of the enclosing  section, and definition). "Section from steIndex &!Section in which the def is held *9Some other flag, the Int is the bit number for the flag. +Read permission ,Write permission -Execute permission .Segment Types. /Some other type 0Program header table 1 Reserved 2Note sectionks 3Program interpreter path name 4Dynamic linking tables 5Loadable segment 6 Unused entry 9 Segment type :Segment flags ; Virtual address for the segment <!Physical address for the segment =Segment alignment >Data for the segment ?/Size in memory (may be larger then the segment's data) AOther BHMicroprocessor series from PKU-Unity Ltd. and MPRC of Peking University CArca RISC Microprocessor DSharp embedded microprocessor E'S1C33 Family of Seiko Epson processors F(Analog Devices Blackfin (DSP) processor G2Texas Instruments embedded microcontroller msp430 HFujitsu F2MC16 I2National Semiconductor CompactRISC microprocessor JMAX Processor K%Ubicom IP2xxx microcontroller family L6STMicroelectronics (www.st.com) ST200 microcontroller MTrebia SNP 1000 processor NTenor Network TPC processor O$National Semiconductor 32000 series P.Thompson Multimedia General Purpose Processor Q Alphamosaic VideoCore processor RTensilica Xtensa Architecture SARC Cores Tangent-A5 T#OpenRISC 32-bit embedded processor U picoJava VMatsushita MN10200 WMatsushita MN10300 XMitsubishi M32R Y NEC v850 ZMitsubishi D30V [Mitsubishi D10V \ Fujitsu FR30 ] Atmel AVR 8-bit microcontroller ^ SiTera Prism _4Harvard University machine-independent object files ` Donald Knuth's educational 64-bit processor aLSI Logic 16-bit DSP Processor b Element 14 64-bit DSP Processor c0Infineon Technologies 32-bit embedded processor d.Axis Communications 32-bit embedded processor e Digital VAX f.STMicroelectronics ST19 8-bit microcontroller gSilicon Graphics SVx h"Motorola MC68HC05 Microcontroller i"Motorola MC68HC08 Microcontroller j"Motorola MC68HC11 Microcontroller k"Motorola MC68HC16 Microcontroller l-STMicroelectronics ST7 8-bit microcontroller mSTMicroelectronics ST9+ 8/16 bit microcontroller nSiemens FX66 microcontroller oSony DSP Processor pAMD x86-64 architecture q5Advanced Logic Corp. TinyJ embedded processor family r#STMicroelectronics ST100 processor sToyota ME16 processor tMotorola Star*Core processor uDenso NDR1 microprocessor v"Sony nCPU embedded RISC processor w Siemens PCP x#Fujitsu MMA Multimedia Accelerator yMotorola M68HC12 zMotorola ColdFire {Stanford MIPS-X |#Intel IA-64 processor architecture } Hitachi H8/500 ~ Hitachi H8S  Hitachi H8/300H  Hitachi H8/300 /Argonaut RISC Core, Argonaut Technologies Inc. #Siemens TriCore embedded processor SPARC Version 9  Hitachi SH Digital Alpha Advanced RISC Machines ARM  Motorola RCE  TRW RH-32  Fujitsu FR20  NEC V800  Cell SPU  IBM System/390 Processor 64-bit PowerPC PowerPC  Intel 80960 Enhanced instruction set SPARC Fujitsu VPP500 Hewlett-Packard PA-RISC  SPARC 64-bit MIPS RS3000 Little-endian  IBM System/370 Processor MIPS I Architecture  Intel 80860 !Intel i486 (DO NOT USE THIS ONE) Motorola 88000 Motorola 68000  Intel 80386 SPARC AT& T WE 32100  No machine Other Core dump object file Shared object file Executable object file Relocatable object file Unspecified type Other "Standalone (embedded) application ARM Amiga Research OS  Hewlett-Packard Non-Stop Kernel  Open VMS  Open BSD Novell Modesto Compaq TRU64 UNIX FreeBSD IRIX AIX  Sun Solaris Linux NetBSD Hewlett-Packard HP-UX No extensions or unspecified Big-endian ELF format Little-endian ELF format 64-bit ELF format 32-bit ELF format (Processor- or environment-specific flag )Section contains executable instructions 0Section is allocated in memory image of program Section contains writable data (Processor- or environment-specific type 'Contains a dynamic loader symbol table  Reserved  Contains Rel type relocation entries DContains uninitialized space; does not occupy any space in the file Contains note information  Contains dynamic linking tables Contains a symbol hash table  Contains Rela type relocation entries Contains a string table Contains a linker symbol table ,Contains information defined by the program $Identifies an empty section header. $Identifies the name of the section. $Identifies the type of the section. *Identifies the attributes of the section. vThe virtual address of the beginning of the section in memory. 0 for sections that are not loaded into target memory. ]The size of the section. Except for SHT_NOBITS sections, this is the size of elfSectionData. NContains a section index of an associated section, depending on section type. =Contains extra information for the index, depending on type. HContains the required alignment of the section. Must be a power of two. (Size of entries if section has a table. The raw data for the section. )Identifies the class of the object file. 1Identifies the data encoding of the object file. 2Identifies the version of the object file format. JIdentifies the operating system and ABI for which the object is prepared. =Identifies the ABI version for which the object is prepared. !Identifies the object file type. $Identifies the target architecture. GVirtual address of the program entry point. 0 for non-executable Elfs. List of sections in the file. List of segments in the file. aParses a ByteString into an Elf record. Parse failures call error. 32-bit ELF objects have their S fields promoted to 64-bit so that the 32- and 64-bit ELF records can be the same. GParse the symbol table section into a list of symbol table entries. If : no symbol table is found then an empty list is returned. T This function does not consult flags to look for SHT_STRTAB (when naming symbols), * it just looks for particular sections of .strtab and  .shstrtab. =Assumes the given section is a symbol table, type SHT_SYMTAB $ (guaranteed by parseSymbolTables). 9Use the symbol offset and size to extract its definition  (in the form of a ByteString). 4 If the size is zero, or the offset larger than the ,  then  is returned. @Gets a single entry from the symbol table, use with runGetMany. .Given a section name, extract the ElfSection.   !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~       !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~789:;<=>?.6543210/)-,+*@~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA !"#$%&'(   3    !"#$%&'()-,+*.6543210/789:;<=>?@^~}|{zyxwvutsrqponmlkjihgfedcba`_^]\[ZYXWVUTSRQPONMLKJIHGFEDCBA            !"#$%&'()*+,-./01234567899:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     elf-0.27Data.ElfElfSectionIndexSHNIndex SHNCommonSHNAbsSHNHiOS SHNCustomOSSHNLoOS SHNHiProc SHNCustomProc SHNLoProcSHNUndef ElfSymbolType STTHiProc STTLoProcSTTHiOSSTTLoOSSTTTLS STTCommonSTTFile STTSectionSTTFunc STTObject STTNoTypeElfSymbolBinding STBHiProc STBLoProcSTBHiOSSTBLoOSSTBWeak STBGlobalSTBLocalElfSymbolTableEntryESTsteNamesteEnclosingSectionsteTypesteBindsteOthersteIndexsteValuesteSizeElfSegmentFlagPF_ExtPF_RPF_WPF_XElfSegmentTypePT_OtherPT_PHDRPT_SHLIBPT_NOTE PT_INTERP PT_DYNAMICPT_LOADPT_NULL ElfSegmentelfSegmentTypeelfSegmentFlagselfSegmentVirtAddrelfSegmentPhysAddrelfSegmentAlignelfSegmentDataelfSegmentMemSize ElfMachineEM_EXT EM_UNICOREEM_ARCAEM_SEP EM_SE_C33 EM_BLACKFIN EM_MSP430 EM_F2MC16EM_CREM_MAXEM_IP2KEM_ST200EM_SNP1KEM_TPCEM_NS32K EM_TMM_GPP EM_VIDEOCORE EM_XTENSA EM_ARC_A5 EM_OPENRISCEM_PJ EM_MN10200 EM_MN10300EM_M32REM_V850EM_D30VEM_D10VEM_FR30EM_AVREM_PRISMEM_HUANYEM_MMIXEM_ZSP EM_FIREPATH EM_JAVELINEM_CRISEM_VAXEM_ST19EM_SVX EM_68HC05 EM_68HC08 EM_68HC11 EM_68HC16EM_ST7 EM_ST9PLUSEM_FX66EM_PDSP EM_X86_64EM_TINYJEM_ST100EM_ME16 EM_STARCOREEM_NDR1EM_NCPUEM_PCPEM_MMA EM_68HC12 EM_COLDFIRE EM_MIPS_XEM_IA_64 EM_H8_500EM_H8S EM_H8_300H EM_H8_300EM_ARC EM_TRICORE EM_SPARCV9EM_SHEM_ALPHAEM_ARMEM_RCEEM_RH32EM_FR20EM_V800EM_SPUEM_S390EM_PPC64EM_PPCEM_960EM_SPARC32PLUS EM_VPP500 EM_PARISC EM_SPARC64EM_MIPS_RS3_LEEM_S370EM_MIPSEM_860EM_486EM_88KEM_68KEM_386EM_SPARCEM_M32EM_NONEElfTypeET_EXTET_COREET_DYNET_EXECET_RELET_NONEElfOSABI ELFOSABI_EXTELFOSABI_STANDALONE ELFOSABI_ARM ELFOSABI_AROS ELFOSABI_NSKELFOSABI_OPENVMSELFOSABI_OPENBSDELFOSABI_MODESTOELFOSABI_TRU64ELFOSABI_FREEBSD ELFOSABI_IRIX ELFOSABI_AIXELFOSABI_SOLARISELFOSABI_LINUXELFOSABI_NETBSD ELFOSABI_HPUX ELFOSABI_SYSVElfData ELFDATA2MSB ELFDATA2LSBElfClass ELFCLASS64 ELFCLASS32ElfSectionFlagsSHF_EXT SHF_EXECINSTR SHF_ALLOC SHF_WRITEElfSectionTypeSHT_EXT SHT_DYNSYM SHT_SHLIBSHT_REL SHT_NOBITSSHT_NOTE SHT_DYNAMICSHT_HASHSHT_RELA SHT_STRTAB SHT_SYMTAB SHT_PROGBITSSHT_NULL ElfSectionelfSectionNameelfSectionTypeelfSectionFlagselfSectionAddrelfSectionSizeelfSectionLinkelfSectionInfoelfSectionAddrAlignelfSectionEntSizeelfSectionDataElfelfClasselfData elfVersionelfOSABI elfABIVersionelfType elfMachineelfEntry elfSections elfSegmentsparseElfparseSymbolTablesfindSymbolDefinitiongetSymbolTableEntriesbase Data.MaybeNothinggetSymbolTableEntryfindSectionByName ElfReader getWord16 getWord32 getWord64 TableInfo tableOffset entrySizeentryNum getElfMagic getElfVersiongetElfSectionTypegetElfSectionFlagsgetElfSectionFlags32getElfSectionFlags64 getElfClass getElfData getElfOsabi getElfType getElfMachinegetElf_Shdr_OffsetSize getElf_Shdr getElf_Ehdr elfReaderdivideparseElfSegmentTypeparseElfSegmentEntryparseElfSegmentFlags runGetManysymbolTableSectionssectionByIndexinfoToTypeAndBind stringByIndex$fEnumElfSectionIndex$fEnumElfSymbolType$fEnumElfSymbolBinding