DLL Programmer's Guide for TNS/R Systems
Essential DLL Facility Controls
DLL Programmer’s Guide for TNS/R Systems—522203-002
2-20
Execution-Target System Type
(78,6 and 77,8, respectively; see the Guardian Procedure Errors and Messages
Manual).
Neutralizing the C++ Dialect of a Loadfile
The linker can overwrite the cppdialect attribute of an existing PIC loadfile; the
command is
ld -change cppdialect cppneutral filename
This action must be taken with care. Like the corresponding -set option at link time, it
causes the presence of any C++ code in this loadfile to be suppressed. Neutralization
can be useful for a library that happens to contain code compiled by C++ but does not
have any dependencies on C++ run-time libraries, and does not import or export any
C++ objects or compiler-generated identifiers. The neutralized library can load into the
same process as other loadfiles with a different version of C++. But if applied
improperly, this assertion of neutrality can lead to errors ranging from fairly obvious
(such as unresolved symbols) to rather subtle (such as differing semantics in different
versions of same-named support-library functions).
SQL/MX Restriction
Public SRLs that support SQL/MX have cppdialect = version2. Therefore, SQL/MX
clients cannot yet use C++ version3.
Execution-Target System Type
The linker sets a system-type attribute in the output loadfile to the following default
values.
•
If the linker is hosted on a PC, the default is OSS.
•
If the linker is hosted on OSS, the default is Guardian if the loadfile is being
created in a Guardian subvolume and is OSS if not.
•
If the linker is hosted on Guardian, the default is Guardian.
How to Set Run-Time Attributes of Your Loadfile on page 5-5 tells how set the system
type to a non-default value.
At a Glance: Linker Mandatory Inputs, and
Defaults
Normal Linker Inputs
To avoid a linker error when linking your loadfile, you must specify the following items
in the linker command stream:
1. The linkfiles to be merged to form your loadfile