Google
 

Trailing-Edge - PDP-10 Archives - bb-bt99g-bb - lnkv51.d08
There is 1 other file named lnkv51.d08 in the archive. Click here to see a list.
                 EDIT DESCRIPTIONS FOR LINK-10-V5-1                             
  
  
                             EDIT 2053   FOR LINK
  
  
  
  
[SYMPTOM]
  
LINK may not do argument  typechecking  or  the  FORTRAN  character
fixup  if  the  caller  and  callee are in different overlay nodes.
Also the character fixup is not done properly if the caller  is  in
the high segment and the callee is in the low segment.
  
[DIAGNOSIS]
  
LINK does not search the other overlays for  argument  typechecking
callers when it finds a callee.  Also, there is no code to properly
handle a character fixup across overlays or across segments.
  
[CURE]
  
Search the symbol tables in the bound globals area.   Teach  SGCHK.
to handle /SEG:HIGH and /SEG:LOW correctly.  Defer character fixups
between overlays, and handle them during the second  phase  overlay
file processing.
  
The  following  are  restrictions  on  argument  checking  and  the
character fixup when used with overlays:
  
When using argument  checking  in  overlays,  the  callee  argument
checking  block  must  be  seen  in  the  same  overlay node as the
definition of the global symbol of the same name.
  
When  using  the  character  fixup,  the  argument  block  and  the
character descriptor must be in the same segment (low or high), and
they either must both be relocatable, or both be absolute.
********************************************************************************
  
  
                             EDIT 2054   FOR LINK
  
  
  
  
[SYMPTOM]
  
LINK may die with a ?LNKEOE error if an EXE file  is  requested,  a
map  is  requested,  and  the  local symbols (LS) area overflows to
disk.
  
[DIAGNOSIS]
  
LINK reads back as much as possible of the LS area when reading the
symbols  to  produce  the  map.  If it is able to read the whole LS
area into memory, there is code  in  LNKXIT  which  closes  the  LS
overflow file, since it can use the in-memory copy.  However, under
TOPS-20 these pages are not actually in memory, but are  mapped  to
the overflow file.
  
[CURE]
  
Leave the overflow file open and mapped under  TOPS-20.   Remapping
an overflow file is better than moving private pages with a BLT.
********************************************************************************
  
  
                             EDIT 2055   FOR LINK
  
  
  
  
[SYMPTOM]
  
Possible ?LNKRUM from LINK if  the  high  segment  code  (HC)  area
overflows to disk.
  
[DIAGNOSIS]
  
The wrong accumulator is being set up for a request for  memory  in
the  DY  area.   A  ten  word  block  is  being requested, and then
returned as a 3000 word block.  This trashes the free list.
  
[CURE]
  
Put the size in the correct accumulator before calling DY.GET.
********************************************************************************
  
  
                             EDIT 2056   FOR LINK
  
  
  
  
[SYMPTOM]
  
No LNKXCT message is printed when executing a program  in  a  non-zero
section.
  
  
[DIAGNOSIS]
  
The code to print the message does not exist.
  
  
[CURE]
  
Test if the program will actually be executed, and  print  the  LNKXCT
message if it will be.
********************************************************************************
  
  
                             EDIT 2057   FOR LINK
  
  
  
  
[SYMPTOM]
  
LINK hangs if the secondary title block is bad.
  
  
[DIAGNOSIS]
  
If LINK does not find what it wants  when  looking  at  the  secondary
title block, it loops forever.
  
  
[CURE]
  
Warn the user with the message "%LNKSFU Symbol table  fouled  up"  and
continue loading the program.
********************************************************************************
  
  
                             EDIT 2060   FOR LINK
  
  
  
  
[SYMPTOM]
  
With a /D or /E command, LINK may lose track of where it put an .EXE file
and may issue a "file not found" message.
  
[DIAGNOSIS]
  
The code in RUNXE2 does not check the PPN for the .EXE file.  It assumes the
.EXE is in the connected directory, that is the PPN is not put in the RUN UUO
block and defaults to the users PPN.
  
[CURE]
  
Put the PPN in the RUN UUO block.  Also check to see if a PATH block is need
and if so move the path block so that the information is not lost when the
CORE UUO shrinks the low segment.
********************************************************************************
  
  
                             EDIT 2061   FOR LINK
  
[SYMPTOM]
  
A label in edit 2060 contains a typographical error.
  
[DIAGNOSIS]
  
The label at RUNEX3+17 should be "SETPTH", not "SETTPH".
  
[CURE]
  
Fix the label at RUNEX3+17 to be "SETPTH".
********************************************************************************
  
  
                             EDIT 2062   FOR LINK
  
[SYMPTOM]
  
TYP.BG and COEOVL are undefined symbols when  building  the  LNKLOD
segment in a multiple high segment LINK.
  
[DIAGNOSIS]
  
The routines are used and defined in LNKOV1, but not in LNKLOD.
  
[CURE]
  
Create a new dummy module in LNKSUB, called LNK012, to define these
symbols if necessary.
********************************************************************************
  
  
                             EDIT 2063   FOR LINK
  
[SYMPTOM]
  
LINK fails to build properly on TOPS-10.
  
[DIAGNOSIS]
  
There is not enough room in .TEMP to hold the path block stored there by
edit 2060.
  
[CURE]
  
Increase .TLEN to 100.  This is the value that determines the length of .TEMP.
********************************************************************************
  
  
                             EDIT 2064   FOR LINK
  
[SYMPTOM]
  
LINK halts in LNKOV1 at  RT.FX+7  when  loading  relocatable
overlays.
  
[DIAGNOSIS]
  
LINK's polish processor T.11 fails to zero  out  accumulator
P1  when calling RT.T2R, the routine responsible for keeping
track of all relocatable locations in a  relocatable  overly
link.
  
Routine  RT.T2R  may  be  called  from   several   different
routines.    Routines   involved   in   resolving   symbolic
references pass a pointer to a fixup  block  in  accumulator
P1.  If no symbolic reference is involved, P1 should contain
0.
  
RT.T2R tests  accumulator  P1  and  calls  RT.FX  if  P1  is
nonzero.   The  routine  RT.FX,  in  turn, tests bits in the
fixup block.  If this routine detects  an  inconsistency  in
the fixup block it halts.
  
In this instance accumulator P1 contains a temporary pointer
to  a  copy  of  the polish expression being evaluated.  The
final operator of the polish  expression  is  a  request  to
store  the  computed  value  in  a chain of addresses.  LINK
fails to zero out P1 before invoking the chain fixup routine
SY.CHR,  which  in  turn  calls  RT.T2R.   Control passes to
RT.FX, which detects the spurious "fixup block" and halts as
you  observed.   An  similar  problem  occurs if other chain
fixup routines are called from the polish processor.
  
This problem occurs in earlier versions of LINK but  due  to
slight  variations in the layout of memory P1 may point to a
location that happens to have the "correct" flag  bits  set,
fooling  RT.FX  and  producing a questionable .OVL file as a
result.
  
[CURE]
  
Zero P1 before calling SY.CHR, SY.CHL  or  SY.CHF  from  the
type 11 block code.
********************************************************************************
  
  
                             EDIT 2065   FOR LINK
  
[SYMPTOM]
  
LINK may die with an illegal address in UUO error  when  loading  a
program which contains psects and also loads location 137 (.JBVER).
  
[DIAGNOSIS]
  
The code which sets LOWLOC, the lowest location which contains user
code,  gets  confused,  and  does not properly account for absolute
code in JOBDAT.
  
[CURE]
  
Change the test for absolute code.  It should not consider 140 as a
"normal"  case,  but  rather as one which indicates that .JBVER has
been loaded.
********************************************************************************
  
  
                             EDIT 2066   FOR LINK
  
[SYMPTOM]
  
LINK cannot execute complex programs which it has saved as nnnLNK.EXE,
or programs which have been saved in another SFD.
  
  
[DIAGNOSIS]
  
Edit 2060 is not setting up the PATH block properly.  The PPN is being
trashed and the default [0,0] is not understood.
  
  
[CURE]
  
Fix 2060 to get the PPN from the correct place, and to understand that
[0,0] actually means to use the user's PPN.
********************************************************************************
  
  
  
END OF  LINK-10-V5-1