Trailing-Edge
-
PDP-10 Archives
-
BB-4157F-BM_1983
-
documentation/link.doc
There are 32 other files named link.doc in the archive. Click here to see a list.
LINK.DOC: LINK Version 5.1(2030) 14 Feb 83
Copyright (C) 1983 Digital Equipment Corporation, Maynard,
MA.
This software is furnished under a license and may be used
and copied only in accordance with the terms of such license
and with the inclusion of the above copyright notice. This
software or any other copies thereof may not be provided or
otherwise made available to any other person. No title to
and ownership of the software is hereby transferred.
The information in this software is subject to change
without notice and should not be construed as a commitment
by Digital Equipment Corporation.
Digital assumes no responsibility for the use or reliability
of its software on equipment which is not supplied by
Digital.
Page 2
1.0 INTRODUCTION
LINK is the linking loader for the DECSYSTEM-20. LINK 5.1
is a minor release of LINK for the DECSYSTEM-20 with a
number of new features, internal changes and bugfixes.
LINK 5.1 supercedes all previous versions. It runs under
all supported monitors, and has been tested under TOPS-20
releases 4.1, 5.0 and 5.1.
LINK is documented in the LINK Reference Manual. This
manual is available as part of volume 4 of the TOPS-20
Software Notebooks, or it can be ordered separately as order
number AA-4183C-TM.
2.0 INSTALLATION
To install LINK, move the files LINK.EXE and OVRLAY.REL to
the system area. The LINK.HLP file should be moved to the
system help area, usually PS:<HELP>. LINK.DOC should also
be placed on a system documentation directory if there is
one available.
3.0 REBUILDING LINK
All the files required to rebuild LINK are included on the
tape: sources, command files, and a control file. The
control file LINK.CTL reassembles the LINK and OVRLAY
modules and re-links LINK. It requires a time limit of 20
minutes. KS installations may require more time.
Note that in the future LINK patches will be distributed via
AUTOPATCH. This procedure requires a set of unmodified LINK
sources. It is recommended that an unmodified set of LINK
sources be preserved if maintenance edits or site-specific
enhancements are made.
Page 3
4.0 RECENT CHANGES AND NEW FEATURES
1. Users converting existing FORTRAN applications to
FORTRAN 77 as well as those writing new FORTRAN 77
programs will be able to use the load-time
typechecking facility in LINK. Use the
/DEBUG:ARUGMENTS switch when compiling your FORTRAN
program to get link-time messages flagging
inconsistencies in the number and kind of arguments
being passed to a subroutine or function. In
addition the /ERRORLEVEL or /LOGLEVEL LINK switches
may be used to get more detailed information.
2. If compilation errors occur during the processing
of a LOAD, DEBUG or EXECUTE command LINK will now
issue the ?LNKSUP Loading Suppressed message.
FORTRAN version 7 and future languages will not
necessarily produce .REL files if compilation
errors occur. For languages that produce .REL
files despite errors, run LINK explicitly or give
the LOAD, DEBUG or EXECUTE command a second time.
This will clear the compilation error count and
LINK will load the files.
3. The /START switch now accepts thirty-bit addresses.
A side effect of this change is that it is no
longer possible to request an entry vector using
the /START switch. MACRO programmers should use
the END statement in the sources to get entry
vectors rather than the /START switch.
4. The /PLTTYP switch permits a user to specify
whether a disk file should be plotter format or
printer format.
5. In LINK 5.0 a quota violation when writing .TMP or
.EXE files would cause LINK-20 to issue a fatal
non-continuable error message. In this new version
LINK-20 may try to expunge the directory in which
the output file is being written and continue after
the quota violation is detected. If this is not
possible the fatal message is issued.
5.0 RESTRICTIONS
1. LINK 5.1 will not rebuild RMS.EXE version 1(60).
Use LINK 5.0 or earlier versions to rebuild this
version of RMS.
Page 4
2. It is possible to cause infinite looping or illegal
memory references if segments or PSECTs overlap.
This happens because reference chains for
unresolved symbols may be corrupted by the overlap.
Use the /LIMIT switch to set the maximum size of
segments and PSECTs to get memory maps, logs or
other diagnostic information if you find that
changing a program's size or position in memory
causes LINK to loop when loading the program.
3. If a program is being structured to use overlays
and there is a very large number of symbols
associated with a particular overlay link, LINK may
issue an ?LNKMEF memory expansion error if a map
file is requested. If this occurs use the switch
/NOLOCAL on some or all modules being loaded to cut
back the number of symbols.
4. Sites which customize LINK to search user-defined
libraries by default require a patch to the module
LNKINI to avoid an "Unknown Language" error. This
patch will be included in a future AUTOPATCH tape.
5. An illegal memory reference may occur when LINK is
writing a line printer format overlay plot. This
patch will be included in a future AUTOPATCH tape.
6. .REL files cannot be read from non-directory
devices. This includes magtapes, cards and paper
tape. The message ?LNKFLE File Lookup Error 0 File
not Found is issued. Transfer these files to disk
before linking them.
7. LINK may get an illegal memory reference when
opening a file for input or output in a directory
if the TOPS20 file specification ( including
device, directory name, and file name ) exceeds
thirty characters. To solve this problem rebuild
LINK after redefining the LN.FL parameter. This
parameter is found in the file LNKPAR.MAC but the
new definition may be placed in LNKT20.MAC and will
override the default value. The default is 10; a
value of 20 is suggested if many subdirectories are
in use. For larger values it is suggested that the
stack length parameter LN.PDL also be increased.
6.0 EXTENDED ADDRESSING RESTRICTIONS
1. If a program being loaded into a nonzero section
has a very large number of symbols, the ?LNKMEF
Memory Expansion Failure error may occur. Patches
Page 5
for this problem will be included in a future
AUTOPATCH tape.
2. LINK does not diagnose 18-bit truncation of a
30-bit value when doing a symbol table fixup or a
polish fixup.
3. LINK does not type its exit messages when loading
an extended addressing program.
4. LINK-20 ignores the /DEBUG:DDT and /TEST:DDT
switches when loading an extended addressing
program. Use the EXEC command DDT with the
/USE-SECTION switch to merge DDT into the program
image.
5. Type 1070 blocks lose the section number of the
defining symbol during processing of 30-bit
additive fixups.
7.0 NOTES ON .REL BLOCK RESTRICTIONS FOR COMPILER WRITERS
1. The .PVMEM word of the program data vector is not
initialized.
2. Multiple program data vectors are not yet
supported.
3. There are inconsistencies in the usage of PSECT
indices in old and new .REL blocks.
4. LINK currently expects type 1120-1127 blocks to use
routine names that can be translated to SIXBIT and
which are unique in the first six characters. Also
this routine name must be a global symbol. Type
mismatch warnings also display only the first six
SIXBIT characters of the global symbol name. No
currently supported language is affected by this
deficiency.
5. The .TPLOD bit defined for the type 1120-1127
blocks is not currently used. No currently
supported language is affected by this deficiency.
6. There are conflicts between the documentation and
the implementation of type 1070 blocks:
Fullword addition is used for additive symbol
fixups.
Right halfword addition is used for other additive
fixups.
Page 6
Fullword fixups are done when thirty-bit fixups are
requested.
No currently supported language is affected by these
errors.
[ End of LINK.DOC ]