DLL Programmer's Guide for TNS/R Systems
Finding Symbol Definitions
DLL Programmer’s Guide for TNS/R Systems—522203-002
4-12
C++ Considerations: Globalized (Gblzd) Symbols
of the loadfile itself. That range comprises the loadfile’s LibList, the loadfiles that those 
loadfiles re-export , and so on.
C++ Considerations: 
Globalized (Gblzd) Symbols
Constructs in the C++ language can generate symbols that might have multiple 
definitions (for example, one in every compilation unit that includes a particular header 
file). The compiler marks these symbols so that the linker can recognize them and pick 
one definition for use throughout the resulting loadfile. The linker also marks them so 
that the loader can recognize them and pick one definition for use throughout the 
process.
Here are a few of the situations that give rise to such symbols:
•
Functions declared inline for which the compiler defines an out-of-line procedure
•
Elaborations of template functions or classes
•
Compiler-generated variable names used to identify types for run-time type 
checking, including throw and catch of exceptions
The compiler generates these symbols as needed; programmer's cannot explicitly 
define them in source.
For correct function of the C++ program and libraries, it is important that a single 
definition be used throughout the process. For example, an exception can be thrown 
and caught in different loadfiles only if they agree on the exception class type.
These special symbols are called globalized symbols, often abbreviated gblzd. The 
overloading of the term "globalized" arises because these symbols unconditionally 
have globalized semantics: the loader picks one definition for this symbol and binds all 
references to it. It does so regardless of the import control for the referencing loadfile. 
One must carefully distinguish the term "globalized symbols" (these symbols that 
automatically get special treatment) from "globalized import" (selected by the user at 
link time).
These gblzd symbols reside in a separate symbol table in PIC loadfiles.
On TNS/R systems, gblzd symbols are treated slightly differently from ordinary 
symbols in a loadfile with globalized import: when traversing the loadList of the 
Table 4-1. Import Control Summary
Option Range Sequence
-b globalized loadList of the program load sequence
-b semi_globalized loadList of the program current loadfile followed by 
load sequence
-b localized within the loadfile’s loadList load sequence










