Enables runtime linking for the output file.


Read syntax diagramSkip visual syntax diagram>>- -brtl------------------------------------------------------><


DCE thread libraries and heap debug libraries are not compatible with runtime linking. Do not specify the -brtl compiler option if you are invoking the compiler with xlc_r4 or xlC_r4, or if the -qheapdebug compiler option is specified.

Runtime linking is the ability to resolve undefined and non-deferred symbols in shared modules after the program execution has already begun. It is a mechanism for providing runtime definitions (these function definitions are not available at link-time) and symbol rebinding capabilities. The main application must be built to enable runtime linking. You cannot simply link any module with the runtime linker.

To include runtime linking in your program, compile using the -brtl compiler option. This will add a reference to the runtime linker to your program, which will be called by your program's startup code (/lib/crt0.o) when program execution begins. Shared object input files are listed as dependents in the program loader section in the same order as they are specified on the command line. When the program execution begins, the system loader loads these shared objects so their definitions are available to the runtime linker.

The system loader must be able to load and resolve all symbols referenced in the main program and called modules, or the program will not execute.

Related information