Google
 

Trailing-Edge - PDP-10 Archives - 6.1_emacs_manuals_1er - manuals/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(2073) 22 Aug 84




Copyright (C) 1984 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 5.1 supercedes all previous versions.

LINK is documented in the LINK Reference Manual.




2.0  INSTALLATION




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.



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
                                                      Page 3


         the  LOAD,  DEBUG or EXECUTE command a second time.
         This will clear the  compilation  error  count  and
         LINK will load the files.

     3.  The  /PLTTYP  switch  permits  a  user  to  specify
         whether  a  disk  file  should be plotter format or
         printer format.




5.0  RESTRICTIONS


     1.  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.

     2.  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.

     3.  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.

     4.  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.0  NOTES ON .REL BLOCK RESTRICTIONS FOR COMPILER WRITERS


     1.  There are inconsistencies in  the  usage  of  PSECT
         indices in old and new .REL blocks.

     2.  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
                                                      Page 4


         SIXBIT  characters  of  the global symbol name.  No
         currently supported language is  affected  by  this
         deficiency.

     3.  The .TPLOD  bit  defined  for  the  type  1120-1127
         blocks   is   not  currently  used.   No  currently
         supported language is affected by this deficiency.

     4.  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.

          Fullword fixups are done when thirty-bit fixups are
          requested.

     No currently supported language is  affected  by  these
     errors.



[End of LINK.DOC]