Package net.fornwall.jelf
Class ElfDynamicSection
java.lang.Object
net.fornwall.jelf.ElfSection
net.fornwall.jelf.ElfDynamicSection
An
ElfSection with information necessary for dynamic linking.
Given an ElfFile, use ElfFile.getDynamicSection() to obtain the dynamic section for it if one exists,
which it only does if the ELF file is an object file participating in dynamic linking.
This dynamic linking section contains a list of ElfDynamicSection.ElfDynamicStructure:s.
Name Value d_un Executable Shared Object ---------------------------------------------------------------------- DT_NULL 0 ignored mandatory mandatory DT_NEEDED 1 d_val optional optional DT_PLTRELSZ 2 d_val optional optional DT_PLTGOT 3 d_ptr optional optional DT_HASH 4 d_ptr mandatory mandatory DT_STRTAB 5 d_ptr mandatory mandatory DT_SYMTAB 6 d_ptr mandatory mandatory DT_RELA 7 d_ptr mandatory optional DT_RELASZ 8 d_val mandatory optional DT_RELAENT 9 d_val mandatory optional DT_STRSZ 10 d_val mandatory mandatory DT_SYMENT 11 d_val mandatory mandatory DT_INIT 12 d_ptr optional optional DT_FINI 13 d_ptr optional optional DT_SONAME 14 d_val ignored optional DT_RPATH* 15 d_val optional ignored DT_SYMBOLIC* 16 ignored ignored optional DT_REL 17 d_ptr mandatory optional DT_RELSZ 18 d_val mandatory optional DT_RELENT 19 d_val mandatory optional DT_PLTREL 20 d_val optional optional DT_DEBUG 21 d_ptr optional ignored DT_TEXTREL* 22 ignored optional optional DT_JMPREL 23 d_ptr optional optional DT_BIND_NOW* 24 ignored optional optional DT_INIT_ARRAY 25 d_ptr optional optional DT_FINI_ARRAY 26 d_ptr optional optional DT_INIT_ARRAYSZ 27 d_val optional optional DT_FINI_ARRAYSZ 28 d_val optional optional DT_RUNPATH 29 d_val optional optional DT_FLAGS 30 d_val optional optional DT_ENCODING 32 unspecified unspecified unspecified DT_PREINIT_ARRAY 32 d_ptr optional ignored DT_PREINIT_ARRAYSZ 33 d_val optional ignored DT_LOOS 0x6000000D unspecified unspecified unspecified DT_HIOS 0x6ffff000 unspecified unspecified unspecified DT_LOPROC 0x70000000 unspecified unspecified unspecified DT_HIPROC 0x7fffffff unspecified unspecified unspecified "*" Signifies an entry that is at level 2.
Read more about dynamic sections at Dynamic Section.
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intSet RTLD_GLOBAL for this object.static final intstatic final intSet RTLD_GROUP for this object.static final intstatic final intstatic final intstatic final intstatic final intstatic final intSet RTLD_NODELETE for this object.static final intstatic final intObject cannot be dumped with dldump(3)static final intstatic final intstatic final intObject can not be used with dlopen(3)static final intstatic final intSet RTLD_NOW for this object.static final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intThis element holds the string table offset of a null-terminated string, giving the name of a needed library.static final intAn entry with a DT_NULL tag marks the end of the _DYNAMIC array.static final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intThe size in bytes of theDT_STRTABstring table.static final intDT_STRTAB entry holds the address, not offset, of the dynamic string table.longFor theDT_STRTAB.intFor theDT_STRSZ.static final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFields inherited from class net.fornwall.jelf.ElfSection
header, parser -
Constructor Summary
ConstructorsConstructorDescriptionElfDynamicSection(net.fornwall.jelf.ElfParser parser, ElfSectionHeader header) -
Method Summary
Methods inherited from class net.fornwall.jelf.ElfSection
getData
-
Field Details
-
DT_NULL
public static final int DT_NULLAn entry with a DT_NULL tag marks the end of the _DYNAMIC array.- See Also:
-
DT_NEEDED
public static final int DT_NEEDEDThis element holds the string table offset of a null-terminated string, giving the name of a needed library. The offset is an index into the table recorded in theDT_STRTABcode.See Shared Object Dependencies for more information about these names.
The dynamic array may contain multiple entries with this type.
These entries' relative order is significant, though their relation to entries of other types is not.
- See Also:
-
DT_PLTRELSZ
public static final int DT_PLTRELSZ- See Also:
-
DT_PLTGOT
public static final int DT_PLTGOT- See Also:
-
DT_HASH
public static final int DT_HASH- See Also:
-
DT_STRTAB
public static final int DT_STRTABDT_STRTAB entry holds the address, not offset, of the dynamic string table.- See Also:
-
DT_SYMTAB
public static final int DT_SYMTAB- See Also:
-
DT_RELA
public static final int DT_RELA- See Also:
-
DT_RELASZ
public static final int DT_RELASZ- See Also:
-
DT_RELAENT
public static final int DT_RELAENT- See Also:
-
DT_STRSZ
public static final int DT_STRSZThe size in bytes of theDT_STRTABstring table.- See Also:
-
DT_SYMENT
public static final int DT_SYMENT- See Also:
-
DT_INIT
public static final int DT_INIT- See Also:
-
DT_FINI
public static final int DT_FINI- See Also:
-
DT_SONAME
public static final int DT_SONAME- See Also:
-
DT_RPATH
public static final int DT_RPATH- See Also:
-
DT_SYMBOLIC
public static final int DT_SYMBOLIC- See Also:
-
DT_REL
public static final int DT_REL- See Also:
-
DT_RELSZ
public static final int DT_RELSZ- See Also:
-
DT_RELENT
public static final int DT_RELENT- See Also:
-
DT_PLTREL
public static final int DT_PLTREL- See Also:
-
DT_DEBUG
public static final int DT_DEBUG- See Also:
-
DT_TEXTREL
public static final int DT_TEXTREL- See Also:
-
DT_JMPREL
public static final int DT_JMPREL- See Also:
-
DT_BIND_NOW
public static final int DT_BIND_NOW- See Also:
-
DT_INIT_ARRAY
public static final int DT_INIT_ARRAY- See Also:
-
DT_FINI_ARRAY
public static final int DT_FINI_ARRAY- See Also:
-
DT_INIT_ARRAYSZ
public static final int DT_INIT_ARRAYSZ- See Also:
-
DT_FINI_ARRAYSZ
public static final int DT_FINI_ARRAYSZ- See Also:
-
DT_RUNPATH
public static final int DT_RUNPATH- See Also:
-
DT_FLAGS
public static final int DT_FLAGS- See Also:
-
DT_PREINIT_ARRAY
public static final int DT_PREINIT_ARRAY- See Also:
-
DT_GNU_HASH
public static final int DT_GNU_HASH- See Also:
-
DT_FLAGS_1
public static final int DT_FLAGS_1- See Also:
-
DT_VERDEF
public static final int DT_VERDEF- See Also:
-
DT_VERDEFNUM
public static final int DT_VERDEFNUM- See Also:
-
DT_VERNEEDED
public static final int DT_VERNEEDED- See Also:
-
DT_VERNEEDNUM
public static final int DT_VERNEEDNUM- See Also:
-
DF_ORIGIN
public static final int DF_ORIGIN- See Also:
-
DF_SYMBOLIC
public static final int DF_SYMBOLIC- See Also:
-
DF_TEXTREL
public static final int DF_TEXTREL- See Also:
-
DF_BIND_NOW
public static final int DF_BIND_NOW- See Also:
-
DF_1_NOW
public static final int DF_1_NOWSet RTLD_NOW for this object.- See Also:
-
DF_1_GLOBAL
public static final int DF_1_GLOBALSet RTLD_GLOBAL for this object.- See Also:
-
DF_1_GROUP
public static final int DF_1_GROUPSet RTLD_GROUP for this object.- See Also:
-
DF_1_NODELETE
public static final int DF_1_NODELETESet RTLD_NODELETE for this object.- See Also:
-
DF_1_LOADFLTR
public static final int DF_1_LOADFLTR- See Also:
-
DF_1_INITFIRST
public static final int DF_1_INITFIRST- See Also:
-
DF_1_NOOPEN
public static final int DF_1_NOOPENObject can not be used with dlopen(3)- See Also:
-
DF_1_ORIGIN
public static final int DF_1_ORIGIN- See Also:
-
DF_1_DIRECT
public static final int DF_1_DIRECT- See Also:
-
DF_1_TRANS
public static final int DF_1_TRANS- See Also:
-
DF_1_INTERPOSE
public static final int DF_1_INTERPOSE- See Also:
-
DF_1_NODEFLIB
public static final int DF_1_NODEFLIB- See Also:
-
DF_1_NODUMP
public static final int DF_1_NODUMPObject cannot be dumped with dldump(3)- See Also:
-
DF_1_CONFALT
public static final int DF_1_CONFALT- See Also:
-
DF_1_ENDFILTEE
public static final int DF_1_ENDFILTEE- See Also:
-
DF_1_DISPRELDNE
public static final int DF_1_DISPRELDNE- See Also:
-
DF_1_DISPRELPND
public static final int DF_1_DISPRELPND- See Also:
-
DF_1_NODIRECT
public static final int DF_1_NODIRECT- See Also:
-
DF_1_IGNMULDEF
public static final int DF_1_IGNMULDEF- See Also:
-
DF_1_NOKSYMS
public static final int DF_1_NOKSYMS- See Also:
-
DF_1_NOHDR
public static final int DF_1_NOHDR- See Also:
-
DF_1_EDITED
public static final int DF_1_EDITED- See Also:
-
DF_1_NORELOC
public static final int DF_1_NORELOC- See Also:
-
DF_1_SYMINTPOSE
public static final int DF_1_SYMINTPOSE- See Also:
-
DF_1_GLOBAUDIT
public static final int DF_1_GLOBAUDIT- See Also:
-
DF_1_SINGLETON
public static final int DF_1_SINGLETON- See Also:
-
DF_1_STUB
public static final int DF_1_STUB- See Also:
-
DF_1_PIE
public static final int DF_1_PIE- See Also:
-
dt_strtab_offset
public long dt_strtab_offsetFor theDT_STRTAB. Mandatory. -
dt_strtab_size
public int dt_strtab_sizeFor theDT_STRSZ. Mandatory. -
entries
-
-
Constructor Details
-
ElfDynamicSection
-
-
Method Details
-
getNeededLibraries
- Throws:
ElfException
-
getRunPath
-
getFlags
public long getFlags() -
getFlags1
public long getFlags1() -
toString
-