Automatic dynamic symbol table rules in the BPABI DLL-like model
There are rules that apply to dynamic symbol tables for the Base Platform Application Binary Interface (BPABI) DLL-like model.
The following rules apply:
- Executable
An undefined symbol reference is an undefined symbol error.
Global symbols with
STV_HIDDEN
orSTV_INTERNAL
visibility are never exported to the dynamic symbol table.Global symbols with
STV_PROTECTED
orSTV_DEFAULT
visibility are not exported to the dynamic symbol table unless--export_all
or--export_dynamic
is set.- DLL
An undefined symbol reference is an undefined symbol error.
Global symbols with
STV_HIDDEN
orSTV_INTERNAL
visibility are never exported to the dynamic symbol table.Note
STV_HIDDEN
orSTV_INTERNAL
global symbols that are required for relocation can be placed in the dynamic symbol table, however the linker changes them into local symbols to prevent them from being accessed from outside the shared library.Global symbols with
STV_PROTECTED
orSTV_DEFAULT
visibility are always exported to the dynamic symbol table.
You can manually export and import symbols using the EXPORT
and
IMPORT
steering file commands. Use the --edit
command-line option to specify a steering file command.