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

Get the string for some bind.

Convenience function to get the &’static str type from the symbols st_info.

Is this information defining an import?

Get the ST bind.

Get the ST type.

Get the ST visibility.

Get the string for some type.

Get the string for some visibility