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