windows-nt/Source/XPSP1/NT/base/mvdm/tools/c1032/bin/ilink.txt
2020-09-26 16:20:57 +08:00

61 lines
1.9 KiB
Plaintext

ILINK 3306 README
INSTALLATION AND USE
Here in snap/bin, there are 3 linkers
link.exe (link.err) the incremental linker, debug build
rlink.exe (link.err) the incremental linker, release build
olink.exe (olink.err) the non-incremental linker, release build
To use ilink, just sync. Incremental linking is the default.
Ilink will create exe/dlls whose associated debug
info is stored in a program database (.pdb), in the so-called "NB10"
exe format. (In contrast, the old link produced the "NB09" format.)
The shn0[d].dll here in snap/bin can debug any combination of
exes/dlls in either NB09 or NB10 format.
Ilink will automatically try to incremental-link, provided
* you aren't creating a map file
* you aren't specifying -debugtype:both or -debugtype:coff
* you aren't specifying -pdb:none
* you aren't specifying -incremental:no
To produce a Cuda compatible "NB09" .exe, link -pdb:none.
CVPACK R.I.P.!
Since ilink transports debug information without cvpack, we expect some
minor problems with the CodeView expression evaluator. Please be on the
look out for any changes in EE behaviour, small or large and report them!
MIXING CUDA PDBS AND ILINK PDBS
Note that ilink can link objs created by the Dolphin and Cuda compilers,
e.g. both /Z7 and /Zi. However, for now, please do not specify the
same .pdb for the compiler and the linker.
That is, do not specify
cl -Zi -FdXYZ.pdb
when you are linking
link -pdb:XYZ:pdb (or)
link -out:XYZ.exe (which defaults to -pdb:XYZ.pdb).
Rather, change your "cl" line to use (for instance)
cl -Zi -Fdmsvc.pdb (or)
cl -Zi (which defaults to -Fdmsvc.pdb)
Otherwise you will get this diagnostic when you link:
LNK1206: cannot (yet) overwrite Visual C++ 1.0 program database "%s"
PROBLEMS/COMMENTS
Please direct any comments/questions to JanGr or phinperf
as appropriate, and be sure to RAID and/or report any problems
you may have!