--export-dynamic
When creating a dynamically linked executable, add all symbols to the dynamic symbol ta-
ble. The dynamic symbol table is the set of symbols which are visible from dynamic
objects at run time.
If you do not use this option, the dynamic symbol table will normally contain only those
symbols which are referenced by some dynamic object mentioned in the link.
If you use "dlopen" to load a dynamic object which needs to refer back to the symbols
defined by the program, rather than some other dynamic object, then you will probably need
to use this option when linking the program itself.
You can also use the version script to control what symbols should be added to the dynamic
symbol table if the output format supports it. See the description of --version-script in
@ref{VERSION}.