readSymbols method

List<ElfSymbol> readSymbols(
  1. ElfSection section
)

Implementation

List<ElfSymbol> readSymbols(ElfSection section) {
  final stringsOffset = sections[section.link].offset;
  final count = section.size ~/ _symbolSize;
  return List<ElfSymbol>.generate(count, (i) {
    final base = section.offset + i * _symbolSize;
    return ElfSymbol(
      name: _readString(stringsOffset + _data.getUint32(base, Endian.little)),
      value: _data.getUint32(base + 4, Endian.little),
      sectionIndex: _data.getUint16(base + 14, Endian.little),
    );
  });
}