DLL Programmer's Guide for TNS/E Systems

Advanced DLL Facility Controls
DLL Programmer’s Guide for TNS/E Systems527252-006
5-6
C++ Mangled Symbol Names
iniTerm lists corresponding to these procedures, and places pointers (ctors and
dtors addresses) to them in the tandeminfo segment of the object file.
___INIT__ and __TERM__
Apart from the procedures from runtime-library, the user program itself might
contain procedures with these names (for example, __INIT__< name>). These
functions need not be called by the program explicitly; they are executed in
alphabetical order of the procedure names in case of __INIT__ procedures and
reverse alphabetic order in case of __TERM__ functions. The linker builds two
iniTerm lists corresponding to these procedures and places pointers (initz and
termz addresses) to them in the tandeminfo segment of the object file.
C++ Mangled Symbol Names
In order to identify to the linker a C++ function (other than one declared with extern
“c”), you must use the symbol’s mangled name. The linker does not make the
correspondence between unmangled and mangled names. For example, if
<symbolname> or <entrypoint> in the two previous subsections are in a C++
program, these values must be the mangled version of their source-code names.
How to Set Run-Time Attributes of Your Loadfile
At link time, the linker sets certain run-time attributes of the loadfile it is building to
default values, unless you override a default by inserting the -set attribute
<value> option.
See also Default Setting and Checking of File Attributes on page 2-19.
Each -set attribute option can affect only one attribute, so this option must be
re-inserted for each attribute that is changed. Permitted attributes are shown in the
following list, which summarizes the values that can be set. The linker places these
attribute values in the loadfile being linked in order to make them available to the
system at load time.
cppdialect
sets the C++ dialect of the output loadfile. The values are cppneutral or v2 or
v3.
See also C++ Dialect
on page 2-20.
float_lib_overrule
inhibits float-type checking of the program and the libraries from which the program
imports symbols. Possible values are on or off, and the default is off. See
Checking the Floating-Point Types of Liblisted Libraries on page 2-20.
floattype