lib.dwfl
Class ElfDynamic

java.lang.Object
  extended by lib.dwfl.ElfDynamic

public class ElfDynamic
extends Object

ElfDynamic is a container class with functions related to reading and interpretation of DYNAMIC section of ELF files.


Nested Class Summary
static interface ElfDynamic.Builder
           
 
Field Summary
static int ELF_DT_ADDRRNGHI
           
static int ELF_DT_ADDRRNGLO
           
static int ELF_DT_AUDIT
           
static int ELF_DT_AUXILIARY
           
static int ELF_DT_BIND_NOW
           
static int ELF_DT_CHECKSUM
           
static int ELF_DT_CONFIG
           
static int ELF_DT_DEBUG
           
static int ELF_DT_DEPAUDIT
           
static int ELF_DT_ENCODING
           
static int ELF_DT_FEATURE_1
           
static int ELF_DT_FILTER
           
static int ELF_DT_FINI
           
static int ELF_DT_FINI_ARRAY
           
static int ELF_DT_FINI_ARRAYSZ
           
static int ELF_DT_FLAGS
           
static int ELF_DT_FLAGS_1
           
static int ELF_DT_GNU_CONFLICT
           
static int ELF_DT_GNU_CONFLICTSZ
           
static int ELF_DT_GNU_HASH
           
static int ELF_DT_GNU_LIBLIST
           
static int ELF_DT_GNU_LIBLISTSZ
           
static int ELF_DT_GNU_PRELINKED
           
static int ELF_DT_HASH
           
static int ELF_DT_HIOS
           
static int ELF_DT_HIPROC
           
static int ELF_DT_INIT
           
static int ELF_DT_INIT_ARRAY
           
static int ELF_DT_INIT_ARRAYSZ
           
static int ELF_DT_JMPREL
           
static int ELF_DT_LOOS
           
static int ELF_DT_LOPROC
           
static int ELF_DT_MOVEENT
           
static int ELF_DT_MOVESZ
           
static int ELF_DT_MOVETAB
           
static int ELF_DT_NEEDED
           
static int ELF_DT_NULL
           
static int ELF_DT_NUM
           
static int ELF_DT_PLTGOT
           
static int ELF_DT_PLTPAD
           
static int ELF_DT_PLTPADSZ
           
static int ELF_DT_PLTREL
           
static int ELF_DT_PLTRELSZ
           
static int ELF_DT_POSFLAG_1
           
static int ELF_DT_PREINIT_ARRAY
           
static int ELF_DT_PREINIT_ARRAYSZ
           
static int ELF_DT_REL
           
static int ELF_DT_RELA
           
static int ELF_DT_RELACOUNT
           
static int ELF_DT_RELAENT
           
static int ELF_DT_RELASZ
           
static int ELF_DT_RELCOUNT
           
static int ELF_DT_RELENT
           
static int ELF_DT_RELSZ
           
static int ELF_DT_RPATH
           
static int ELF_DT_RUNPATH
           
static int ELF_DT_SONAME
           
static int ELF_DT_STRSZ
           
static int ELF_DT_STRTAB
           
static int ELF_DT_SYMBOLIC
           
static int ELF_DT_SYMENT
           
static int ELF_DT_SYMINENT
           
static int ELF_DT_SYMINFO
           
static int ELF_DT_SYMINSZ
           
static int ELF_DT_SYMTAB
           
static int ELF_DT_TEXTREL
           
static int ELF_DT_TLSDESC_GOT
           
static int ELF_DT_TLSDESC_PLT
           
static int ELF_DT_VALRNGHI
           
static int ELF_DT_VALRNGLO
           
static int ELF_DT_VERDEF
           
static int ELF_DT_VERDEFNUM
           
static int ELF_DT_VERNEED
           
static int ELF_DT_VERNEEDNUM
           
static int ELF_DT_VERSYM
           
 
Constructor Summary
ElfDynamic()
           
 
Method Summary
protected static boolean elf_buildentry(Elf parent, long data_pointer, long entry_index, ElfDynamic.Builder builder)
           
static void loadFrom(ElfSection section, ElfDynamic.Builder builder)
          Calls Builder.symbol with each symbol in given section.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ELF_DT_NULL

public static int ELF_DT_NULL

ELF_DT_NEEDED

public static int ELF_DT_NEEDED

ELF_DT_PLTRELSZ

public static int ELF_DT_PLTRELSZ

ELF_DT_PLTGOT

public static int ELF_DT_PLTGOT

ELF_DT_HASH

public static int ELF_DT_HASH

ELF_DT_STRTAB

public static int ELF_DT_STRTAB

ELF_DT_SYMTAB

public static int ELF_DT_SYMTAB

ELF_DT_RELA

public static int ELF_DT_RELA

ELF_DT_RELASZ

public static int ELF_DT_RELASZ

ELF_DT_RELAENT

public static int ELF_DT_RELAENT

ELF_DT_STRSZ

public static int ELF_DT_STRSZ

ELF_DT_SYMENT

public static int ELF_DT_SYMENT

ELF_DT_INIT

public static int ELF_DT_INIT

ELF_DT_FINI

public static int ELF_DT_FINI

ELF_DT_SONAME

public static int ELF_DT_SONAME

ELF_DT_RPATH

public static int ELF_DT_RPATH

ELF_DT_SYMBOLIC

public static int ELF_DT_SYMBOLIC

ELF_DT_REL

public static int ELF_DT_REL

ELF_DT_RELSZ

public static int ELF_DT_RELSZ

ELF_DT_RELENT

public static int ELF_DT_RELENT

ELF_DT_PLTREL

public static int ELF_DT_PLTREL

ELF_DT_DEBUG

public static int ELF_DT_DEBUG

ELF_DT_TEXTREL

public static int ELF_DT_TEXTREL

ELF_DT_JMPREL

public static int ELF_DT_JMPREL

ELF_DT_BIND_NOW

public static int ELF_DT_BIND_NOW

ELF_DT_INIT_ARRAY

public static int ELF_DT_INIT_ARRAY

ELF_DT_FINI_ARRAY

public static int ELF_DT_FINI_ARRAY

ELF_DT_INIT_ARRAYSZ

public static int ELF_DT_INIT_ARRAYSZ

ELF_DT_FINI_ARRAYSZ

public static int ELF_DT_FINI_ARRAYSZ

ELF_DT_RUNPATH

public static int ELF_DT_RUNPATH

ELF_DT_FLAGS

public static int ELF_DT_FLAGS

ELF_DT_ENCODING

public static int ELF_DT_ENCODING

ELF_DT_PREINIT_ARRAY

public static int ELF_DT_PREINIT_ARRAY

ELF_DT_PREINIT_ARRAYSZ

public static int ELF_DT_PREINIT_ARRAYSZ

ELF_DT_NUM

public static int ELF_DT_NUM

ELF_DT_LOOS

public static int ELF_DT_LOOS

ELF_DT_HIOS

public static int ELF_DT_HIOS

ELF_DT_VALRNGLO

public static int ELF_DT_VALRNGLO

ELF_DT_GNU_PRELINKED

public static int ELF_DT_GNU_PRELINKED

ELF_DT_GNU_CONFLICTSZ

public static int ELF_DT_GNU_CONFLICTSZ

ELF_DT_GNU_LIBLISTSZ

public static int ELF_DT_GNU_LIBLISTSZ

ELF_DT_CHECKSUM

public static int ELF_DT_CHECKSUM

ELF_DT_PLTPADSZ

public static int ELF_DT_PLTPADSZ

ELF_DT_MOVEENT

public static int ELF_DT_MOVEENT

ELF_DT_MOVESZ

public static int ELF_DT_MOVESZ

ELF_DT_FEATURE_1

public static int ELF_DT_FEATURE_1

ELF_DT_POSFLAG_1

public static int ELF_DT_POSFLAG_1

ELF_DT_SYMINSZ

public static int ELF_DT_SYMINSZ

ELF_DT_SYMINENT

public static int ELF_DT_SYMINENT

ELF_DT_VALRNGHI

public static int ELF_DT_VALRNGHI

ELF_DT_ADDRRNGLO

public static int ELF_DT_ADDRRNGLO

ELF_DT_GNU_HASH

public static int ELF_DT_GNU_HASH

ELF_DT_TLSDESC_PLT

public static int ELF_DT_TLSDESC_PLT

ELF_DT_TLSDESC_GOT

public static int ELF_DT_TLSDESC_GOT

ELF_DT_GNU_CONFLICT

public static int ELF_DT_GNU_CONFLICT

ELF_DT_GNU_LIBLIST

public static int ELF_DT_GNU_LIBLIST

ELF_DT_CONFIG

public static int ELF_DT_CONFIG

ELF_DT_DEPAUDIT

public static int ELF_DT_DEPAUDIT

ELF_DT_AUDIT

public static int ELF_DT_AUDIT

ELF_DT_PLTPAD

public static int ELF_DT_PLTPAD

ELF_DT_MOVETAB

public static int ELF_DT_MOVETAB

ELF_DT_SYMINFO

public static int ELF_DT_SYMINFO

ELF_DT_ADDRRNGHI

public static int ELF_DT_ADDRRNGHI

ELF_DT_VERSYM

public static int ELF_DT_VERSYM

ELF_DT_RELACOUNT

public static int ELF_DT_RELACOUNT

ELF_DT_RELCOUNT

public static int ELF_DT_RELCOUNT

ELF_DT_FLAGS_1

public static int ELF_DT_FLAGS_1

ELF_DT_VERDEF

public static int ELF_DT_VERDEF

ELF_DT_VERDEFNUM

public static int ELF_DT_VERDEFNUM

ELF_DT_VERNEED

public static int ELF_DT_VERNEED

ELF_DT_VERNEEDNUM

public static int ELF_DT_VERNEEDNUM

ELF_DT_LOPROC

public static int ELF_DT_LOPROC

ELF_DT_AUXILIARY

public static int ELF_DT_AUXILIARY

ELF_DT_FILTER

public static int ELF_DT_FILTER

ELF_DT_HIPROC

public static int ELF_DT_HIPROC
Constructor Detail

ElfDynamic

public ElfDynamic()
Method Detail

loadFrom

public static void loadFrom(ElfSection section,
                            ElfDynamic.Builder builder)
                     throws ElfException
Calls Builder.symbol with each symbol in given section. Only makes sense for DYNAMIC section.

Throws:
ElfException

elf_buildentry

protected static boolean elf_buildentry(Elf parent,
                                        long data_pointer,
                                        long entry_index,
                                        ElfDynamic.Builder builder)