Google
 

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]