-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Executable and Linkable Format (ELF) data structures. -- -- This package provides Executable and Linkable Format (ELF) data -- structures. @package data-elf @version 0.2 -- | This module provides ELF data structures and (de)serialization -- routines. module Data.Elf -- | File class. newtype FileClass FileClass :: Word8 -> FileClass [unFileClass] :: FileClass -> Word8 -- | Invalid class (ELFCLASSNONE). invalidFileClass :: FileClass -- | ELF32 class (ELFCLASS32). elf32FileClass :: FileClass -- | ELF64 class (ELFCLASS64). elf64FileClass :: FileClass -- | File class type-level index. class (Typeable c, Typeable (Addr c), Data (Addr c), Typeable (Off c), Data (Off c), Typeable (UnSymIx c), Data (UnSymIx c), Typeable (UnRelType c), Data (UnRelType c), Show (Addr c), Read (Addr c), Show (Off c), Read (Off c), Show (UnSymIx c), Read (UnSymIx c), Show (UnRelType c), Read (UnRelType c), Eq (Addr c), Ord (Addr c), Bounded (Addr c), Enum (Addr c), Num (Addr c), Integral (Addr c), Real (Addr c), Bits (Addr c), FiniteBits (Addr c), Eq (Off c), Ord (Off c), Bounded (Off c), Enum (Off c), Num (Off c), Integral (Off c), Real (Off c), Bits (Off c), FiniteBits (Off c), Eq (UnSymIx c), Ord (UnSymIx c), Bounded (UnSymIx c), Enum (UnSymIx c), Ix (UnSymIx c), Num (UnSymIx c), Integral (UnSymIx c), Real (UnSymIx c), Bits (UnSymIx c), FiniteBits (UnSymIx c), Eq (UnRelType c), Ord (UnRelType c), Bounded (UnRelType c), Enum (UnRelType c), Ix (UnRelType c)) => IsFileClass c where type Addr c type Off c type UnSymIx c type UnRelType c where { type family Addr c; type family Off c; type family UnSymIx c; type family UnRelType c; } fileClass :: IsFileClass c => Proxy c -> FileClass -- | 32-bit ELF class type-level index. data Elf32 Elf32 :: Elf32 -- | Elf32 proxy value. anElf32 :: Proxy Elf32 -- | 64-bit ELF class type-level index. data Elf64 Elf64 :: Elf64 -- | Elf64 proxy value. anElf64 :: Proxy Elf64 -- | File type. newtype FileType FileType :: Word16 -> FileType [unFileType] :: FileType -> Word16 -- | No file type (ET_NONE). noneFileType :: FileType -- | Relocatable object file (ET_REL). relFileType :: FileType -- | Executable file (ET_EXEC). execFileType :: FileType -- | Shared object file (ET_DYN). dynFileType :: FileType -- | Core file (ET_CORE). coreFileType :: FileType -- | First environment-specific type (ET_LOOS). loOsFileType :: FileType -- | Last environment-specific type (ET_HIOS). hiOsFileType :: FileType -- | First processor-specific type (ET_LOPROC). loProcFileType :: FileType -- | Last processor-specific type (ET_HIPROC). hiProcFileType :: FileType -- | Machine architecture. newtype Machine Machine :: Word16 -> Machine [unMachine] :: Machine -> Word16 -- | No machine (EM_NONE). undefMachine :: Machine -- | Intel 80386 (EM_386). i386Machine :: Machine -- | AMD x86-64 (EM_X86_64). amd64Machine :: Machine -- | Architecture-specific flags. newtype MachFlags MachFlags :: Word32 -> MachFlags [unMachFlags] :: MachFlags -> Word32 -- | ELF version. newtype Version Version :: Word8 -> Version [unVersion] :: Version -> Word8 -- | Invalid version. invalidVersion :: Version -- | Version 1. firstVersion :: Version -- | Data encoding. newtype DataEnc DataEnc :: Word8 -> DataEnc [unDataEnc] :: DataEnc -> Word8 -- | Invalid data encoding. invalidDataEnc :: DataEnc -- | Little-endian data encoding (ELFDATA2LSB). lsbDataEnc :: DataEnc -- | Big-endian data encoding (ELFDATA2MSB). msbDataEnc :: DataEnc -- | System ABI. newtype OsAbi OsAbi :: Word8 -> OsAbi [unOsAbi] :: OsAbi -> Word8 -- | System V (ELFOSABI_NONE). sysvOsAbi :: OsAbi -- | HP-UX (ELFOSABI_HPUX). hpuxOsAbi :: OsAbi -- | NetBSD (ELFOSABI_NETBSD). netBsdOsAbi :: OsAbi -- | GNU (ELFOSABI_GNU, ELFOSABI_LINUX). gnuOsAbi :: OsAbi -- | Solaris (ELFOSABI_SOLARIS). solarisOsAbi :: OsAbi -- | AIX (ELFOSABI_AIX). aixOsAbi :: OsAbi -- | IRIX (ELFOSABI_IRIX). irixOsAbi :: OsAbi -- | FreeBSD (ELFOSABI_FREEBSD). freeBsdOsAbi :: OsAbi -- | Tru64 UNIX (ELFOSABI_TRU64). tru64OsAbi :: OsAbi -- | Novell Modesto (ELFOSABI_MODESTO). modestoOsAbi :: OsAbi -- | OpenBSD (ELFOSABI_OPENBSD). openBsdOsAbi :: OsAbi -- | OpenVMS (ELFOSABI_OPENVMS). openVmsOsAbi :: OsAbi -- | Hewlett-Packard Non-Stop Kernel (ELFOSABI_NSK). nskOsAbi :: OsAbi -- | Amiga Research OS (ELFOSABI_AROS). arosOsAbi :: OsAbi -- | FenixOS (ELFOSABI_FENIXOS). fenixOsAbi :: OsAbi -- | Standalone (embedded) application. embedOsAbi :: OsAbi -- | ABI version. newtype AbiVer AbiVer :: Word8 -> AbiVer [unAbiVer] :: AbiVer -> Word8 -- | Undefined ABI version. undefAbiVer :: AbiVer -- | Identification. data Ident Ident :: FileClass -> Version -> DataEnc -> OsAbi -> AbiVer -> Ident [idClass] :: Ident -> FileClass [idVersion] :: Ident -> Version [idDataEnc] :: Ident -> DataEnc [idOsAbi] :: Ident -> OsAbi [idAbiVer] :: Ident -> AbiVer -- | Ident proxy value. anIdent :: Proxy Ident -- | File header. data FileHdr c FileHdr :: FileType -> Machine -> Addr c -> MachFlags -> Off c -> Word16 -> Off c -> Word16 -> SecIx -> FileHdr c [fhType] :: FileHdr c -> FileType [fhMachine] :: FileHdr c -> Machine [fhEntry] :: FileHdr c -> Addr c [fhFlags] :: FileHdr c -> MachFlags [fhPhOff] :: FileHdr c -> Off c [fhPhNum] :: FileHdr c -> Word16 [fhShOff] :: FileHdr c -> Off c [fhShNum] :: FileHdr c -> Word16 [fhSnStIx] :: FileHdr c -> SecIx -- | ELF32 file header. type FileHdr32 = FileHdr Elf32 -- | FileHdr32 proxy value. aFileHdr32 :: Proxy FileHdr32 -- | ELF64 file header. type FileHdr64 = FileHdr Elf64 -- | FileHdr64 proxy value. aFileHdr64 :: Proxy FileHdr64 -- | Segment type. newtype SegType SegType :: Word32 -> SegType [unSegType] :: SegType -> Word32 -- | Unused program header entry (PT_NULL). unusedSegType :: SegType -- | Loadable segment (PT_LOAD). loadSegType :: SegType -- | Dynamic linking tables (PT_DYNAMIC). dynSegType :: SegType -- | Program interpreter path name (PT_INTERP). interpSegType :: SegType -- | Note sections (PT_NOTE). noteSegType :: SegType -- | A reserved segment type (PT_SHLIB). shlibSegType :: SegType -- | Program header table (PT_PHDR). phdrSegType :: SegType -- | First environment-specific segment type (PT_LOOS). loOsSegType :: SegType -- | Last environment-specific segment type (PT_HIOS). hiOsSegType :: SegType -- | First processor-specific segment type (PT_LOPROC). loProcSegType :: SegType -- | Last processor-specific segment type (PT_HIPROC). hiProcSegType :: SegType -- | Segment flags. newtype SegFlags SegFlags :: Word32 -> SegFlags [unSegFlags] :: SegFlags -> Word32 -- | Execute permission (PF_X). execSegFlag :: SegFlags -- | Write permission (PF_W). writeSegFlag :: SegFlags -- | Read permission (PF_R). readSegFlag :: SegFlags -- | Environment-specific flags mask (PF_MASKOS). osSegFlags :: SegFlags -- | Processor-specific flags mask (PF_MASKPROC). procSegFlags :: SegFlags -- | Program header table entry. data ProgHdr c ProgHdr :: SegType -> SegFlags -> Off c -> Addr c -> Addr c -> Off c -> Addr c -> Addr c -> ProgHdr c [phType] :: ProgHdr c -> SegType [phFlags] :: ProgHdr c -> SegFlags [phOff] :: ProgHdr c -> Off c [phVirtAddr] :: ProgHdr c -> Addr c [phPhysAddr] :: ProgHdr c -> Addr c [phFileSize] :: ProgHdr c -> Off c [phMemSize] :: ProgHdr c -> Addr c [phAlign] :: ProgHdr c -> Addr c -- | ELF32 program header table entry. type ProgHdr32 = ProgHdr Elf32 -- | ProgHdr32 proxy value. aProgHdr32 :: Proxy ProgHdr32 -- | ELF64 program header table entry. type ProgHdr64 = ProgHdr Elf64 -- | ProgHdr64 proxy value. aProgHdr64 :: Proxy ProgHdr64 -- | String table index. type StrIx = Word32 -- | Section header entry index. newtype SecIx SecIx :: Word16 -> SecIx [unSecIx] :: SecIx -> Word16 -- | Undefined section reference (SHN_UNDEF). undefSecIx :: SecIx -- | Last regular section index. lastSecIx :: SecIx -- | First environment-specific section index (SHN_LOOS). loOsSecIx :: SecIx -- | Last environment-specific section index (SHN_HIOS). hiOsSecIx :: SecIx -- | First processor-specific section index (SHN_LOPROC). loProcSecIx :: SecIx -- | Last processor-specific section index (SHN_HIPROC). hiProcSecIx :: SecIx -- | Absolute value indicator (SHN_ABS). absSecIx :: SecIx -- | Common block indicator (SHN_COMMON). commonSecIx :: SecIx -- | Escape value (SHN_XINDEX). xIndexSecIx :: SecIx -- | Section type. newtype SecType SecType :: Word32 -> SecType [unSecType] :: SecType -> Word32 -- | Unused section (SHT_NULL). unusedSecType :: SecType -- | Program information (SHT_PROGBITS). progBitsSecType :: SecType -- | Symbol table (SHT_SYMTAB). symSecType :: SecType -- | String table (SHT_STRTAB). strSecType :: SecType -- | Relocation entries (SHT_RELA). relaSecType :: SecType -- | Symbol hash table (SHT_HASH). hashSecType :: SecType -- | Dynamic linking table (SHT_DYNAMIC). dynSecType :: SecType -- | Note information (SHT_NOTE). noteSecType :: SecType -- | Uninitialized space (SHT_NOBITS). noBitsSecType :: SecType -- | Relocation entries (SHT_REL). relSecType :: SecType -- | A reserved section type (SHT_SHLIB). shlibSecType :: SecType -- | Dynamic loader symbol table (SHT_DYNSYM). dynSymSecType :: SecType -- | First environment-specific section type (SHT_LOOS). loOsSecType :: SecType -- | Last environment-specific section type (SHT_HIOS). hiOsSecType :: SecType -- | First processor-specific section type (SHT_LOPROC). loProcSecType :: SecType -- | Last processor-specific section type (SHT_HIPROC). hiProcSecType :: SecType -- | Section flags. newtype SecFlags SecFlags :: Word32 -> SecFlags [unSecFlags] :: SecFlags -> Word32 -- | Writable data (SHF_WRITE). writeSecFlag :: SecFlags -- | Allocated data (SHF_ALLOC). allocSecFlag :: SecFlags -- | Executable instructions (SHF_EXECINSTR). execSecFlag :: SecFlags -- | Mergeable data (SHF_MERGE). mergeSecFlag :: SecFlags -- | Flag that indicates that shInfo is a section header table -- index. (SHF_INFO_LINK) infoLinkSecFlag :: SecFlags -- | Environment-specific flags mask (SHF_MASKOS). osSecFlags :: SecFlags -- | Processor-specific flags mask (SHF_MASKOS). procSecFlags :: SecFlags -- | Section header table entry. data SecHdr c SecHdr :: StrIx -> SecType -> SecFlags -> Addr c -> Off c -> Addr c -> Word32 -> Word32 -> Addr c -> Addr c -> SecHdr c [shName] :: SecHdr c -> StrIx [shType] :: SecHdr c -> SecType [shFlags] :: SecHdr c -> SecFlags [shAddr] :: SecHdr c -> Addr c [shOff] :: SecHdr c -> Off c [shSize] :: SecHdr c -> Addr c [shLink] :: SecHdr c -> Word32 [shInfo] :: SecHdr c -> Word32 [shAlign] :: SecHdr c -> Addr c [shEntSize] :: SecHdr c -> Addr c -- | ELF32 section header table entry. type SecHdr32 = SecHdr Elf32 -- | SecHdr32 proxy value. aSecHdr32 :: Proxy SecHdr32 -- | ELF64 section header table entry. type SecHdr64 = SecHdr Elf64 -- | SecHdr64 proxy value. aSecHdr64 :: Proxy SecHdr64 -- | Section header filled with zeros. zeroSecHdr :: IsFileClass c => SecHdr c -- | Symbol type. newtype SymType SymType :: Word4 -> SymType [unSymType] :: SymType -> Word4 -- | Undefined symbol type (STT_NOTYPE). undefSymType :: SymType -- | Object (STT_OBJECT). objSymType :: SymType -- | Function (STT_FUNC). funSymType :: SymType -- | Section (STT_SECTION). secSymType :: SymType -- | Source file name (STT_FILE). fileSymType :: SymType -- | Common block label (STT_COMMON). commonSymType :: SymType -- | Thread-local storage (STT_TLS). tlsSymType :: SymType -- | First environment-specific symbol type (STT_LOOS). loOsSymType :: SymType -- | Last environment-specific symbol type (STT_HIOS). hiOsSymType :: SymType -- | First processor-specific symbol type (STT_LOPROC). loProcSymType :: SymType -- | Last processor-specific symbol type (STT_HIPROC). hiProcSymType :: SymType -- | Symbol binding type. newtype SymBind SymBind :: Word4 -> SymBind [unSymBind] :: SymBind -> Word4 -- | Local symbol (STB_LOCAL). localSymBind :: SymBind -- | Global symbol (STB_GLOBAL). globalSymBind :: SymBind -- | Lower precedence global symbol (STB_WEAK). weakSymBind :: SymBind -- | First environment-specific symbol binding type (STB_LOOS). loOsSymBind :: SymBind -- | Last environment-specific symbol binding type (STB_HIOS). hiOsSymBind :: SymBind -- | First processor-specific symbol binding type (STB_LOPROC). loProcSymBind :: SymBind -- | Last processor-specific symbol binding type (STB_HIPROC). hiProcSymBind :: SymBind -- | Symbol visibility. newtype SymVisi SymVisi :: Word4 -> SymVisi [unSymVisi] :: SymVisi -> Word4 -- | Default symbol visibility (specified by the binding type; -- STV_DEFAULT). defSymVisi :: SymVisi -- | Internal symbol visibility (processor-specific hidden type; -- STV_INTERNAL). intSymVisi :: SymVisi -- | Hidden symbol (STV_HIDDEN). hiddenSymVisi :: SymVisi -- | Protected symbol (STV_PROTECTED). protSymVisi :: SymVisi -- | Global symbol (STV_EXPORTED). exportSymVisi :: SymVisi -- | Global singleton symbol (STV_SINGLETON). singSymVisi :: SymVisi -- | Extra hidden symbol (STV_ELIMINATE). elimSymVisi :: SymVisi -- | Symbol table index. newtype SymIx c SymIx :: UnSymIx c -> SymIx c [unSymIx] :: SymIx c -> UnSymIx c -- | Undefined symbol table index. undefSymIx :: IsFileClass c => SymIx c -- | Symbol table entry. data SymEnt c SymEnt :: StrIx -> SymBind -> SymType -> SymVisi -> SecIx -> Addr c -> Addr c -> SymEnt c [symName] :: SymEnt c -> StrIx [symBind] :: SymEnt c -> SymBind [symType] :: SymEnt c -> SymType [symVisi] :: SymEnt c -> SymVisi [symSecIx] :: SymEnt c -> SecIx [symAddr] :: SymEnt c -> Addr c [symSize] :: SymEnt c -> Addr c -- | ELF32 symbol table entry. type SymEnt32 = SymEnt Elf32 -- | SymEnt32 proxy value. aSymEnt32 :: Proxy SymEnt32 -- | ELF64 symbol table entry. type SymEnt64 = SymEnt Elf64 -- | SymEnt64 proxy value. aSymEnt64 :: Proxy SymEnt64 -- | Symbol table entry filled with zeros. zeroSymEnt :: IsFileClass c => SymEnt c -- | Relocation type. newtype RelType c RelType :: UnRelType c -> RelType c [unRelType] :: RelType c -> UnRelType c -- | ELF32 relocation type. type RelType32 = RelType Elf32 -- | ELF64 relocation type. type RelType64 = RelType Elf64 -- | Relocation table entry (REL). data RelEnt c RelEnt :: Addr c -> SymIx c -> RelType c -> RelEnt c [relOff] :: RelEnt c -> Addr c [relSymIx] :: RelEnt c -> SymIx c [relType] :: RelEnt c -> RelType c -- | ELF32 relocation table entry (REL). type RelEnt32 = RelEnt Elf32 -- | RelEnt32 proxy value. aRelEnt32 :: Proxy RelEnt32 -- | ELF64 relocation table entry (REL). type RelEnt64 = RelEnt Elf64 -- | RelEnt64 proxy value. aRelEnt64 :: Proxy RelEnt64 -- | Relocation table entry (RELA). data RelaEnt c RelaEnt :: Addr c -> SymIx c -> RelType c -> Addr c -> RelaEnt c [relaOff] :: RelaEnt c -> Addr c [relaSymIx] :: RelaEnt c -> SymIx c [relaType] :: RelaEnt c -> RelType c [relaAddend] :: RelaEnt c -> Addr c -- | ELF32 relocation table entry (RELA). type RelaEnt32 = RelaEnt Elf32 -- | RelaEnt32 proxy value. aRelaEnt32 :: Proxy RelaEnt32 -- | ELF64 relocation table entry (RELA). type RelaEnt64 = RelaEnt Elf64 -- | RelaEnt64 proxy value. aRelaEnt64 :: Proxy RelaEnt64 instance GHC.Arr.Ix Data.Elf.SymVisi instance GHC.Enum.Enum Data.Elf.SymVisi instance GHC.Enum.Bounded Data.Elf.SymVisi instance GHC.Classes.Ord Data.Elf.SymVisi instance GHC.Classes.Eq Data.Elf.SymVisi instance GHC.Read.Read Data.Elf.SymVisi instance GHC.Show.Show Data.Elf.SymVisi instance Data.Data.Data Data.Elf.SymVisi instance GHC.Arr.Ix Data.Elf.SymBind instance GHC.Enum.Enum Data.Elf.SymBind instance GHC.Enum.Bounded Data.Elf.SymBind instance GHC.Classes.Ord Data.Elf.SymBind instance GHC.Classes.Eq Data.Elf.SymBind instance GHC.Read.Read Data.Elf.SymBind instance GHC.Show.Show Data.Elf.SymBind instance Data.Data.Data Data.Elf.SymBind instance GHC.Arr.Ix Data.Elf.SymType instance GHC.Enum.Enum Data.Elf.SymType instance GHC.Enum.Bounded Data.Elf.SymType instance GHC.Classes.Ord Data.Elf.SymType instance GHC.Classes.Eq Data.Elf.SymType instance GHC.Read.Read Data.Elf.SymType instance GHC.Show.Show Data.Elf.SymType instance Data.Data.Data Data.Elf.SymType instance Data.Flags.Base.BoundedFlags Data.Elf.SecFlags instance Data.Flags.Base.Flags Data.Elf.SecFlags instance GHC.Classes.Eq Data.Elf.SecFlags instance GHC.Read.Read Data.Elf.SecFlags instance GHC.Show.Show Data.Elf.SecFlags instance Data.Data.Data Data.Elf.SecFlags instance GHC.Arr.Ix Data.Elf.SecType instance GHC.Enum.Enum Data.Elf.SecType instance GHC.Enum.Bounded Data.Elf.SecType instance GHC.Classes.Ord Data.Elf.SecType instance GHC.Classes.Eq Data.Elf.SecType instance GHC.Read.Read Data.Elf.SecType instance GHC.Show.Show Data.Elf.SecType instance Data.Data.Data Data.Elf.SecType instance GHC.Real.Real Data.Elf.SecIx instance GHC.Real.Integral Data.Elf.SecIx instance Data.Bits.FiniteBits Data.Elf.SecIx instance Data.Bits.Bits Data.Elf.SecIx instance GHC.Num.Num Data.Elf.SecIx instance GHC.Arr.Ix Data.Elf.SecIx instance GHC.Enum.Enum Data.Elf.SecIx instance GHC.Enum.Bounded Data.Elf.SecIx instance GHC.Classes.Ord Data.Elf.SecIx instance GHC.Classes.Eq Data.Elf.SecIx instance GHC.Read.Read Data.Elf.SecIx instance GHC.Show.Show Data.Elf.SecIx instance Data.Data.Data Data.Elf.SecIx instance Data.Flags.Base.BoundedFlags Data.Elf.SegFlags instance Data.Flags.Base.Flags Data.Elf.SegFlags instance GHC.Classes.Eq Data.Elf.SegFlags instance GHC.Read.Read Data.Elf.SegFlags instance GHC.Show.Show Data.Elf.SegFlags instance Data.Data.Data Data.Elf.SegFlags instance GHC.Arr.Ix Data.Elf.SegType instance GHC.Enum.Enum Data.Elf.SegType instance GHC.Enum.Bounded Data.Elf.SegType instance GHC.Classes.Ord Data.Elf.SegType instance GHC.Classes.Eq Data.Elf.SegType instance GHC.Read.Read Data.Elf.SegType instance GHC.Show.Show Data.Elf.SegType instance Data.Data.Data Data.Elf.SegType instance GHC.Classes.Eq Data.Elf.Ident instance GHC.Read.Read Data.Elf.Ident instance GHC.Show.Show Data.Elf.Ident instance Data.Data.Data Data.Elf.Ident instance GHC.Arr.Ix Data.Elf.AbiVer instance GHC.Enum.Enum Data.Elf.AbiVer instance GHC.Enum.Bounded Data.Elf.AbiVer instance GHC.Classes.Ord Data.Elf.AbiVer instance GHC.Classes.Eq Data.Elf.AbiVer instance GHC.Read.Read Data.Elf.AbiVer instance GHC.Show.Show Data.Elf.AbiVer instance Data.Data.Data Data.Elf.AbiVer instance GHC.Arr.Ix Data.Elf.OsAbi instance GHC.Enum.Enum Data.Elf.OsAbi instance GHC.Enum.Bounded Data.Elf.OsAbi instance GHC.Classes.Ord Data.Elf.OsAbi instance GHC.Classes.Eq Data.Elf.OsAbi instance GHC.Read.Read Data.Elf.OsAbi instance GHC.Show.Show Data.Elf.OsAbi instance Data.Data.Data Data.Elf.OsAbi instance GHC.Arr.Ix Data.Elf.DataEnc instance GHC.Enum.Enum Data.Elf.DataEnc instance GHC.Enum.Bounded Data.Elf.DataEnc instance GHC.Classes.Ord Data.Elf.DataEnc instance GHC.Classes.Eq Data.Elf.DataEnc instance GHC.Read.Read Data.Elf.DataEnc instance GHC.Show.Show Data.Elf.DataEnc instance Data.Data.Data Data.Elf.DataEnc instance GHC.Arr.Ix Data.Elf.Version instance GHC.Enum.Enum Data.Elf.Version instance GHC.Enum.Bounded Data.Elf.Version instance GHC.Classes.Ord Data.Elf.Version instance GHC.Classes.Eq Data.Elf.Version instance GHC.Read.Read Data.Elf.Version instance GHC.Show.Show Data.Elf.Version instance Data.Data.Data Data.Elf.Version instance Data.Flags.Base.BoundedFlags Data.Elf.MachFlags instance Data.Flags.Base.Flags Data.Elf.MachFlags instance GHC.Classes.Eq Data.Elf.MachFlags instance GHC.Read.Read Data.Elf.MachFlags instance GHC.Show.Show Data.Elf.MachFlags instance Data.Data.Data Data.Elf.MachFlags instance GHC.Arr.Ix Data.Elf.Machine instance GHC.Enum.Enum Data.Elf.Machine instance GHC.Enum.Bounded Data.Elf.Machine instance GHC.Classes.Ord Data.Elf.Machine instance GHC.Classes.Eq Data.Elf.Machine instance GHC.Read.Read Data.Elf.Machine instance GHC.Show.Show Data.Elf.Machine instance Data.Data.Data Data.Elf.Machine instance GHC.Arr.Ix Data.Elf.FileType instance GHC.Enum.Enum Data.Elf.FileType instance GHC.Enum.Bounded Data.Elf.FileType instance GHC.Classes.Ord Data.Elf.FileType instance GHC.Classes.Eq Data.Elf.FileType instance GHC.Read.Read Data.Elf.FileType instance GHC.Show.Show Data.Elf.FileType instance Data.Data.Data Data.Elf.FileType instance Data.Data.Data Data.Elf.Elf64 instance Data.Data.Data Data.Elf.Elf32 instance GHC.Arr.Ix Data.Elf.FileClass instance GHC.Enum.Enum Data.Elf.FileClass instance GHC.Enum.Bounded Data.Elf.FileClass instance GHC.Classes.Ord Data.Elf.FileClass instance GHC.Classes.Eq Data.Elf.FileClass instance GHC.Read.Read Data.Elf.FileClass instance GHC.Show.Show Data.Elf.FileClass instance Data.Data.Data Data.Elf.FileClass instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.FileHdr c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.FileHdr c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.FileHdr c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.FileHdr c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.ProgHdr c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.ProgHdr c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.ProgHdr c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.ProgHdr c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SecHdr c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SecHdr c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SecHdr c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SecHdr c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Classes.Ord (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Enum.Bounded (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Enum.Enum (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Arr.Ix (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Num.Num (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => Data.Bits.Bits (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => Data.Bits.FiniteBits (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Real.Integral (Data.Elf.SymIx c) instance Data.Elf.IsFileClass c => GHC.Real.Real (Data.Elf.SymIx c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.SymEnt c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.SymEnt c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.SymEnt c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.SymEnt c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Classes.Ord (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Enum.Bounded (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Enum.Enum (Data.Elf.RelType c) instance Data.Elf.IsFileClass c => GHC.Arr.Ix (Data.Elf.RelType c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelEnt c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelEnt c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelEnt c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelEnt c) instance (Data.Data.Data c, Data.Elf.IsFileClass c) => Data.Data.Data (Data.Elf.RelaEnt c) instance Data.Elf.IsFileClass c => GHC.Show.Show (Data.Elf.RelaEnt c) instance Data.Elf.IsFileClass c => GHC.Read.Read (Data.Elf.RelaEnt c) instance Data.Elf.IsFileClass c => GHC.Classes.Eq (Data.Elf.RelaEnt c) instance Data.Elf.IsFileClass Data.Elf.Elf32 instance Data.Elf.IsFileClass Data.Elf.Elf64 instance Data.Serializer.Serializable Data.Elf.Ident instance Data.Serializer.SizedSerializable Data.Elf.Ident instance Data.Deserializer.Deserializable Data.Elf.Ident instance Data.Serializer.Serializable Data.Elf.FileHdr32 instance Data.Serializer.SizedSerializable Data.Elf.FileHdr32 instance Data.Deserializer.Deserializable Data.Elf.FileHdr32 instance Data.Serializer.Serializable Data.Elf.FileHdr64 instance Data.Serializer.SizedSerializable Data.Elf.FileHdr64 instance Data.Deserializer.Deserializable Data.Elf.FileHdr64 instance Data.Serializer.Serializable Data.Elf.ProgHdr32 instance Data.Serializer.SizedSerializable Data.Elf.ProgHdr32 instance Data.Deserializer.Deserializable Data.Elf.ProgHdr32 instance Data.Serializer.Serializable Data.Elf.ProgHdr64 instance Data.Serializer.SizedSerializable Data.Elf.ProgHdr64 instance Data.Deserializer.Deserializable Data.Elf.ProgHdr64 instance Data.Serializer.Serializable Data.Elf.SecHdr32 instance Data.Serializer.SizedSerializable Data.Elf.SecHdr32 instance Data.Deserializer.Deserializable Data.Elf.SecHdr32 instance Data.Serializer.Serializable Data.Elf.SecHdr64 instance Data.Serializer.SizedSerializable Data.Elf.SecHdr64 instance Data.Deserializer.Deserializable Data.Elf.SecHdr64 instance Data.Serializer.Serializable Data.Elf.SymEnt32 instance Data.Serializer.SizedSerializable Data.Elf.SymEnt32 instance Data.Deserializer.Deserializable Data.Elf.SymEnt32 instance Data.Serializer.Serializable Data.Elf.SymEnt64 instance Data.Serializer.SizedSerializable Data.Elf.SymEnt64 instance Data.Deserializer.Deserializable Data.Elf.SymEnt64 instance Data.Serializer.Serializable Data.Elf.RelEnt32 instance Data.Serializer.SizedSerializable Data.Elf.RelEnt32 instance Data.Deserializer.Deserializable Data.Elf.RelEnt32 instance Data.Serializer.Serializable Data.Elf.RelEnt64 instance Data.Serializer.SizedSerializable Data.Elf.RelEnt64 instance Data.Deserializer.Deserializable Data.Elf.RelEnt64 instance Data.Serializer.Serializable Data.Elf.RelaEnt32 instance Data.Serializer.SizedSerializable Data.Elf.RelaEnt32 instance Data.Deserializer.Deserializable Data.Elf.RelaEnt32 instance Data.Serializer.Serializable Data.Elf.RelaEnt64 instance Data.Serializer.SizedSerializable Data.Elf.RelaEnt64 instance Data.Deserializer.Deserializable Data.Elf.RelaEnt64