HP Fortran Programmer's Guide (B3908-90031; September 2011)

Compiling and linking
Compiling with the f90 command
Chapter 2 59
-Bextern [=symbol [,symbol...]]
The named symbols, or all undefined symbols if no list is provided, are assigned the
default export class. Additionally, the compiler will inline the import stub for calls to
these symbols. No compile-time binding of these symbols will be done. All references
to these symbols will be through the linkage table, so an unnecessary performance
penalty will occur if -Bextern is applied to a listed symbol that is resolved in the same
load module.
-Bextern:filename
The file indicated by filename contains a list of symbols, separated by spaces or
newlines. These symbols are assigned the default export class. Additionally, the
compiler will inline the import stub for calls to these symbols. No compile-time binding
of these symbols will be done. All references to these symbols will be through the
linkage table, so an unnecessary performance penalty will occur if -Bextern is applied
to a symbol that is resolved in the same load module.
-Bhidden [=symbol [,symbol...]]
The named symbols, or all symbols if no symbols are specified, are assigned the hidden
export class. The hidden export class is similar to the protected export class. These
symbols will not be preempted by symbols from other load modules, so the compiler
may bypass the linkage table for both code and data references and bind them to
locally-defined code and data symbols. In addition, hidden symbols will not be exported
outside the current load module. The linker may eliminate them from a shared library,
but in an executable, they remain accessible to the debugger unless +Oprocelim is also
specified.
When used with no symbol list, -Bhidden implies -W1,-aarchive_shared,
causing the linker to prefer an archive library over a shared library if one is available.
This can be overriden by following the -Bhidden option with a subsequent -W1,-a
option.
-Bhidden:filename
The file indicated by filename contains a list of symbols, separated by spaces or
newlines. These symbols are assigned the hidden export class.
-Bprotected [=symbol [,symbol...]]