package
0.0.0-20130121074735-1d03baafba06
Repository: https://github.com/icattlecoder/go.git
Documentation: pkg.go.dev

# Functions

NewFile creates a new File for accessing an ELF binary in an underlying reader.
Open opens the named file using os.Open and prepares it for use as an ELF binary.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author

# Constants

Magic number for the elf trampoline, chosen wisely to be an immediate value.
Indicates that the dynamic linker should process all relocations for the object containing this entry before transferring control to the program.
Indicates that the object being loaded may make reference to the $ORIGIN substitution string */.
Indicates that the shared object or executable contains code using a static thread-local storage scheme.
Indicates "symbolic" linking.
Indicates there may be relocations in non-writable segments.
[sup] */.
Reserved (not used).
Values greater than or equal to DT_ENCODING and less than DT_LOOS follow the rules for the interpretation of the d_un union as follows: even == 'd_ptr', even == 'd_val' or none */.
Address of finalization function.
Address of the array of pointers to termination functions */.
Size in bytes of the array of terminationfunctions.
Object specific flag values.
Address of symbol hash table.
Last OS-specific */.
Last processor-specific type.
Address of initialization function.
Address of the array of pointers to initialization functions */.
Size in bytes of the array of initialization functions.
Address of PLT relocations.
First OS-specific */.
First processor-specific type.
String table offset of a needed shared library.
Terminating entry.
Processor-dependent address.
Type of relocation used for PLT.
Total size in bytes of PLT relocations.
Address of the array of pointers to pre-initialization functions.
Size in bytes of the array of pre-initialization functions.
Address of ElfNN_Rel relocations.
Address of ElfNN_Rela relocations.
Size of each ElfNN_Rela relocation entry.
Total size of ElfNN_Rela relocations.
Size of each ElfNN_Rel relocation.
Total size of ElfNN_Rel relocations.
String table offset of library path.
String table offset of a null-terminated library search path string.
String table offset of shared object name.
Size of string table.
Address of string table.
Indicates "symbolic" linking.
Size of each symbol table entry.
Address of symbol table.
Indicates there may be relocations in non-writable segments.
No description provided by the author
No description provided by the author
No description provided by the author
ABI version */.
Class of machine.
Data format.
Size of e_ident array.
Operating system / ABI identification */.
Start of padding (per SVR4 ABI).
ELF format version.
32-bit architecture.
64-bit architecture.
Unknown class.
2's complement little-endian.
2's complement big-endian.
Unknown data format.
Initial magic number for ELF files.
86Open common IA32 ABI */.
AIX */.
ARM */.
FreeBSD */.
HP-UX operating system */.
GNU/Hurd */.
IRIX */.
GNU/Linux */.
Novell Modesto */.
NetBSD */.
UNIX System V ABI */.
HP Non-Stop Kernel */.
OpenBSD */.
Open VMS */.
Solaris */.
Standalone (embedded) application */.
TRU64 UNIX */.
Intel i386.
Intel i486.
Motorola M68HC12.
Motorola 68000.
Intel i860.
Motorola 88000.
Intel 80960.
Alpha (written in the absence of an ABI) */.
Digital Alpha (standard value).
Argonaut RISC Core.
ARM.
Motorola ColdFire.
Fujitsu FR20.
Hitachi H8/300.
Hitachi H8/300H.
Hitachi H8/500.
Hitachi H8S.
Intel IA-64 Processor.
AT&T WE32100.
Toyota ME16 processor.
MIPS R3000 Big-Endian only.
MIPS R3000 Little-Endian.
MIPS R4000 Big-Endian */.
Stanford MIPS-X.
Fujitsu MMA.
Sony nCPU.
Denso NDR1 microprocessor.
Unknown machine.
HP PA-RISC.
Siemens PCP.
PowerPC 32-bit.
PowerPC 64-bit.
Motorola RCE.
TRW RH-32.
IBM System/370.
IBM System/390.
Hitachi SH.
Sun SPARC.
SPARC v8plus.
SPARC v9 64-bit.
STMicroelectronics ST100 processor.
Motorola Star*Core processor.
Advanced Logic Corp.
Siemens TriCore embedded processor.
NEC V800.
Fujitsu VPP500.
Advanced Micro Devices x86-64 */.
Core file.
Shared object.
Executable.
Last operating system-specific.
Last processor-specific.
First operating system specific.
First processor-specific.
Unknown type.
Relocatable.
No description provided by the author
No description provided by the author
Floating point registers.
Process state info.
Process status.
Operating system-specific.
Processor-specific.
Readable.
Writable.
Executable.
Dynamic linking information segment.
Last OS-specific.
Last processor-specific type.
Pathname of interpreter.
Loadable segment.
First OS-specific.
First processor-specific type.
Auxiliary information.
Unused entry.
Location of program header itself.
Reserved (not used).
Thread local storage segment */.
Add symbol value.
Copy data from shared object.
Set GOT entry to data address.
Add PC-relative GOT offset.
Add GOT-relative symbol address.
Add PC-relative GOT table address.
Set GOT entry to code address.
No relocation.
Add PC-relative symbol value.
Add PC-relative PLT offset.
Add load address of shared object.
GOT entry containing TLS index */.
GOT entry containing TLS offset */.
32 bit offset to GOT (index,off) pair */.
32 bit offset to GOT (index,off) pair */.
call instruction for Sun ABI GD sequence */.
popl instruction for Sun ABI GD sequence */.
pushl instruction for Sun ABI GD sequence */.
GOT entry for negative static TLS block */.
Absolute address of GOT for -ve static TLS */.
32 bit offset to GOT static TLS offset entry */.
32 bit offset to GOT (index,zero) pair */.
32 bit offset to GOT (index,zero) pair */.
call instruction for Sun ABI LD sequence */.
popl instruction for Sun ABI LD sequence */.
pushl instruction for Sun ABI LD sequence */.
32 bit offset from start of TLS block */.
Negative offset relative to static TLS */.
32 bit offset within static TLS block */.
Negative offset in static TLS block */.
GOT entry of -ve static TLS offset */.
PC+4 relative 23 bit shifted */.
Copy symbol at runtime */.
Create GOT entry */.
Add displacement to GP */.
GP relative 32 bit */.
No description provided by the author
No description provided by the author
No description provided by the author
PC+4 relative 16 bit shifted */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Create PLT entry */.
GP relative 16 bit w/optimization */.
Optimization hint for LITERAL */.
No reloc */.
OP stack right shift */.
OP stack subtract */.
OP stack push */.
OP stack pop and store */.
Direct 32 bit */.
Direct 64 bit */.
Adjust by program base */.
PC relative 16 bit */.
PC relative 32 bit */.
PC relative 64 bit */.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Copy data from shared object.
Set GOT entry to data address.
No description provided by the author
No description provided by the author
Add PC-relative GOT offset.
Add GOT-relative symbol address.
Add PC-relative GOT table address.
Set GOT entry to code address.
No relocation.
No description provided by the author
No description provided by the author
Add PC-relative PLT offset.
No description provided by the author
No description provided by the author
No description provided by the author
Add load address of shared object.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No relocation.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Add 16 bit zero extended symbol value */.
Add 32 bit zero extended symbol value */.
Add 32 bit sign extended symbol value */.
Add 64 bit symbol value.
Add 8 bit zero extended symbol value */.
Copy data from shared object.
ID of module containing symbol */.
Offset in TLS block */.
Offset in TLS block */.
Set GOT entry to data address.
PC-relative 32 bit GOT offset.
Add 32 bit signed pcrel offset to GOT.
PC relative offset to IE GOT entry */.
Set GOT entry to code address.
No relocation.
Add 16 bit signed extended pc relative symbol value */.
PC-relative 32 bit signed sym value.
Add 8 bit signed extended pc relative symbol value */.
PC-relative 32 bit PLT offset.
Add load address of shared object.
PC relative offset to GD GOT entry */.
PC relative offset to LD GOT entry */.
Offset in static TLS block */.
Offset in static TLS block */.
Section occupies memory.
Section contains instructions.
Member of section group.
sh_info holds section index.
Special ordering requirements.
OS-specific semantics.
Processor-specific semantics.
Section may be merged.
OS-specific processing required.
Section contains strings.
Section contains TLS data.
Section contains writable data.
Absolute values.
Common data.
Last operating system-specific.
Last processor-specific.
Last of reserved range.
First operating system-specific.
First processor-specific.
First of reserved range.
Undefined, missing, irrelevant.
Escape -- index stored elsewhere.
dynamic section */.
dynamic symbol table section */.
Termination function pointers.
GNU object attributes */.
GNU hash table */.
GNU prelink library list */.
GNU version definition section */.
GNU version needs section */.
GNU version symbol table */.
Section group.
symbol hash table section */.
Last of OS specific semantics */.
specific section header types */.
specific indexes */.
Initialization function pointers.
First of OS specific semantics */.
reserved range for processor */.
reserved range for application */.
no space section */.
note section */.
inactive */.
Pre-initialization function ptrs.
program defined information */.
relocation section - no addends */.
relocation section with addends */.
reserved - purpose unknown */.
string table section */.
symbol table section */.
Section indexes (see SHN_XINDEX).
Global symbol */.
specific semantics.
specific semantics.
Local symbol */.
Reserved range for operating system */.
reserved range for processor */.
like global - lower precedence */.
Uninitialized common block.
Source file.
Function.
specific semantics.
specific semantics.
Reserved range for operating system */.
reserved range for processor */.
Unspecified type.
Data object.
Section.
TLS object.
Default visibility (see binding).
Not visible.
Special meaning in relocatable objects.
Visible but not preemptible.
No description provided by the author
No description provided by the author

# Structs

ELF32 Dynamic structure.
ELF64 Dynamic structure.
A File represents an open ELF file.
A FileHeader represents an ELF file header.
No description provided by the author
ELF32 File header.
ELF64 file header.
No description provided by the author
A Prog represents a single ELF program header in an ELF binary.
ELF32 Program header.
ELF64 Program header.
A ProgHeader represents a single ELF program header.
ELF32 Relocations that don't need an addend field.
ELF64 relocations that don't need an addend field.
ELF32 Relocations that need an addend field.
ELF64 relocations that need an addend field.
A Section represents a single section in an ELF file.
ELF32 Section header.
ELF64 Section header.
A SectionHeader represents a single ELF section header.
ELF32 Symbol.
ELF64 symbol table entries.
A Symbol represents an entry in an ELF symbol table section.

# Type aliases

Class is found in Header.Ident[EI_CLASS] and Header.Class.
Data is found in Header.Ident[EI_DATA] and Header.Data.
DT_FLAGS values.
Dyn.Tag.
Machine is found in Header.Machine.
NType values; used in core files.
OSABI is found in Header.Ident[EI_OSABI] and Header.OSABI.
Prog.Flag.
Prog.Type.
Relocation types for 386.
Relocation types for Alpha.
Relocation types for ARM.
Relocation types for PowerPC.
Relocation types for SPARC.
Relocation types for x86-64.
Section flags.
Special section indices.
Section type.
Symbol Binding - ELFNN_ST_BIND - st_info */.
Symbol type - ELFNN_ST_TYPE - st_info */.
Symbol visibility - ELFNN_ST_VISIBILITY - st_other */.
Type is found in Header.Type.
Version is found in Header.Ident[EI_VERSION] and Header.Version.