ddn.elf.dynamic

ELF dynamic section handling functionality.

This module provides utilities for reading and manipulating ELF dynamic sections, which contain information needed for dynamic linking and loading.

NOTE: Implementation is minimal to ensure GDC compatibility. Some advanced features may be limited.

Types 3

Represents a single entry in an ELF dynamic section.

Dynamic entries contain tags and values that describe how to program should be dynamically linked.

Fields
private gelf.DynamicEntry _entry
private ElfStringTable _strtab
Methods
types.DynamicTag getTag() pure nothrow @nogc @safe const
ulong getValue() pure nothrow @nogc @safe const
ulong getPointer() pure nothrow @nogc @safe const
string getString()
Constructors

Range for iterating over dynamic entries.

Fields
private const(ubyte)[] _data
private size_t _currentIndex
private size_t _totalEntries
private types.ElfClass _class
private ElfStringTable _strtab
Methods
bool empty() const
void popFront()
typeof(this) save()
private gelf.DynamicEntry readGelfEntry(size_t idx)
Constructors
this(const(ubyte)[] data, size_t totalEntries, types.ElfClass elfClass, ElfStringTable strtab)
this(const(ubyte)[] data, size_t currentIndex, size_t totalEntries, types.ElfClass elfClass, ElfStringTable strtab)

Represents an ELF dynamic section.

This struct provides access to dynamic linking information needed to load shared libraries and resolve symbols.

Fields
private const(ubyte)[] _data
private size_t _numEntries
private ElfStringTable _strtab
private types.ElfClass _class
Methods
size_t numEntries() pure nothrow @nogc @safe const
string getSoname()
string getRpath()
string getRunpath()
const(ElfStringTable) getStringTable() pure nothrow @nogc @safe ref return const
private gelf.DynamicEntry readGelfEntry(size_t idx)
Constructors
this(ElfFile file, size_t sectionIndex)

Functions 1