goblin::elf

Module sym

Source

Modules§

Structs§

  • A unified Sym definition - convertible to and from 32-bit and 64-bit variants
  • An iterator over symbols in an ELF symbol table
  • An ELF symbol table, allowing lazy iteration over symbols

Constants§

  • Global symbol.
  • Unique symbol..
  • End of OS-specific.
  • End of processor-specific.
  • === Sym bindings === Local symbol.
  • Start of OS-specific.
  • Start of processor-specific.
  • Number of defined types..
  • Weak symbol.
  • Symbol is a common data object.
  • Symbol’s name is file name.
  • Symbol is a code object.
  • Symbol is indirect code object.
  • End of OS-specific.
  • End of processor-specific.
  • Start of OS-specific.
  • Start of processor-specific.
  • === Sym types === Symbol type is unspecified.
  • Number of defined types.
  • Symbol is a data object.
  • Symbol associated with a section.
  • Symbol is thread-local data object.
  • === Sym visibility === Default: Visibility is specified by the symbol’s binding type
  • Eliminate: extends the hidden attribute. Not written in any symbol table of a dynamic executable or shared object.
  • Exported: ensures a symbol remains global, cannot be demoted or eliminated by any other symbol visibility technique.
  • Hidden: Not visible to other components, necessarily protected. Binding scope becomes local when the object is included in an executable or shared object.
  • Internal: use of this attribute is currently reserved.
  • Protected: Symbol defined in current component is visible in other components, but cannot be preempted. Any reference from within the defining component must be resolved to the definition in that component.
  • Singleton: ensures a symbol remains global, and that a single instance of the definition is bound to by all references within a process. Cannot be demoted or eliminated.

Functions§