melf-1.3.0: An Elf parser
Copyright(c) Aleksey Makarov 2021
LicenseBSD 3-Clause License
Maintaineraleksey.makarov@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellSafe-Inferred
LanguageHaskell2010

Data.Elf.Constants

Description

Definitions of constants used in ELF files

Synopsis

Documentation

Constants defined here are declared using Template Haskell, so the full documentation is supported only starting from GHC 2.4.x. For the older versions see the sources or the documents describing ELF file format.

Data types, patterns and instances are generated by mkDeclarations TH macros. Below is an example of how it works. The code

$(mkDeclarations BaseWord16 "TypeName" "ValuePrefix"
    [ ("_A", 0, "Doc strig for ValuePrefix_A")
    , ("_B", 1, "Doc strig for ValuePrefix_B")
    ])

produces this:

    newtype TypeName = TypeName Word16 deriving (Eq, Ord, Enum, Num, Real, Integral, Bits, FiniteBits)

    instance Show TypeName where
        show (TypeName 0) = ("ValuePrefix" ++ "_A")
        show (TypeName 1) = ("ValuePrefix" ++ "_B")
        show (TypeName n_a5QI) = ("TypeName" ++ (" " ++ show n_a5QI))

    pattern ValuePrefix_A :: TypeName
    pattern ValuePrefix_A = TypeName 0

    pattern ValuePrefix_B :: TypeName
    pattern ValuePrefix_B = TypeName 1

    instance Binary (Le TypeName) where
        get = (Le <$> (TypeName <$> getWord16le))
        put (Le (TypeName n_a5QK)) = putWord16le n_a5QK

    instance Binary (Be TypeName) where
        get = (Be <$> (TypeName <$> getWord16be))
        put (Be (TypeName n_a5QL)) = putWord16be n_a5QL

newtype ElfOSABI Source #

Operating system and ABI for which the object is prepared

Constructors

ElfOSABI Word8 

Instances

Instances details
Bits ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: ElfOSABI -> Put #

get :: Get ElfOSABI #

putList :: [ElfOSABI] -> Put #

Eq ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfOSABI Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern ELFOSABI_STANDALONE :: ElfOSABI Source #

Standalone (embedded) application

pattern ELFOSABI_AROS :: ElfOSABI Source #

Amiga Research OS

pattern ELFOSABI_NSK :: ElfOSABI Source #

Hewlett-Packard Non-Stop Kernel

pattern ELFOSABI_OPENVMS :: ElfOSABI Source #

Open VMS

pattern ELFOSABI_OPENBSD :: ElfOSABI Source #

Open BSD

pattern ELFOSABI_MODESTO :: ElfOSABI Source #

Novell Modesto

pattern ELFOSABI_TRU64 :: ElfOSABI Source #

Compaq TRU64 UNIX

pattern ELFOSABI_FREEBSD :: ElfOSABI Source #

FreeBSD

pattern ELFOSABI_SOLARIS :: ElfOSABI Source #

Sun Solaris

pattern ELFOSABI_NETBSD :: ElfOSABI Source #

NetBSD

pattern ELFOSABI_HPUX :: ElfOSABI Source #

Hewlett-Packard HP-UX

pattern ELFOSABI_SYSV :: ElfOSABI Source #

No extensions or unspecified

newtype ElfType Source #

Object file type

Constructors

ElfType Word16 

Instances

Instances details
Bits ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

(==) :: ElfType -> ElfType -> Bool #

(/=) :: ElfType -> ElfType -> Bool #

Ord ElfType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Be ElfType -> Put #

get :: Get (Be ElfType) #

putList :: [Be ElfType] -> Put #

Binary (Le ElfType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

put :: Le ElfType -> Put #

get :: Get (Le ElfType) #

putList :: [Le ElfType] -> Put #

pattern ET_CORE :: ElfType Source #

Core dump object file

pattern ET_DYN :: ElfType Source #

Shared object file

pattern ET_EXEC :: ElfType Source #

Executable object file

pattern ET_REL :: ElfType Source #

Relocatable object file

pattern ET_NONE :: ElfType Source #

Unspecified type

newtype ElfMachine Source #

Target architecture

Constructors

ElfMachine Word16 

Instances

Instances details
Bits ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfMachine Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfMachine) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfMachine) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern EM_AARCH64 :: ElfMachine Source #

ELF for the Arm 64-bit Architecture (AArch64)

pattern EM_UNICORE :: ElfMachine Source #

Microprocessor series from PKU-Unity Ltd. and MPRC of Peking University

pattern EM_ARCA :: ElfMachine Source #

Arca RISC Microprocessor

pattern EM_SEP :: ElfMachine Source #

Sharp embedded microprocessor

pattern EM_SE_C33 :: ElfMachine Source #

S1C33 Family of Seiko Epson processors

pattern EM_BLACKFIN :: ElfMachine Source #

Analog Devices Blackfin (DSP) processor

pattern EM_MSP430 :: ElfMachine Source #

Texas Instruments embedded microcontroller msp430

pattern EM_F2MC16 :: ElfMachine Source #

Fujitsu F2MC16

pattern EM_CR :: ElfMachine Source #

National Semiconductor CompactRISC microprocessor

pattern EM_MAX :: ElfMachine Source #

MAX Processor

pattern EM_IP2K :: ElfMachine Source #

Ubicom IP2xxx microcontroller family

pattern EM_ST200 :: ElfMachine Source #

STMicroelectronics (www.st.com) ST200 microcontroller

pattern EM_SNP1K :: ElfMachine Source #

Trebia SNP 1000 processor

pattern EM_TPC :: ElfMachine Source #

Tenor Network TPC processor

pattern EM_NS32K :: ElfMachine Source #

National Semiconductor 32000 series

pattern EM_TMM_GPP :: ElfMachine Source #

Thompson Multimedia General Purpose Processor

pattern EM_VIDEOCORE :: ElfMachine Source #

Alphamosaic VideoCore processor

pattern EM_XTENSA :: ElfMachine Source #

Tensilica Xtensa Architecture

pattern EM_ARC_A5 :: ElfMachine Source #

ARC Cores Tangent-A5

pattern EM_OPENRISC :: ElfMachine Source #

OpenRISC 32-bit embedded processor

pattern EM_PJ :: ElfMachine Source #

picoJava

pattern EM_MN10200 :: ElfMachine Source #

Matsushita MN10200

pattern EM_MN10300 :: ElfMachine Source #

Matsushita MN10300

pattern EM_M32R :: ElfMachine Source #

Mitsubishi M32R

pattern EM_V850 :: ElfMachine Source #

NEC v850

pattern EM_D30V :: ElfMachine Source #

Mitsubishi D30V

pattern EM_D10V :: ElfMachine Source #

Mitsubishi D10V

pattern EM_FR30 :: ElfMachine Source #

Fujitsu FR30

pattern EM_AVR :: ElfMachine Source #

Atmel AVR 8-bit microcontroller

pattern EM_PRISM :: ElfMachine Source #

SiTera Prism

pattern EM_HUANY :: ElfMachine Source #

Harvard University machine-independent object files

pattern EM_MMIX :: ElfMachine Source #

Donald Knuth's educational 64-bit processor

pattern EM_ZSP :: ElfMachine Source #

LSI Logic 16-bit DSP Processor

pattern EM_FIREPATH :: ElfMachine Source #

Element 14 64-bit DSP Processor

pattern EM_JAVELIN :: ElfMachine Source #

Infineon Technologies 32-bit embedded processor

pattern EM_CRIS :: ElfMachine Source #

Axis Communications 32-bit embedded processor

pattern EM_VAX :: ElfMachine Source #

Digital VAX

pattern EM_ST19 :: ElfMachine Source #

STMicroelectronics ST19 8-bit microcontroller

pattern EM_SVX :: ElfMachine Source #

Silicon Graphics SVx

pattern EM_68HC05 :: ElfMachine Source #

Motorola MC68HC05 Microcontroller

pattern EM_68HC08 :: ElfMachine Source #

Motorola MC68HC08 Microcontroller

pattern EM_68HC11 :: ElfMachine Source #

Motorola MC68HC11 Microcontroller

pattern EM_68HC16 :: ElfMachine Source #

Motorola MC68HC16 Microcontroller

pattern EM_ST7 :: ElfMachine Source #

STMicroelectronics ST7 8-bit microcontroller

pattern EM_ST9PLUS :: ElfMachine Source #

STMicroelectronics ST9+ 8/16 bit microcontroller

pattern EM_FX66 :: ElfMachine Source #

Siemens FX66 microcontroller

pattern EM_PDSP :: ElfMachine Source #

Sony DSP Processor

pattern EM_X86_64 :: ElfMachine Source #

AMD x86-64 architecture

pattern EM_TINYJ :: ElfMachine Source #

Advanced Logic Corp. TinyJ embedded processor family

pattern EM_ST100 :: ElfMachine Source #

STMicroelectronics ST100 processor

pattern EM_ME16 :: ElfMachine Source #

Toyota ME16 processor

pattern EM_STARCORE :: ElfMachine Source #

Motorola Star*Core processor

pattern EM_NDR1 :: ElfMachine Source #

Denso NDR1 microprocessor

pattern EM_NCPU :: ElfMachine Source #

Sony nCPU embedded RISC processor

pattern EM_PCP :: ElfMachine Source #

Siemens PCP

pattern EM_MMA :: ElfMachine Source #

Fujitsu MMA Multimedia Accelerator

pattern EM_68HC12 :: ElfMachine Source #

Motorola M68HC12

pattern EM_COLDFIRE :: ElfMachine Source #

Motorola ColdFire

pattern EM_MIPS_X :: ElfMachine Source #

Stanford MIPS-X

pattern EM_IA_64 :: ElfMachine Source #

Intel IA-64 processor architecture

pattern EM_H8_500 :: ElfMachine Source #

Hitachi H8/500

pattern EM_H8S :: ElfMachine Source #

Hitachi H8S

pattern EM_H8_300H :: ElfMachine Source #

Hitachi H8/300H

pattern EM_H8_300 :: ElfMachine Source #

Hitachi H8/300

pattern EM_ARC :: ElfMachine Source #

Argonaut RISC Core, Argonaut Technologies Inc.

pattern EM_TRICORE :: ElfMachine Source #

Siemens TriCore embedded processor

pattern EM_SPARCV9 :: ElfMachine Source #

SPARC Version 9

pattern EM_SH :: ElfMachine Source #

Hitachi SH

pattern EM_ALPHA :: ElfMachine Source #

Digital Alpha

pattern EM_ARM :: ElfMachine Source #

Advanced RISC Machines ARM

pattern EM_RCE :: ElfMachine Source #

Motorola RCE

pattern EM_RH32 :: ElfMachine Source #

TRW RH-32

pattern EM_FR20 :: ElfMachine Source #

Fujitsu FR20

pattern EM_V800 :: ElfMachine Source #

NEC V800

pattern EM_SPU :: ElfMachine Source #

Cell SPU

pattern EM_S390 :: ElfMachine Source #

IBM System/390 Processor

pattern EM_PPC64 :: ElfMachine Source #

64-bit PowerPC

pattern EM_PPC :: ElfMachine Source #

PowerPC

pattern EM_960 :: ElfMachine Source #

Intel 80960

pattern EM_SPARC32PLUS :: ElfMachine Source #

Enhanced instruction set SPARC

pattern EM_VPP500 :: ElfMachine Source #

Fujitsu VPP500

pattern EM_PARISC :: ElfMachine Source #

Hewlett-Packard PA-RISC

pattern EM_SPARC64 :: ElfMachine Source #

SPARC 64-bit

pattern EM_MIPS_RS3_LE :: ElfMachine Source #

MIPS RS3000 Little-endian

pattern EM_S370 :: ElfMachine Source #

IBM System/370 Processor

pattern EM_MIPS :: ElfMachine Source #

MIPS I Architecture

pattern EM_860 :: ElfMachine Source #

Intel 80860

pattern EM_486 :: ElfMachine Source #

Intel i486 (DO NOT USE THIS ONE)

pattern EM_88K :: ElfMachine Source #

Motorola 88000

pattern EM_68K :: ElfMachine Source #

Motorola 68000

pattern EM_386 :: ElfMachine Source #

Intel 80386

pattern EM_SPARC :: ElfMachine Source #

SPARC

pattern EM_M32 :: ElfMachine Source #

AT&T WE 32100

pattern EM_NONE :: ElfMachine Source #

No machine

newtype ElfSectionType Source #

Section type

Constructors

ElfSectionType Word32 

Instances

Instances details
Bits ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSectionType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern SHT_DYNSYM :: ElfSectionType Source #

Contains a dynamic loader symbol table

pattern SHT_SHLIB :: ElfSectionType Source #

Reserved

pattern SHT_REL :: ElfSectionType Source #

Contains Rel type relocation entries

pattern SHT_NOBITS :: ElfSectionType Source #

Contains uninitialized space; does not occupy any space in the file

pattern SHT_NOTE :: ElfSectionType Source #

Contains note information

pattern SHT_DYNAMIC :: ElfSectionType Source #

Contains dynamic linking tables

pattern SHT_HASH :: ElfSectionType Source #

Contains a symbol hash table

pattern SHT_RELA :: ElfSectionType Source #

Contains Rela type relocation entries

pattern SHT_STRTAB :: ElfSectionType Source #

Contains a string table

pattern SHT_SYMTAB :: ElfSectionType Source #

Contains a linker symbol table

pattern SHT_PROGBITS :: ElfSectionType Source #

Contains information defined by the program

pattern SHT_NULL :: ElfSectionType Source #

Identifies an empty section header.

newtype ElfSegmentType Source #

Segment type

Constructors

ElfSegmentType Word32 

Instances

Instances details
Bits ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSegmentType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSegmentType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSegmentType) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern PT_PHDR :: ElfSegmentType Source #

Program header table

pattern PT_SHLIB :: ElfSegmentType Source #

Reserved

pattern PT_NOTE :: ElfSegmentType Source #

Note section

pattern PT_INTERP :: ElfSegmentType Source #

Program interpreter path name

pattern PT_DYNAMIC :: ElfSegmentType Source #

Dynamic linking tables

pattern PT_LOAD :: ElfSegmentType Source #

Loadable segment

pattern PT_NULL :: ElfSegmentType Source #

Unused entry

newtype ElfSectionFlag Source #

Attributes of the section

Constructors

ElfSectionFlag Word64 

Instances

Instances details
Bits ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSectionFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern SHF_EXECINSTR :: ElfSectionFlag Source #

Section contains executable instructions

pattern SHF_ALLOC :: ElfSectionFlag Source #

Section is allocated in memory image of program

pattern SHF_WRITE :: ElfSectionFlag Source #

Section contains writable data

newtype ElfSegmentFlag Source #

Attributes of the segment

Constructors

ElfSegmentFlag Word32 

Instances

Instances details
Bits ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSegmentFlag Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSegmentFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSegmentFlag) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern PF_R :: ElfSegmentFlag Source #

Read permission

pattern PF_W :: ElfSegmentFlag Source #

Write permission

pattern PF_X :: ElfSegmentFlag Source #

Execute permission

newtype ElfSymbolType Source #

Symbol type

Constructors

ElfSymbolType Word8 

Instances

Instances details
Bits ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSymbolType Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern STT_HiProc :: ElfSymbolType Source #

HiProc

pattern STT_LoProc :: ElfSymbolType Source #

LoProc

pattern STT_Common :: ElfSymbolType Source #

Common

pattern STT_Section :: ElfSymbolType Source #

Section

pattern STT_Object :: ElfSymbolType Source #

Object

pattern STT_NoType :: ElfSymbolType Source #

NoType

newtype ElfSymbolBinding Source #

Symbol binding

Constructors

ElfSymbolBinding Word8 

Instances

Instances details
Bits ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSymbolBinding Source # 
Instance details

Defined in Data.Elf.Constants.Data

newtype ElfSectionIndex Source #

Section index

Constructors

ElfSectionIndex Word16 

Instances

Instances details
Bits ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

FiniteBits ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfSectionIndex Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfSectionIndex) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfSectionIndex) Source # 
Instance details

Defined in Data.Elf.Constants.Data

newtype ElfRelocationType_AARCH64 Source #

AARCH64 relocation type

Instances

Instances details
Bits ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Methods

(.&.) :: ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 #

(.|.) :: ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 #

xor :: ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 #

complement :: ElfRelocationType_AARCH64 -> ElfRelocationType_AARCH64 #

shift :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

rotate :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

zeroBits :: ElfRelocationType_AARCH64 #

bit :: Int -> ElfRelocationType_AARCH64 #

setBit :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

clearBit :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

complementBit :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

testBit :: ElfRelocationType_AARCH64 -> Int -> Bool #

bitSizeMaybe :: ElfRelocationType_AARCH64 -> Maybe Int #

bitSize :: ElfRelocationType_AARCH64 -> Int #

isSigned :: ElfRelocationType_AARCH64 -> Bool #

shiftL :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

unsafeShiftL :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

shiftR :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

unsafeShiftR :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

rotateL :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

rotateR :: ElfRelocationType_AARCH64 -> Int -> ElfRelocationType_AARCH64 #

popCount :: ElfRelocationType_AARCH64 -> Int #

FiniteBits ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Enum ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Num ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Integral ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Real ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Show ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Eq ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Ord ElfRelocationType_AARCH64 Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Be ElfRelocationType_AARCH64) Source # 
Instance details

Defined in Data.Elf.Constants.Data

Binary (Le ElfRelocationType_AARCH64) Source # 
Instance details

Defined in Data.Elf.Constants.Data

pattern R_AARCH64_IRELATIVE :: ElfRelocationType_AARCH64 Source #

Indirect(Delta(S) + A)

pattern R_AARCH64_TLSDESC_CALL :: ElfRelocationType_AARCH64 Source #

None | For relaxation only. Must be used to identify a BLR instruction which performs an indirect call to the TLS descriptor function for S + A

pattern R_AARCH64_TLSDESC_ADD :: ElfRelocationType_AARCH64 Source #

None | For relaxation only. Must be used to identify an ADD instruction which computes the address of the TLS Descriptor for S + A if it has no other relocation

pattern R_AARCH64_TLSDESC_LDR :: ElfRelocationType_AARCH64 Source #

None | For relaxation only. Must be used to identify an LDR instruction which loads the TLS descriptor function pointer for S + A if it has no other relocation

pattern R_AARCH64_TLSDESC_OFF_G0_NC :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) - GOT | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_TLSDESC_OFF_G1 :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) - GOT | Set a MOV[NZ] immediate field to bits [31:16] of X; check -2^32 <= X < 2^32

pattern R_AARCH64_TLSDESC_ADD_LO12 :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) | Set an ADD immediate field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSDESC_LD64_LO12 :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) | Set an LD offset field to bits [11:3] of X. No overflow check; check X & 7 = 0

pattern R_AARCH64_TLSDESC_ADR_PAGE21 :: ElfRelocationType_AARCH64 Source #

Page(G(GTLSDESC(S+A))) - Page(P) | Set an ADRP immediate field to bits [32:12] of X; check -2^32 <= X < 2^32

pattern R_AARCH64_TLSDESC_ADR_PREL21 :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) - P | Set an ADR immediate field to bits [20:0]; check -2^20 <= X < 2^20

pattern R_AARCH64_TLSDESC_LD_PREL19 :: ElfRelocationType_AARCH64 Source #

G(GTLSDESC(S+A)) - P | Set a load-literal immediate to bits [20:2]; check -2^20 <= X < 2^20 ; check X & 3 = 0

pattern R_AARCH64_TLSLE_LDST128_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:4] of X. No overflow check

pattern R_AARCH64_TLSLE_LDST128_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:4] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_LDST64_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:3] of X. No overflow check

pattern R_AARCH64_TLSLE_LDST64_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:3] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_LDST32_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:2] of X. No overflow check

pattern R_AARCH64_TLSLE_LDST32_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:2] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_LDST16_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:1] of X. No overflow check

pattern R_AARCH64_TLSLE_LDST16_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:1] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_LDST8_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSLE_LDST8_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a LD/ST offset field to bits [11:0] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_ADD_TPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set an ADD immediate field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSLE_ADD_TPREL_LO12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set an ADD immediate field to bits [11:0] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLE_ADD_TPREL_HI12 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set an ADD immediate field to bits [23:12] of X; check 0 <= X < 2^24

pattern R_AARCH64_TLSLE_MOVW_TPREL_G0_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_TLSLE_MOVW_TPREL_G0 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a MOV[NZ] immediate field to bits [15:0] of X

pattern R_AARCH64_TLSLE_MOVW_TPREL_G1_NC :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a MOVK immediate field to bits [31:16] of X. No overflow check

pattern R_AARCH64_TLSLE_MOVW_TPREL_G1 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a MOV[NZ] immediate field to bits [31:16] of X

pattern R_AARCH64_TLSLE_MOVW_TPREL_G2 :: ElfRelocationType_AARCH64 Source #

TPREL(S+A) | Set a MOV[NZ] immediate field to bits [47:32] of X

pattern R_AARCH64_TLSIE_LD_GOTTPREL_PREL19 :: ElfRelocationType_AARCH64 Source #

G(GTPREL(S+A)) - P | Set a load-literal immediate to bits [20:2] of X; check –2^20 <= X < 2^20

pattern R_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

G(GTPREL(S+A)) | Set an LD offset field to bits [11:3] of X. No overflow check; check that X&7=0

pattern R_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21 :: ElfRelocationType_AARCH64 Source #

Page(G(GTPREL(S+A))) - Page(P) | Set an ADRP immediate field to bits [32:12] of X; check –2^32 <= X < 2^32

pattern R_AARCH64_TLSIE_MOVW_GOTTPREL_G0_NC :: ElfRelocationType_AARCH64 Source #

G(GTPREL(S+A)) - | GOT Set MOVK immediate to bits [15:0] of X. No overflow check

pattern R_AARCH64_TLSIE_MOVW_GOTTPREL_G1 :: ElfRelocationType_AARCH64 Source #

G(GTPREL(S+A)) - | GOT Set a MOV[NZ] immediate field to bits [31:16] of X

pattern R_AARCH64_TLSLD_LDST128_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:4] of X. No overflow check

pattern R_AARCH64_TLSLD_LDST128_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:4] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_LDST64_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:3] of X. No overflow check

pattern R_AARCH64_TLSLD_LDST64_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:3] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_LDST32_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:2] of X. No overflow check

pattern R_AARCH64_TLSLD_LDST32_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:2] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_LDST16_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:1] of X. No overflow check

pattern R_AARCH64_TLSLD_LDST16_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:1] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_LDST8_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSLD_LDST8_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a LD/ST offset field to bits [11:0] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_ADD_DTPREL_LO12_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set an ADD immediate field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSLD_ADD_DTPREL_LO12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set an ADD immediate field to bits [11:0] of X; check 0 <= X < 2^12

pattern R_AARCH64_TLSLD_ADD_DTPREL_HI12 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set an ADD immediate field to bits [23:12] of X; check 0 <= X < 2^24

pattern R_AARCH64_TLSLD_MOVW_DTPREL_G0_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_TLSLD_MOVW_DTPREL_G0 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a MOV[NZ] immediate field to bits [15:0] of X

pattern R_AARCH64_TLSLD_MOVW_DTPREL_G1_NC :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a MOVK immediate field to bits [31:16] of X. No overflow check

pattern R_AARCH64_TLSLD_MOVW_DTPREL_G1 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a MOV[NZ] immediate field to bits [31:16] of X

pattern R_AARCH64_TLSLD_MOVW_DTPREL_G2 :: ElfRelocationType_AARCH64 Source #

DTPREL(S+A) | Set a MOV[NZ] immediate field to bits [47:32] of X

pattern R_AARCH64_TLSLD_LD_PREL19 :: ElfRelocationType_AARCH64 Source #

G(GLDM(S)) - P | Set a load-literal immediate field to bits [20:2] of X; check –2^20 <= X < 2^20

pattern R_AARCH64_TLSLD_MOVW_G0_NC :: ElfRelocationType_AARCH64 Source #

G(GLDM(S)) - GOT | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_TLSLD_MOVW_G1 :: ElfRelocationType_AARCH64 Source #

G(GLDM(S)) - GOT | Set a MOV[NZ] immediate field to bits [31:16] of X

pattern R_AARCH64_TLSLD_ADD_LO12_NC :: ElfRelocationType_AARCH64 Source #

G(GLDM(S)) | Set an ADD immediate field to bits [11:0] of X. No overflow check

pattern R_AARCH64_TLSLD_ADR_PAGE21 :: ElfRelocationType_AARCH64 Source #

Page(G(GLDM(S))) - Page(P) | Set an ADRP immediate field to bits [32:12] of X; check –2^32 <= X < 2^32

pattern R_AARCH64_TLSLD_ADR_PREL21 :: ElfRelocationType_AARCH64 Source #

G(GLDM(S))) - P | Set an ADR immediate field to bits [20:0] of X; check –2^20 <= X < 2^20

pattern R_AARCH64_LD64_GOTPAGE_LO15 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A))- Page(GOT) | Set the LD/ST immediate field to bits [14:3] of X; check that 0 <= X < 2^15, X&7 = 0

pattern R_AARCH64_LD64_GOT_LO12_NC :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) | Set the LD/ST immediate field to bits [11:3] of X. No overflow check; check that X&7 = 0

pattern R_AARCH64_ADR_GOT_PAGE :: ElfRelocationType_AARCH64 Source #

Page(G(GDAT(S + A)))- Page(P) | Set the immediate value of an ADRP to bits [32:12] of X; check that –2^32 <= X < 2^32

pattern R_AARCH64_LD64_GOTOFF_LO15 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A))- GOT | Set a LD/ST immediate field to bits [14:3] of X; check that 0 <= X < 2^15 , X&7 = 0

pattern R_AARCH64_GOT_LD_PREL19 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A))- P | Set a load-literal immediate field to bits [20:2] of X; check –2^20 <= X < 2^20

pattern R_AARCH64_GOTREL32 :: ElfRelocationType_AARCH64 Source #

S + A - GOT | Set the data to a 32-bit offset relative to GOT, treated as signed; check that -2^31 <= X < 2^31

pattern R_AARCH64_GOTREL64 :: ElfRelocationType_AARCH64 Source #

S + A - GOT | Set the data to a 64-bit offset relative to the GOT

pattern R_AARCH64_MOVW_GOTOFF_G3 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOV[NZ] immediate value to bits [63:48] of X

pattern R_AARCH64_MOVW_GOTOFF_G2_NC :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOVK immediate value to bits [47:32] of X. No overflow check

pattern R_AARCH64_MOVW_GOTOFF_G2 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOV[NZ] immediate value to bits [47:32] of X

pattern R_AARCH64_MOVW_GOTOFF_G1_NC :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOVK immediate value to bits [31:16] of X. No overflow check

pattern R_AARCH64_MOVW_GOTOFF_G1 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOV[NZ] immediate value to bits [31:16] of X

pattern R_AARCH64_MOVW_GOTOFF_G0_NC :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_MOVW_GOTOFF_G0 :: ElfRelocationType_AARCH64 Source #

G(GDAT(S + A)) - GOT | Set a MOV[NZ] immediate field to bits [15:0] of X

pattern R_AARCH64_MOVW_PREL_G3 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOV[NZ]immediate value to bits [63:48] of X

pattern R_AARCH64_MOVW_PREL_G2_NC :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOVK immediate field to bits [47:32] of X. No overflow check

pattern R_AARCH64_MOVW_PREL_G2 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOV[NZ]immediate value to bits [47:32] of X

pattern R_AARCH64_MOVW_PREL_G1_NC :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOVK immediate field to bits [31:16] of X. No overflow check

pattern R_AARCH64_MOVW_PREL_G1 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOV[NZ]immediate field to bits [31:16] of X

pattern R_AARCH64_MOVW_PREL_G0_NC :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOVK immediate field to bits [15:0] of X. No overflow check

pattern R_AARCH64_MOVW_PREL_G0 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a MOV[NZ]immediate field to bits [15:0] of X

pattern R_AARCH64_CALL26 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a CALL immediate field to bits [27:2] of X; check that -2^27 <= X < 2^27

pattern R_AARCH64_JUMP26 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a B immediate field to bits [27:2] of X; check that -2^27 <= X < 2^27

pattern R_AARCH64_CONDBR19 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set the immediate field of a conditional branch instruction to bits [20:2] of X; check -2^20 <= X< 2^20

pattern R_AARCH64_TSTBR14 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set the immediate field of a TBZ/TBNZ instruction to bits [15:2] of X; check -2^15 <= X < 2^15

pattern R_AARCH64_LDST128_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set the LD/ST immediate value to bits [11:4] of X. No overflow check

pattern R_AARCH64_LDST64_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set the LD/ST immediate value to bits [11:3] of X. No overflow check

pattern R_AARCH64_LDST32_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set the LD/ST immediate value to bits [11:2] of X. No overflow check

pattern R_AARCH64_LDST16_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set an LD/ST immediate value to bits [11:1] of X. No overflow check

pattern R_AARCH64_LDST8_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set an LD/ST immediate value to bits [11:0] of X. No overflow check. Used with relocations ADR_PREL_PG_HI21 and ADR_PREL_PG_HI21_NC

pattern R_AARCH64_ADD_ABS_LO12_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set an ADD immediate value to bits [11:0] of X. No overflow check. Used with relocations ADR_PREL_PG_HI21 and ADR_PREL_PG_HI21_NC

pattern R_AARCH64_ADR_PREL_PG_HI21_NC :: ElfRelocationType_AARCH64 Source #

Page(S + A) - Page(P) | Set an ADRP immediate value to bits [32:12] of the X. No overflow check

pattern R_AARCH64_ADR_PREL_PG_HI21 :: ElfRelocationType_AARCH64 Source #

Page(S + A) - Page(P) | Set an ADRP immediate value to bits [32:12] of the X; check that -2^32 <= X < 2^32

pattern R_AARCH64_ADR_PREL_LO21 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set an ADR immediate value to bits [20:0] of X; check that -2^20 <= X < 2^20

pattern R_AARCH64_LD_PREL_LO19 :: ElfRelocationType_AARCH64 Source #

S + A - P | Set a load-literal immediate value to bits [20:2] of X; check that -2^20 <= X < 2^20

pattern R_AARCH64_MOVW_SABS_G2 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[NZ] immediate field using bits [47:32] of X; check -2^48 <= X < 2^48

pattern R_AARCH64_MOVW_SABS_G1 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[NZ] immediate field using bits [31:16] of X; check -2^32 <= X < 2^32

pattern R_AARCH64_MOVW_SABS_G0 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[NZ] immediate field using bits [15: 0] of X; check -2^16 <= X < 2^16

pattern R_AARCH64_MOVW_UABS_G3 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [63:48] of X (no overflow check needed)

pattern R_AARCH64_MOVW_UABS_G2_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [47:32] of X. No overflow check

pattern R_AARCH64_MOVW_UABS_G2 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [47:32] of X; check that 0 <= X < 2^48

pattern R_AARCH64_MOVW_UABS_G1_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [31:16] of X. No overflow check

pattern R_AARCH64_MOVW_UABS_G1 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [31:16] of X; check that 0 <= X < 2^32

pattern R_AARCH64_MOVW_UABS_G0_NC :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [15: 0] of X. No overflow check

pattern R_AARCH64_MOVW_UABS_G0 :: ElfRelocationType_AARCH64 Source #

S + A | Set a MOV[KZ] immediate field to bits [15: 0] of X; check that 0 <= X < 2^16

pattern R_AARCH64_PLT32 :: ElfRelocationType_AARCH64 Source #

S + A - P | Check that -2^31 <= X < 2^31 see call and jump relocations

pattern R_AARCH64_PREL16 :: ElfRelocationType_AARCH64 Source #

S + A - P | Check that -2^15 <= X < 2^16

pattern R_AARCH64_PREL32 :: ElfRelocationType_AARCH64 Source #

S + A - P | Check that -2^31 <= X < 2^32

pattern R_AARCH64_PREL64 :: ElfRelocationType_AARCH64 Source #

S + A - P | No overflow check

pattern R_AARCH64_ABS16 :: ElfRelocationType_AARCH64 Source #

S + A | Check that -2^15 <= X < 2^16

pattern R_AARCH64_ABS32 :: ElfRelocationType_AARCH64 Source #

S + A | Check that -2^31 <= X < 2^32

pattern R_AARCH64_ABS64 :: ElfRelocationType_AARCH64 Source #

S + A | No overflow check