haskus-system-0.7.0.0: Haskus system programming framework

Safe HaskellNone
LanguageHaskell2010

Haskus.Format.Elf.Section

Contents

Description

ELF sections

Synopsis

Documentation

data SectionFlag Source #

Section flags

Constructors

SectionFlagWritable

Writable

SectionFlagAlloc

Occupies memory during execution

SectionFlagExecutable

Executable

SectionFlagMergeable

Might be merged

SectionFlagStrings

Contains nul-terminated strings

SectionFlagInfoLink

sh_info contains SHT index

SectionFlagPreserveLinkOrder

Preserve order after combining

SectionFlagOS_NonConforming

Non-standard OS specific handling required

SectionFlagGROUP

Section is member of a group.

SectionFlagTLS

Section hold thread-local data.

SectionFlagCompressed

Section with compressed data

SectionFlagOrdered

Special ordering requirement

SectionFlagExclude

Section is excluded unless referenced or allocated (Solaris).

SectionFlagOther Word

Other flags

data SectionType Source #

Section type

Constructors

SectionTypeNone

Section header table entry unused

SectionTypePROGBITS

Program data

SectionTypeSYMTAB

Symbol table

SectionTypeSTRTAB

String table

SectionTypeRELA

Relocation entries with addends

SectionTypeHASH

Symbol hash table

SectionTypeDYNAMIC

Dynamic linking information

SectionTypeNOTE

Notes

SectionTypeNOBITS

Program space with no data (bss)

SectionTypeREL

Relocation entries, no addends

SectionTypeSHLIB

Reserved

SectionTypeDYNSYM

Dynamic linker symbol table

SectionTypeINIT_ARRAY

Array of constructors

SectionTypeFINI_ARRAY

Array of destructors

SectionTypePREINIT_ARRAY

Array of pre-constructors

SectionTypeGROUP

Section group

SectionTypeSYMTAB_SHNDX

Extended section indeces

SectionTypeGNU_ATTRIBUTES

Object attributes.

SectionTypeGNU_HASH

GNU-style hash table.

SectionTypeGNU_LIBLIST

Prelink library list

SectionTypeCHECKSUM

Checksum for DSO content.

SectionTypeSUNW_move 
SectionTypeSUNW_COMDAT 
SectionTypeSUNW_syminfo 
SectionTypeGNU_verdef

Version definition section.

SectionTypeGNU_verneed

Version needs section.

SectionTypeGNU_versym

Version symbol table.

SectionTypeCustom Word64 

type SectionIndex = Word32 Source #

Section index

getSection :: PreHeader -> Get Section Source #

Getter for a section

getFirstSection :: Buffer -> Header -> PreHeader -> Section Source #

Return the first section that can contain special values for segments

putSection :: PreHeader -> Section -> Put Source #

Putter for a section

data CompressionType Source #

Compressed section type

Constructors

CompressionZLIB

Section uses ZLIB/Deflate compression

CompressionUnknown Word32

Unknown compression used

getSectionCompression :: PreHeader -> Get SectionCompression Source #

Getter for section compression

putSectionCompression :: PreHeader -> SectionCompression -> Put Source #

Putter for section compression

Internal

getSectionTable :: Buffer -> Header -> PreHeader -> Vector Section Source #

Getter for a section table