Trailing-Edge
-
PDP-10 Archives
-
BB-H138C-BM
-
5-documentation/link.pco
There are 8 other files named link.pco in the archive. Click here to see a list.
Digital Equipment Corporation
**DECsystem-10 Customer Support**
PCO LOG REPORT
--------------
03-NOV-81
This document contains the most current
information on the Program Change Orders
Digital Equipment Corecordednto date.3-NOV-81 Page 94
PCO Log Report
*********************
*PCO #:20-LINK -014*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220)
[Date Entered] 01-OCT-79
[Programmer] D. NEFF
[Routines] LNKSCN
[Key Words] @LINK CMDS
[Source Before Edit] % (000000)
[Source After Edit] %4B (001221)
[Miscellaneous] DOC changes: Y
SER/SPR Number:20-NONE
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 95
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK does not accept commands on the same line as the monitor
command.
**********
[DIAGNOSIS]
This is commonly forgotten in programs that use SCAN.
**********
[CURE]
Allow LINK commands in the following case:
@LINK commands
Note that the LINK commands specified in this way should comprise
all of the commands to be given to LINK, and not just the first
line. Thus, the commands should include the /GO, or refer to an
indirect file that does.
Digital Equipment Corporation 03-NOV-81 Page 96
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1801 24-Aug-1979
File 2) DSKC:LNKHST.MAC[12,4700] created: 1431 18-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 24-Aug-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 1-Oct-79
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1221 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;START OF VERSION 4B
2) ;1221 DZN 1-Oct-79
2) ; Allow monitor commands to include LINK commands, in the
form
2) ; .R LINK (commands) or @LINK commands.
2) ; Routine: LNKSCN
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 97
PCO Log Report
[FILCOM]
File 1) DSKC:LNKSCN.MAC[30,4507] created: 1626 24-Aug-1979
File 2) DSKC:LNKSCN.MAC[12,4700] created: 1129 18-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 24-Aug-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 1-Oct-79
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1221 ;DEC EDIT VERSION
2)
**************
1)4 SUBTTL INITIALIZE SCANNER
****
2)3 ;START OF VERSION 4B
2) ;1221 Allow .R LINK (commands) and @LINK commands
2)
2)4 SUBTTL INITIALIZE SCANNER
**************
1)6 0
1) OFFSET,,'LNK'
****
2)6 ;**;[1221] Replace @.ISBLK+1L DZN 1-Oct-79
2) IOWD 1,[SIXBIT /LINK/] ;[1221] ALLOW MONITOR COMMANDS
2) OFFSET,,'LNK'
**************
[END OF PCO 20-LINK -014]
Digital Equipment Corporation 03-NOV-81 Page 98
PCO Log Report
*********************
*PCO #:20-LINK -015*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220) TESTED IN 4B(1224)
[Date Entered] 09-NOV-79
[Programmer] D. NEFF
[Routines] LNKLOD LNKMAP LNKPAR LNKWLD
[Key Words] SYM>400000
[Source Before Edit] % (000000)
[Source After Edit] %4B (001225)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-13384
Archived: NO
OTHER PRODUCT: 10
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 99
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Two closely related problems:
1. Various memory management errors, such as illegal memory
references, illegal instructions, and memory allocation
failures when attempting to run large FORTRAN or ALGOL
programs loaded by LINK. This will only happen if symbols
are loaded. Examination of the unrun program will show
that location 121 points near or past 400000.
2. There is no way to tell LINK that the run time OTS for one
language starts at a different address than another. For
instance, if FOROTS is made to come in at run time at
address 500000, LINK believes that ALGOTS does too.
**********
[DIAGNOSIS]
1. There have been edits in the past that attempted to solve
similar problems. Edit 1131 made LINK decide to load a
nonsharable OTS if the program's low segment got too close
to 400000 by library search time. However, the symbol
table can also cause the program's low segment to pass
400000, and it is added to the program only at the end of
loading. Therefore, the symbol table escapes the earlier
check, causing the run time OTS and the symbol table to
wipe each other out.
2. LINK believes that all run time OTSes begin at 400000.
This does not reflect current hardware, or many other
changes made to LINK to allow high segments elsewhere.
**********
Digital Equipment Corporation 03-NOV-81 Page 100
PCO Log Report
[CURE]
1. The decision to load a nonsharable OTS or to use the
run time version must be made prior to the system library
search, but the symbol table is only complete after all
modules are loaded. The cure is therefore to truncate the
symbol table if we decide to use the run time OTS and the
symbol table then grows into the memory reserved for the
run time OTS. Note that this still leaves a program that
cannot be run (there is no low segment free space), but
the correct message will be printed by the OTS instead of
other more serious internal errors. The symbol table
truncation message will alert the user to this problem at
load time, and the program can then be rearranged to fit
into memory.
2. The check required above must be made with respect to a
particular compiler's OTS. Programs written in a language
whose run time OTS has been moved to, say, 500000 should be
allowed to grow correspondingly larger without affecting
other languages. This is accomplished by making the
run time OTS origin address a compiler-specific parameter
in the PROCESSORS macro in LNKPAR.MAC, and using a table
of these parameters for making the check in problem 1
above.
Moving the origin of a runtime OTS is thus accomplished by
rebuilding the OTS according to its instructions, then
changing the appropriate entry in the PROCESSORS macro in
LNKPAR.MAC and rebuilding LINK.
Note that this edit also requires edit 1033 to FOROTS to cause the
correct run time error message if LINK decides to truncate the
symbol table.
Digital Equipment Corporation 03-NOV-81 Page 101
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1101 19-Oct-1979
File 2) DSKC:LNKHST.MAC[12,4700] created: 1326 26-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 19-Oct-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 26-Oct-7
9
2)
**************
1)1 DECEVR==1224 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1225 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1225 DZN 25-Oct-79 SPR 20-13384
2) ; Force /UPTO: just below the high segment origin of the r
untime OTS
2) ; (unless user has specified /UPTO:). This keeps the symbo
l table (if
2) ; one is loaded) from growing into the area of memory that
the OTS will
2) ; try to go. The program will still not be runnable but th
e user will get
2) ; the correct message. Make the OTS origins compiler-speci
fic instead of
2) ; hard-wired 400000.
2) ; Routine: LNKLOD
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 102
PCO Log Report
[FILCOM]
File 1) DSKC:LNKPAR.MAC[30,4507] created: 0952 19-Oct-1979
File 2) DSKC:LNKPAR.MAC[12,4700] created: 1445 30-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 2-Oct-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN 26-Oct-7
9
2)
**************
1)1 DECEVR==1223 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1225 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ND LN.OTS,50000 ;[1225] AMOUNT TO LEAVE FREE BELOW OTS @
/SYSLIB TIME
2)
**************
1)6
****
2)6 ;1225 Make runtime OTS origin compiler-specific.
2)
**************
1)15 DEFINE PROCESSORS<
1) X UNKNOWN,UNK,<Unknown>
1) X F40,F40,<F40>
1) X COBOL,CBL,<COBOL-68>
1) X ALGOL,ALG,<Algol>
1) X NELIAC,NLI,<NELIAC>
1) X PLI,PLI,<PL/I>
1) X BLISS,BLI,<BLISS-10>
1) X SAIL,SAI,<SAIL>
1) X FORTRAN,FOR,<FORTRAN>
1) X MACRO,MAC,<MACRO>
1) X FAIL,FAI,<FAIL>
1) X BCPL,BCP,<BCPL>
1) X MIDAS,MID,<MIDAS>
1) X SIMULA,SIM,<SIMULA>
1) X CBL74,C74,<COBOL-74>
1) X CBL80,C80,<COBOL-80>
1) X BLS36,B36,<BLISS-36>
1) X BASIC,BAS,<BASIC>
1) X SITGO,STG,<SITGO>
1) X FORTRAN,XFR,<Extended FORTRAN>
1) >
****
Digital Equipment Corporation 03-NOV-81 Page 103
PCO Log Report
2)15 ;**;[1225] Replace PROCESSORS macro DZN 25-Oct-79
2) DEFINE PROCESSORS<
2) X UNKNOWN,UNK,<Unknown>, ;;[1225]
2) X F40,F40,<F40>,400000 ;;[1225]
2) X COBOL,CBL,<COBOL-68>,400000 ;;[1225]
2) X ALGOL,ALG,<Algol>,400000 ;;[1225]
2) X NELIAC,NLI,<NELIAC>, ;;[1225]
2) X PLI,PLI,<PL/I>, ;;[1225]
2) X BLISS,BLI,<BLISS-10>, ;;[1225]
2) X SAIL,SAI,<SAIL>, ;;[1225]
2) X FORTRAN,FOR,<FORTRAN>,400000 ;;[1225]
2) X MACRO,MAC,<MACRO>, ;;[1225]
2) X FAIL,FAI,<FAIL>, ;;[1225]
2) X BCPL,BCP,<BCPL>, ;;[1225]
2) X MIDAS,MID,<MIDAS>, ;;[1225]
2) X SIMULA,SIM,<SIMULA>, ;;[1225]
2) X CBL74,C74,<COBOL-74>,400000 ;;[1225]
2) X CBL80,C80,<COBOL-80>, ;;[1225]
2) X BLS36,B36,<BLISS-36>, ;;[1225]
2) X BASIC,BAS,<BASIC>, ;;[1225]
2) X SITGO,STG,<SITGO>, ;;[1225]
2) X FORTRAN,XFR,<Extended FORTRAN>,400000 ;;[1225]
2) >
**************
1)15 DEFINE X (A,B,C)<
1) CT.'B==CT.LEN
****
2)15 ;**;[1225] Replace @X macro after PROCESSORS macro DZN
26-Oct-79
2) DEFINE X (A,B,C,D)< ;;[1225] ACCOUNT FOR NEW
ARG
2) CT.'B==CT.LEN
**************
1)40 DEFINE X (A,B,C)<
1) IFIDN <B><UNK>,<
****
2)40 ;**;[1225] Replace @X macro on 'LIBRARY SETTING BITS' page
DZN 26-Oct-79
2) DEFINE X (A,B,C,D)< ;;[1225] ACCOUNT FOR NEW
ARG
2) IFIDN <B><UNK>,<
**************
Digital Equipment Corporation 03-NOV-81 Page 104
PCO Log Report
[FILCOM]
File 1) DSKC:LNKLOD.MAC[30,4507] created: 1621 24-Aug-1979
File 2) DSKC:LNKLOD.MAC[12,4700] created: 1448 30-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 24-Aug-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 26-Oct-7
9
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1225 ;DEC EDIT VERSION
2)
**************
1)7 SUBTTL LOAD CONTROL
****
2)6 ;START OF VERSION 4B
2) ;1225 Force /UPTO: if GETSEGging OTS, and make OTS origin comp
iler-specific.
2)
2)7 SUBTTL LOAD CONTROL
**************
1)58 DEFINE X(A,B,C)<
1) IF1,<BLOCK 1>
****
2)58 ;**;[1225] Replace @SYRLSZ+1P3L DZN 25-Oct-79
2) DEFINE X(A,B,C,D)< ;;[1225] ACCOUNT FOR EXTRA ARG
2) IF1,<BLOCK 1>
**************
1)58 DEFINE X(A,B,C)<
1) B'BIT
****
2)58 ;**;[1225] Replace @CT.NAM+2L DZN 25-Oct-79
2) DEFINE X(A,B,C,D)< ;;[1225] ACCOUNT FOR EXTRA ARG
2) B'BIT
**************
1)86 PUSHJ P,@MNTBL(T1) ;DO WHAT WE HAVE TO FOR IT
****
2)86 ;**;[1225] Insert before DEFLD2+6L DZN 30-Oct-79
2) MOVE P4,T1 ;[1225] PASS COMPILER TYPE TO MA
IN PRG PROC
2) PUSHJ P,@MNTBL(T1) ;DO WHAT WE HAVE TO FOR IT
**************
1)86 PUSHJ P,@PRCTBL(T2) ;DO ACTION FOR THIS PROCESSOR
****
Digital Equipment Corporation 03-NOV-81 Page 105
PCO Log Report
2)86 ;**;[1225] Insert before DEFLD1+5L DZN 30-Oct-79
2) MOVE P4,T2 ;[1225] PASS COMPILER TYPE TO SU
BROUTINE PROC
2) PUSHJ P,@PRCTBL(T2) ;DO ACTION FOR THIS PROCESSOR
**************
1)88 DEFINE X(A,B,C)<
1) IF1,<
****
2)88 ;**;[1225] Replace @REMLIB+1P0L DZN 25-Oct-79
2) DEFINE X(A,B,C,D)< ;;[1225] ACCOUNT FOR EXTRA ARG
2) IF1,<
**************
1)89 DEFINE X(A,B,C)<
1) IF1,<
****
2)89 ;**;[1225] Replace @MNTBL+1P1L DZN 26-Oct-79
2) DEFINE X(A,B,C,D)< ;;[1225] ACCOUNT FOR EXTRA ARG
2) IF1,<
**************
1)89 SALL
****
2)89 ;**;[1225] Insert after PRCTBL DZN 26-Oct-79
2)
2)90 ;DEFINE A TABLE OF THE HIGH SEGMENT ORIGIN FOR EACH COMPILER'S O
TS, WHEN THE OTS
2) ;IS TO BE BROUGHT IN AT RUNTIME.
2)
2)
2) DEFINE X(A,B,C,D)< ;;[1225] EXPAND THE OTS ORIGINS
2) IFB <D>,< ;;[1225] IF NO ORIGIN, JUST SET
TO 0
2) EXP 0 ;NO RUNTIME OTS FOR C
2) > ;;[1225] ..
2) IFNB <D>,< ;;[1225] ELSE EXPAND THE ORIGIN
2) EXP D ;START OF C OTS
2) > ;;[1225] ..
2) > ;[1225]
2)
2)
2) OTSTBL: PROCESSORS ;[1225] GENERATE THE TABLE
2)
2) SALL
**************
1)91 PUSHJ P,QREENT ;SEE IF WE WANT REENT OTS
****
2)92 ;**;[1225] Insert before FORL01+1L DZN 30-Oct-79
2) MOVX P4,CT.FOR ;WE'VE NOW SELECTED FORTRAN'S OT
S
2) PUSHJ P,QREENT ;SEE IF WE WANT REENT OTS
Digital Equipment Corporation 03-NOV-81 Page 106
PCO Log Report
**************
1)91 MOVEI W3,400000+.JBHDA ;VALUE
1) PUSHJ P,SY.GS## ;DEFINE IT
****
2)92 ;**;[1225] Insert before FORL01+5L DZN 30-Oct-79
2) MOVE W3,OTSTBL(P4) ;[1225] COMPUTE FOROT% RELATIVE
TO
2) ADDI W3,.JBHDA ;[1225] OTS ORIGIN
2) PUSHJ P,SY.GS## ;DEFINE IT
**************
1)94 QREENT: MOVE T1,HL.S1 ;[1131] GET CURRENT END OF LOW S
EGMENT
1) CAIGE T1,400000-50000 ;[1131] SEE IF WITHIN 40 DECIMAL
PAGES OF HISEG
1) JRST QREEN1 ;[1131] YES--GO TRY TO FOR NON-S
HARABLE OTS
1) SKIPN HL.S2 ;[574] NON-SHARABLE OTS. HIGH SE
G EXIST?
****
2)95 ;**;[1225] Replace @QREENT DZN 30-Oct-79
2) QREENT: MOVE T1,OTSTBL(P4) ;[1225] ARE WE TOO CLOSE TO ORIG
IN OF
2) SUBX T1,LN.OTS ;[1225] OTS IF BROUGHT IN AT R
UNTIME?
2) CAMLE T1,HL.S1 ;[1225] ..
2) JRST QREEN1 ;[1131] NO--GO TRY FOR SHARABLE
RUNTIME OTS
2) SKIPN HL.S2 ;[574] NON-SHARABLE OTS. HIGH SE
G EXIST?
**************
1)94 SKIPN HL.S2 ;[574] NO, GREAT. HIGH SEG EXIST
YET?
1) AOS 0(P) ;[574] NO, GETSEG OTS AT RUNTIME
1) POPJ P, ;[574] HIGH SEG EXISTS, MUST LOA
D OTS
1)
****
2)95 ;**;[1225] Replace @QREEN1+2L DZN 24-Oct-79
2) SKIPE HL.S2 ;[1225] NO, GREAT. HIGH SEG EXIS
T YET?
2) POPJ P, ;[1225] YES--MUST LOAD OTS
2) MOVE T1,OTSTBL(P4) ;[1225] NO--GET OTS AT RUNTIME--
MAKE SURE SYMBOL
2) SUBI T1,1 ;[1225] DOESN'T GROW INTO RUNT
IME OTS BY
2) SKIPN SYMLIM ;[1225] FORCING /UPTO: JUST UN
DER IT (UNLESS
2) MOVEM T1,SYMLIM ;[1225] USER SPECIFIED DIFFERE
NT /UPTO:)
Digital Equipment Corporation 03-NOV-81 Page 107
PCO Log Report
2) JRST CPOPJ1 ;[1225] ALLOW GETSEG AT RUNTIME
2)
**************
Digital Equipment Corporation 03-NOV-81 Page 108
PCO Log Report
[FILCOM]
File 1) DSKC:LNKMAP.MAC[30,4507] created: 1622 24-Aug-1979
File 2) DSKC:LNKMAP.MAC[12,4700] created: 1406 26-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 24-Aug-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/SRM/JBC/RKH/JNG/DZN 26-Oct-79
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1225 ;DEC EDIT VERSION
2)
**************
1)4 SUBTTL HEADER LINES
****
2)3 ;START OF VERSION 4B
2) ;1225 Account for extra argument to X macro in PROCESSORS macr
o.
2)
2)4 SUBTTL HEADER LINES
**************
1)43 DEFINE X (A,B,C)<
1) [ASCIZ \C\]
****
2)43 ;**;[1225] Replace @END1+1P0L DZN 26-Oct-79
2) DEFINE X (A,B,C,D)< ;;[1225] ACCOUNT FOR EXTRA ARG
2) [ASCIZ \C\]
**************
Digital Equipment Corporation 03-NOV-81 Page 109
PCO Log Report
[FILCOM]
File 1) DSKC:LNKWLD.MAC[30,4507] created: 1626 24-Aug-1979
File 2) DSKC:LNKWLD.MAC[12,4700] created: 1403 26-Oct-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 24-Aug-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/SRM/JBC/JNG/MCHC/PAH/DZN 26-Oct-7
9
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1225 ;DEC EDIT VERSION
2)
**************
1)7 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
****
2)6 ;START OF VERSION 4B
2) ;1225 Allow for extra argument in X macro in PROCESSORS macro.
2)
2)7 SUBTTL ENTER HERE FROM LNKLOD TO GET A FILE TO LOAD
**************
1)68 DEFINE X(A,B,C)<
1) EXP $LIB'B
****
2)68 ;**;[1225] Replace @CHKRSW+1P22L DZN 25-Oct-79
2) DEFINE X(A,B,C,D)< ;;[1225] ALLOW FOR EXTRA ARG
2) EXP $LIB'B
**************
[END OF PCO 20-LINK -015]
Digital Equipment Corporation 03-NOV-81 Page 110
PCO Log Report
*********************
*PCO #:20-LINK -016*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220)
[Date Entered] 27-DEC-79
[Programmer] D. NEFF
[Routines] LNKLOD LNKOV1
[Key Words] OVR/OTS:LO
[Source Before Edit] % (000000)
[Source After Edit] %4A (001226)
[Miscellaneous] DOC changes: Y
SER/SPR Number:20-13384
Archived: NO
OTHER PRODUCT: 10
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 111
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
Undeserved LNKHCL errors when loading an overlaid program. The two
most common cases are:
1. Loading FORTRAN programs when /OTS:NONSHARABLE was
specified.
2. Loading COBOL programs when /R was specified to COBOL.
**********
[DIAGNOSIS]
1. Normally, the FORTRAN compiler generates two-segment code.
By default, LINK ignores the two segments, loading all
code into the low segment, so that FOROTS may be shared
with other users at run time. However, if /OTS:NONSHARABLE
is specified, LINK sees no reason to continue forcing all
code into the low segment. This leads to LNKHCL messages
in overlaid programs.
2. The COBOL compiler can be coaxed to generate two-segment
code, which can then lead to LNKHCL messages in overlaid
programs.
**********
[CURE]
Note that both problems can by solved simply by specifying
/SEGMENT:LOW in the proper places in the LINK command line.
However, if the overlay structure is large and is not specified
with continuation lines, then this switch must be typed many times.
Also, overlays were only intended to work with all nonroot code
Digital Equipment Corporation 03-NOV-81 Page 112
PCO Log Report
loaded into the low segment. Therefore, for both of these reasons,
force /SEGMENT:LOW in all links but the root in an overlaid
program.
Digital Equipment Corporation 03-NOV-81 Page 113
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1326 26-Oct-1979
File 2) DSKC:LNKHST.MAC[12,4700] created: 1650 12-Nov-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 26-Oct-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN 12-Nov-7
9
2)
**************
1)1 DECEVR==1225 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1226 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1226 DZN 12-Nov-79 SPR 20-13384
2) ; Default /SEGMENT:LOW in all non-root overlay links. This
keeps users
2) ; from having to type it all the time, especially if /OTS:
NONSHAR was
2) ; specified (/OTS:NONSHAR defaults to /SEGMENT:DEFAULT for
Fortran
2) ; programs, frequently causing high segment code in non-ro
ot links).
2) ; Routines: LNKOV1, LNKLOD
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 114
PCO Log Report
[FILCOM]
File 1) DSKC:LNKLOD.MAC[30,4507] created: 1448 30-Oct-1979
File 2) DSKC:LNKLOD.MAC[12,4700] created: 1710 12-Nov-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 26-Oct-7
9
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/RKH/JNG/DCE/MCHC/DZN 12-Nov-7
9
2)
**************
1)1 DECEVR==1225 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1226 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1226 Remove now redundant test for non-root link in FORNAM.
2)
**************
1)62 IFN FTOVERLAY,<
1) SKIPGE LNKMAX ;ONLY IF WE ARE IN ROOT TEST
1) >
1) SKIPN HC.LB ; IF ANY HIGH LOADED
****
2)62 ;**;[1226] Delete @FORSEG+2L DZN 12-Nov-79
2) SKIPN HC.LB ; IF ANY HIGH LOADED
**************
Digital Equipment Corporation 03-NOV-81 Page 115
PCO Log Report
[FILCOM]
File 1) DSKC:LNKOV1.MAC[30,4507] created: 1624 24-Aug-1979
File 2) DSKC:LNKOV1.MAC[12,4700] created: 1657 12-Nov-1979
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 24-Aug-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 12-Nov-79
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1226 ;DEC EDIT VERSION
2)
**************
1)4 SUBTTL ENTRY POINT
****
2)3 ;START OF VERSION 4B
2) ;1226 Default /SEGMENT:LOW after loading the root.
2)
2)4 SUBTTL ENTRY POINT
**************
1)13 MOVX W1,PT.SGN!PT.SYM ;FLAG BITS FOR A SYMBOL
****
2)13 ;**;[1226] Insert before LNKT0+2L DZN 12-Nov-79
2) MOVSI T1,L.FNS!L.FHS ;[1226] TURN OFF /SEG:DEF AND /S
EG:HIGH
2) ANDCAM T1,FLAGS ;[1226] IN GLOBAL (ACCROSS LIN
ES) SWITCHES
2) ANDCAM T1,S.LHFL ;[1226] AND GLOBAL KLUDGE FLAG
S
2) MOVSI T1,L.FLS ;[1226] TURN ON /SEGMENT:LOW FOR
DURATION
2) IORM T1,FLAGS ;[1226] ..
2) IORM T1,S.LHFL ;[1226] ..
2) TXZ FL,<L.FNS!L.FHS,,R.FNS!R.FHS> ;[1226] FIX /SEG:L
OW NOW TOO
2) TXO FL,<L.FLS,,R.FLS> ;[1226] ..
2) MOVX W1,PT.SGN!PT.SYM ;FLAG BITS FOR A SYMBOL
**************
[END OF PCO 20-LINK -016]
Digital Equipment Corporation 03-NOV-81 Page 116
PCO Log Report
*********************
*PCO #:20-LINK -017*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220)
[Date Entered] 05-MAR-80
[Programmer] MIKE BROWN
[Routines] LNKXIT
[Key Words] IO TO UNAS LOG FILE
[Source Before Edit] % (000000)
[Source After Edit] %4B (001235)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-NONE
Archived: NO
OTHER PRODUCT: 10
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 117
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
LINK may die at the end of a load with IO TO UNASSIGNED CHANNEL
when asked to produce a log file.
**********
[DIAGNOSIS]
The variable LOGSUB is not reset properly when the log file is
closed. Therefore, LINK thinks that the file is still opened and
will try to write out some additional information. If the buffer
is filled with the additional information, LINK will do an OUT UUO
which will cause the error.
**********
[CURE]
Zero LOGSUB in LNKXIT before going DVRNF..
Digital Equipment Corporation 03-NOV-81 Page 118
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1255 05-Mar-1980
File 2) DSKC:LNKHST.MAC[30,5526] created: 1512 05-Mar-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY
5-Mar-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
5-Mar-80
2)
**************
1)1 DECEVR==1234 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1235 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1235 MFB 5-Mar-80
2) ; Clear LOGSUB to avoid possible IO TO UNASSIGNED CHANNEL
when
2) ; the log file has already been closed.
2) ; Routine: LNKXIT
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 119
PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507] created: 1628 24-Aug-1979
File 2) DSKC:LNKXIT.MAC[30,5526] created: 1502 05-Mar-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN 24-Aug-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB 5-Mar-80
2)
**************
1)1 ;COPYRIGHT (C) 1973, 1979 BY DIGITAL EQUIPMENT CORPORATION
1)
****
2)1 ;COPYRIGHT (C) 1973, 1980 BY DIGITAL EQUIPMENT CORPORATION
2)
**************
1)1 DECMVR==1 ;DEC MINOR VERSION
1) DECEVR==1220 ;DEC EDIT VERSION
1)
****
2)1 DECMVR==2 ;DEC MINOR VERSION
2) DECEVR==1235 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1235 Clear LOGSUB to avoid possible IO TO UNASSIGNED CHANNEL.
2)
**************
1)94 MOVEI T1,RC
****
2)94 ;**; [1235] Insert before E$$ELF+3L MFB 5-Mar-80
2) SETZM LOGSUB ;[1235] SAY LOG FILE IS CLOSED
2) MOVEI T1,RC
**************
[END OF PCO 20-LINK -017]
Digital Equipment Corporation 03-NOV-81 Page 120
PCO Log Report
*********************
*PCO #:20-LINK -018*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220) TESTED IN 4B(1241)
[Date Entered] 07-APR-80
[Programmer] P. YOUNG
[Routines] LNKHST LNKXIT LNKPAR
[Key Words] REMAP ERR
[Source Before Edit] % (000000)
[Source After Edit] %4B (001242)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-
Archived: NO
OTHER PRODUCT: NO
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 121
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
The following program produces a LNKRME error when loaded:
TWOSEG
RELOC 700000
START: HALTF%
END START
**********
[DIAGNOSIS]
LINK uses the REMAP UUO to move the users high segment.This will
not work if the high segment extends beyond 700000 because PA1050
cannot be overwritten.
**********
[CURE]
Force an EXE file to be generated if the high segment exceeds
700000.
Digital Equipment Corporation 03-NOV-81 Page 122
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1829 21-Mar-1980
File 2) DSKC:LNKHST.MAC[30,5526] created: 2044 03-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
21-Mar-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
3-Apr-80
2)
**************
1)1 DECEVR==1241 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1242 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1242 PY 3-Apr-80
2) ; Test for High Seg above 700000 on TOPS-20, and make LINK
2) ; generate an EXE file if it is. This prevents LINK from
2) ; trying to make PA1050 overwrite itself during the REMAP.
2) ; Routines: LNKPAR, LNKXIT
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 123
PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507] created: 1502 05-Mar-1980
File 2) DSKC:LNKXIT.MAC[30,5526] created: 1701 07-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB 5-Mar-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB 3-Apr-80
2)
**************
1)1 DECEVR==1235 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1242 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1242 Make High Segs above 700000 generate .EXE file on TOPS-2
0
2)
**************
1)48 >
****
2)48 ;**;[1242] Insert in IFN TOPS20 conditional after SAVTS6+1P43L
PY 3-Apr-80
2) SKIPN LL.S2 ;[1242] HIGH SEGMENT?
2) JRST JBLOAD ;[1242] NO--PROGRAM WILL FIT
2) MOVE T1,LL.S2 ;[1242] YES--GET THE LOWEST ADDR
ESS
2) ADD T1,HL.S2 ;[1242] ADD THE SIZE TO GET THE
MAX ADDRESS
2) CAIL T1,PATORG ;[1242] IS IT ABOVE START OF PA1
050
2) JRST JBCMPX ;[1242] YES-CANT REMAP ON TOP OF
PA1050
2) >
**************
Digital Equipment Corporation 03-NOV-81 Page 124
PCO Log Report
[FILCOM]
File 1) DSKC:LNKPAR.MAC[30,4507] created: 1554 14-Mar-1980
File 2) DSKC:LNKPAR.MAC[30,5526] created: 2043 03-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY
13-Mar-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY
3-Apr-80
2)
**************
1)1 DECEVR==1240 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1242 ;DEC EDIT VERSION
2)
**************
1)2 ND .PGSIZ,777 ;KNOWN PAGE SIZE MASK
****
2)2 ;;**;[1242] Add in ASSEMBLY PARAMETERS after GS.ORG PY
3-Apr-80
2) ND PATORG,700000 ;[1242] ORIGIN OF PA1050
2) ND .PGSIZ,777 ;KNOWN PAGE SIZE MASK
**************
1)5
****
2)5 ;1242 Add definition of PATORG as start of PA1050 on TOPS-20
2)
**************
[END OF PCO 20-LINK -018]
Digital Equipment Corporation 03-NOV-81 Page 125
PCO Log Report
*********************
*PCO #:20-LINK -019*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220) TESTED IN 4B(1243)
[Date Entered] 23-APR-80
[Programmer] P. YOUNG
[Routines] LNKPAR LNKXIT LNKHST
[Key Words] KIL PA1050
[Source Before Edit] % (000000)
[Source After Edit] %4B (001244)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-14233
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 126
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When a program is executed without an .EXE file being created,
PA1050 is left in memory.
**********
[DIAGNOSIS]
PA1050 is needed until the last minute because there is a CORE UUO
in the accumulators. There is not enough space in the accs to
add code remove PA1050 after the UUO.
**********
[CURE]
Replace the CORE UUO executed in the accumulators with a PMAP%
JSYS. Change the arguments to those needed for the JSYS, and PMAP
PA1050 away just before jumping to the accs.
Digital Equipment Corporation 03-NOV-81 Page 127
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1304 10-Apr-1980
File 2) DSKC:LNKHST.MAC[30,5526] created: 0839 23-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
9-Apr-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
16-Apr-80
2)
**************
1)1 DECEVR==1243 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1244 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1244 PY 16-Apr-80
2) ; Remove PA1050 from memory if user program is going to be
run but
2) ; is not in a .EXE file. Simulate the CORE UUO in the accu
mulators
2) ; with a PMAP% JSYS, and PMAP PA1050 away in the phased co
de.
2) ; Remove edit 644, which should not be in phased code.
2) ; Routines: LNKPAR, LNKXIT
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 128
PCO Log Report
[FILCOM]
File 1) DSKC:LNKPAR.MAC[30,4507] created: 1322 10-Apr-1980
File 2) DSKC:LNKPAR.MAC[30,5526] created: 2109 16-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY/MFB
9-Apr-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/SRM/JBC/JNG/MCHC/PAH/DZN/PY/MFB
16-Apr-80
2)
**************
1)1 DECEVR==1243 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1244 ;DEC EDIT VERSION
2)
**************
1)2 ND .PGSIZ,777 ;KNOWN PAGE SIZE MASK
****
2)2 ;;**;[1244] Add in ASSEMBLY PARAMETERS before .PGSIZ PY
16-Apr-80
2) ND PATLEN,64 ;[1244] LENGTH OF PA1050 (IN PAGES)
2) ND .PGSIZ,777 ;KNOWN PAGE SIZE MASK
**************
1)5
****
2)5 ;1244 Add definition of PATLEN as number of pages of PA1050
2)
**************
Digital Equipment Corporation 03-NOV-81 Page 129
PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507] created: 1701 07-Apr-1980
File 2) DSKC:LNKXIT.MAC[30,5526] created: 1533 22-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB 3-Apr-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY 16-Apr-8
0
2)
**************
1)1 DECEVR==1242 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1244 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1244 Kill PA1050 if executing user program, replace CORE UUO
with PMAP JSYS
2)
**************
1)105
1)106 JBEX0: MOVE T1,[EXIT] ;STOP JOB
1) JBEX01: MOVEM T1,%16 ;STORE EXEC OR EXIT
****
2)105 JBEX0: MOVE T1,[EXIT] ;STOP JOB
2) ;**;[1244] Insert after JBEX0 PY 16-Apr-80
2) IFN TOPS20,< ;[1244]
2) MOVSI T2,(CAIA) ;[1244] GET SKIP INSTRUCTION
2) MOVEM T2,%KPAT ;[1244] SET UP TO NOT KILL PA105
0
2) > ;[1244]
2) JBEX01: MOVEM T1,%16 ;STORE EXEC OR EXIT
**************
1)106 MOVEM T1,%16
****
2)105 ;**;[1244] Insert after JBNEX PY 16-Apr-80
2) IFN TOPS20,< ;[1244]
2) MOVSI T2,(CAIA) ;[1244] GET SKIP INSTRUCTION
2) MOVEM T2,%KPAT ;[1244] SET UP TO NOT KILL PA105
0
2) > ;[1244]
2) MOVEM T1,%16
**************
1)108 MOVE T2,HL.S2 ;SAME FOR HIGH SEG
****
2)107 ;**;[1244] Insert before JBEX20+9L PY 16-Apr-80
2) IFN TOPS20,< ;[1244]
2) HRRM T1,%6 ;[1244] NEED LATER FOR .JBREL
Digital Equipment Corporation 03-NOV-81 Page 130
PCO Log Report
2) HRRZ T2,%T1 ;[1244] GET SIZE FOR FIRST CORE
UUO
2) LSH T2,-11 ;[1244] CONVERT TO PAGES
2) HRRZ T3,T1 ;[1244] GET SIZE FOR SECOND CORE
UUO
2) LSH T3,-11 ;[1244] CONVERT TO PAGES
2) HRRM T3,%2 ;[1244] STORE FIRST PAGE NUMBER
TO UNMAP
2) AOS %2 ;[1244] ACTUALLY, PAGE AFTER LAS
T PAGE
2) SUB T2,T3 ;[1244] GET THE DIFFERENCE
2) HRRM T2,%3 ;[1244] PUT IN AS THIRD ARGUMENT
2) MOVSI T3,(JFCL) ;[1244] PMAP% MAY BE UNNECESSARY
2) SKIPG T2 ;[1244] PAGES TO UNMAP?
2) MOVEM T3,%5 ;[1244] CAN'T DO EXPANDING CORE
PMAP!!
2) > ;[1244]
2) MOVE T2,HL.S2 ;SAME FOR HIGH SEG
**************
1)108 MOVEM T1,%2 ;TO CLEAR LOW SEG
1) JBEX2B: MOVE T4,[%T1,,T1] ;LOAD ACCS
****
2)107 ;**;[1244] Replace 1 Line at JBEX2A+15L PY 16-Apr-80
2) MOVEM T1,%ZCBP ;[1244] TO CLEAR LOW SEG
2) IFN TOPS20,< ;[1244]
2) MOVE T1,[PMARGS,,P1] ;[1244] GET POINTER TO PMAP ARGS
2) BLT T1,P4 ;[1244] FOR PMAP IN PHASED CODE
2) MOVE W1,%1 ;[1244] GET .JBHRL,,.JBREL FOR U
SERS PROGRAM
2) > ;[1244]
2) JBEX2B: MOVE T4,[%T1,,T1] ;LOAD ACCS
**************
1)109
****
2)108 ;**;[1244] Insert before JBEX4+10L PY 16-Apr-80
2) IFN TOPS20,< ;[1244]
2) PMARGS: -1 ;[1244] UNMAP PAGES
2) .FHSLF,,PATORG/1000 ;[1244] THIS FORK,,PA1050
2) PM%CNT+PATLEN ;[1244] REPEAT FOR ALL OF PA1050
2) P1,,T1 ;[1244] POINTER TO BLT ARGS FROM
P1-P3 TO T1-T3
2) > ;[1244]
2)
**************
1)110
****
2)109 ;**;[1244] Insert Before %HIGH PY 16-Apr-80
2) ;[1244] P1-P3 = ARGS FOR PMAP TO REMOVE PA1050 (TOPS-20 ONLY)
2) ;[1244] P4 = BLT POINTER TO MOVE ARGS FROM P1-P3 TO T1-T3 (TOPS-
Digital Equipment Corporation 03-NOV-81 Page 131
PCO Log Report
20 ONLY)
2) ;[1244] W1 = .JBHRL,,.JBREL FOR CORE UUO REPLACED BY PMAP JSYS (
TOPS-20 ONLY)
2)
**************
1)110 MOVSI T1,(JFCL) ;[644] REPLACE WITH JFCL IF DESI
RED
1) MOVE T2,%16 ;[644] GET IT
1) CAMN T2,%EXIT ;[644] EXIT? RATHER THAN START A
DDR
1) MOVEM T1,%7 ;[644] YES, REPLACE RESET WITH J
FCL
1) >
****
2)109 ;**:[1244] Replace 4 Lines at %RMES+8L PY 16-Apr-80
2) BLT P4,T3 ;[1244] GET ARGS FOR PMAP FROM P
1-P3
2) %KPAT: RESET% ;[1244] CLEAR PA1050 ENTRY VECTO
R
2) PMAP% ;[1244] GET RID OF PA1050
2) SETOM %1 ;[1244] SET UP FOR UNMAPPING VIA
PMAP JSYS
2) HLRM W1,.JBHRL ;[1244] UPDATE HIGH SEGMENT MAX
ADDRESS
2) >
**************
1)110
1) %EXIT: EXIT ;[644] THIS IS COMPARED WITH CON
TENT OF %16
1)
****
2)109 ;**;[1244] Delete 1 Line at %EXIT PY 16-Apr-80
2)
**************
1)111
1)112 %0: .-. ;BLT POINTER
****
2)110 ;**;[1244] Insert after %VMRER+1L PY 16-Apr-80
2)
2)111 IFE TOPS20,< ;[1244]
2) %0: .-. ;BLT POINTER
**************
1)112 IFE TOPS20,<
1) %7: MOVEM 3,.JBPFH## ;SET PAGE FAULT HANDLER
1) >
1) IFN TOPS20,<
1) %7: JSYS 147 ;TOPS-20 RESET, FLUSH PA1050
1) >
1) %10: SETZB 0,.-. ;CLEAR FIRST WORD
Digital Equipment Corporation 03-NOV-81 Page 132
PCO Log Report
****
2)111 ;**;[1244] Remove conditionals @%6+1 PY 16-Apr-80
2) %7: MOVEM 3,.JBPFH## ;SET PAGE FAULT HANDLER
2) %10: SETZB 0,.-. ;CLEAR FIRST WORD
**************
1)112 %END:
****
2)111 ;**;[1244] Insert before %END PY 16-Apr-80
2) %ZCBP==%2 ;[1244] PUT POINTER IN ACC 2
2) > ;[1244]
2) IFN TOPS20,< ;[1244]
2) %0: .-. ;[1244] BLT POINTER
2) %1: .-. ;[1244] PMAP ARGS - UMAP PAGES
2) %2: .FHSLF,,.-. ;[1244] PROCESS HANDLE,,FIRST PA
GE TO UNMAP
2) %3: PM%CNT+.-. ;[1244] REPEAT COUNT BIT,,NUMBER
OF PAGES
2) %4: BLT 0,.-. ;[1244] BLT LOWSEG DOWN
2) %5: PMAP% ;[1244] UNMAP EXCESS PAGES
2) %6: JFCL .-. ;[1244] ADDRESS FOR .JBREL
2) %7: HRRZM 6,.JBREL ;[1244] SET UP .JBREL
2) %10: SETZB 0,.-. ;[1244] CLEAR FIRST WORD
2) %11: BLT 14,@.JBREL ;[1244] AND REST
2) %12: DMOVEM 15,.JBBLT ;[1244] LOAD .JBBLT AT LAST MINU
TE
2) %13: JRST .JBBLT ;[1244] JUMP INTO RESERVED AREA
2) %14: .-. ;[1244] ZERO CORE BLT PTR
2) %15: BLT 17,17 ;[1244] CLEAR ALL ACCS
2) %16: .-. ;[1244] START OF HALTF%
2) %17: 0,,1 ;[1244] FINAL BLT PTR TO CLEAR A
CCS
2) %ZCBP==%14 ;[1244] ZERO CORE BLT PTR GOES I
N ACC 14
2) >
2) %END:
**************
[END OF PCO 20-LINK -019]
Digital Equipment Corporation 03-NOV-81 Page 133
PCO Log Report
*********************
*PCO #:20-LINK -020*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220) TESTED IN 4B(1247)
[Date Entered] 29-APR-80
[Programmer] P. YOUNG
[Routines] LNKHST LNKFIO
[Key Words] 0 SECONDS
[Source Before Edit] % (000000)
[Source After Edit] %4B (001250)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-14184
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 134
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
When LINK creates an .EXE file, the time last written is truncated
to the last minute.
**********
[DIAGNOSIS]
LINK opens the .EXE file in update mode, by doing extended LOOKUP
and ENTER UUOs. PA1050 places the time in the LOOKUP block, and
then uses it to set the time last written during the ENTER. The
TOPS-10 LOOKUP block does not contain seconds, so PA1050 zeros
them.
**********
[CURE]
Zero the time and date fields of the LOOKUP block before the ENTER.
Digital Equipment Corporation 03-NOV-81 Page 135
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1050 28-Apr-1980
File 2) DSKC:LNKHST.MAC[30,5526] created: 1508 29-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
25-Apr-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
28-Apr-80
2)
**************
1)1 DECEVR==1247 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1250 ;DEC EDIT VERSION
2)
**************
1)6 SUBTTL THE END
****
2)5 ;1250 PY 28-Apr-80 SPR 20-14184
2) ; Clear the date and time bits in the extended lookup/ente
r
2) ; blocks in DVUPD. this keeps PA1050 from using the bits
2) ; to set the time last written. (TOPS-20 only)
2) ; Routine: LNKFIO
2)
2)6 SUBTTL THE END
**************
Digital Equipment Corporation 03-NOV-81 Page 136
PCO Log Report
[FILCOM]
File 1) DSKC:LNKFIO.MAC[30,4507] created: 1054 24-Jan-1980
File 2) DSKC:LNKFIO.MAC[30,5526] created: 1305 29-Apr-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN 14-Jan-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JBC/JNG/PAH/DZN/PY 28-Apr-80
2)
**************
1)1 DECEVR==1230 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1250 ;DEC EDIT VERSION
2)
**************
1)2
****
2)2 ;1250 Clear DATE/TIME fields in DVUPD. if TOPS-20, to preserve
seconds.
2)
**************
1)16 TLO T2,001000 ;ENTER
****
2)16 ;**;[1250] Insert 6 lines before DVUPD.+22L PY 28-Apr-8
0
2) IFN TOPS20,< ;[1250]
2) MOVX T3,RB.PRV+RB.MOD;[1250] SET UP FIELDS TO SAVE
2) ANDM T3,.RBPRV(T2) ;[1250] CLEAR DATE/TIME FIELDS
2) HLLZS .RBEXT(T2) ;[1250] SO PA1050 WON'T USE THEM
2) MOVE T3,I.PPN(T1) ;[1250] GET BACK DIRECTORY
2) > ;[1250]
2) TLO T2,001000 ;ENTER
**************
[END OF PCO 20-LINK -020]
Digital Equipment Corporation 03-NOV-81 Page 137
PCO Log Report
*********************
*PCO #:20-LINK -021*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4B(1221) TESTED IN 4B(1251)
[Date Entered] 07-MAY-80
[Programmer] P. YOUNG
[Routines] LNKHST LNKSCN
[Key Words] EDIT 1221 @LINK
[Source Before Edit] % (000000)
[Source After Edit] %4B (001252)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 138
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
With Edit 1221 installed, typing LINK does not work. Typing R LINK
works correctly.
**********
[DIAGNOSIS]
Edit 1221 causes SCAN to rescan the command line for commands.
This will not work on TOPS-20. This is a SCAN restriction.
**********
[CURE]
Remove edit 1221 on TOPS-20.
Digital Equipment Corporation 03-NOV-81 Page 139
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 1713 29-Apr-1980
File 2) DSKC:LNKHST.MAC[30,5526] created: 1109 05-May-1980
1)1 DECEVR==1251 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1252 ;DEC EDIT VERSION
2)
**************
1)5 ; Routine: LNKLOD
1)
****
2)5 ; Routine LNKLOD
2)
2) ;1252 PY 5-May-80
2) ; Remove edit 1221 on TOPS-20. Rescan will not work becaus
e of
2) ; a SCAN restriction.
2)
**************
Digital Equipment Corporation 03-NOV-81 Page 140
PCO Log Report
[FILCOM]
File 1) DSKC:LNKSCN.MAC[30,4507] created: 1129 18-Oct-1979
File 2) DSKC:LNKSCN.MAC[30,5526] created: 1112 05-May-1980
1)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN 1-Oct-79
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/JNG/PAH/DZN/PY 5-Apr-80
2)
**************
1)1 DECEVR==1221 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1252 ;DEC EDIT VERSION
2)
**************
1)3
****
2)3 ;1252 Remove edit 1221 on TOPS-20.
2)
**************
1)6 ;**;[1221] Replace @.ISBLK+1L DZN 1-Oct-79
1) IOWD 1,[SIXBIT /LINK/] ;[1221] ALLOW MONITOR COMMANDS
1) OFFSET,,'LNK'
****
2)6 ;**;[1252] Replace @.ISBLK+1L PY 5-Apr-80
2) IFE TOPS20,< ;[1252]
2) IOWD 1,[SIXBIT /LINK/] ;[1221] ALLOW MONITOR COMMANDS
2) >
2) IFN TOPS20,< ;[1252]
2) 0 ;[1252] RESCAN DOES NOT WORK WIT
H TOPS-20
2) > ;[1252]
2) OFFSET,,'LNK'
**************
[END OF PCO 20-LINK -021]
Digital Equipment Corporation 03-NOV-81 Page 141
PCO Log Report
*********************
*PCO #:20-LINK -022*
*********************
[Program Data] System: LINK
Component:LINK
[Validity] 4A(1220)+EDIT 1244, TESTED IN 4B(1271)
[Date Entered] 09-DEC-80
[Programmer] P. YOUNG
[Routines] LNKHST LNKXIT
[Key Words] PMAP% ERRO EDIT 1244
[Source Before Edit] % (000000)
[Source After Edit] %4B (001272)
[Miscellaneous] DOC changes: N
SER/SPR Number:20-NONE
Archived: NO
OTHER PRODUCT:
AUTOPATCH TAPE #
************************************************************************
[Notes]
Digital Equipment Corporation 03-NOV-81 Page 142
PCO Log Report
[PCO Write-up]
**********
[SYMPTOM]
If Edit 1244 is installed, LINK will die if a program ends at the
end of a page and an EXE file is not being written.
**********
[DIAGNOSIS]
LINK does not set up the PMAP% arguments correctly because it skips
some needed code in this case.
**********
[CURE]
Move the label associated with this code so that it is before the
code which sets up the PMAP% arguments.
Digital Equipment Corporation 03-NOV-81 Page 143
PCO Log Report
[FILCOM]
File 1) DSKC:LNKHST.MAC[30,4507] created: 0846 08-Oct-80
File 2) DSKC:LNKHST.MAC[30,5526] created: 1727 09-Dec-80
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
7-Oct-80
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB
30-Oct-80
2)
**************
1)1 DECEVR==1271 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1272 ;DEC EDIT VERSION
2)
**************
1)5
****
2)5 ;1272 PY 30-Oct-80
2) ; Fix bug in Edit 1244 which causes the PMAP% which is sup
posed
2) ; to remove PA1050 to fail if the users program ends on th
e end
2) ; of a page.
2) ; Routine: LNKXIT
2)
2)
**************
Digital Equipment Corporation 03-NOV-81 Page 144
PCO Log Report
[FILCOM]
File 1) DSKC:LNKXIT.MAC[30,4507] created: 1953 31-Aug-80
File 2) DSKC:LNKXIT.MAC[30,5526] created: 1725 09-Dec-80
1)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY 31-Aug-8
0
1)
1)
****
2)1 SUBTTL D.M.NIXON/DMN/JLd/RKH/JBC/JNG/MCHC/DZN/MFB/PY 30-Oct-8
0
2)
**************
1)1 DECEVR==1267 ;DEC EDIT VERSION
1)
****
2)1 DECEVR==1272 ;DEC EDIT VERSION
2)
**************
1)6
****
2)6 ;1272 Fix Edit 1244 to remove PA1050 if low seg ends at end of
page.
2)
**************
1)107 IFN TOPS20,< ;[1244]
****
2)107 ;**;[1272] Add 1 Line at JBEX2A+16L PY 30-Oct-80
2) JBEX2B: ;[1272] PREPARE TO GO TO PHASED
CODE
2) IFN TOPS20,< ;[1244]
**************
1)107 JBEX2B: MOVE T4,[%T1,,T1] ;LOAD ACCS
1) BLT T4,T4
****
2)107 ;**;[1272] Replace 1 Line at JBEX3-4L PY 30-Oct-80
2) MOVE T4,[%T1,,T1] ;LOAD ACCS
2) BLT T4,T4
**************
[END OF PCO 20-LINK -022]