Google
 

Trailing-Edge - PDP-10 Archives - BB-KL11L-BM_1990 - lngsrc/lnkhst.mac
There are 53 other files named lnkhst.mac in the archive. Click here to see a list.
TITLE LNKHST - REVISION HISTORY OF LINK
SUBTTL	D.M.NIXON/DMN/JLd/RKH/JBC/JNG/DCE/MCHC/PAH/DZN/PY/MFB/JBS/HD/RJF 30-MAR-90


SEARCH LNKPAR		;[2030]
TWOSEG %HISEG		;[2030]

;[2030] One-line copyright for executable files

ASCIZ /
COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1973,1988. ALL RIGHTS RESERVED.
/			;[2403][2417]

;COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1973,1986,1988.
; ALL RIGHTS RESERVED.
;
;THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND COPIED
;ONLY  IN  ACCORDANCE  WITH  THE  TERMS  OF  SUCH LICENSE AND WITH THE
;INCLUSION OF THE ABOVE COPYRIGHT NOTICE.  THIS SOFTWARE OR ANY  OTHER
;COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE AVAILABLE TO ANY
;OTHER PERSON.  NO TITLE TO AND OWNERSHIP OF THE  SOFTWARE  IS  HEREBY
;TRANSFERRED.
;
;
;THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT  NOTICE
;AND  SHOULD  NOT  BE  CONSTRUED  AS A COMMITMENT BY DIGITAL EQUIPMENT
;CORPORATION.
;
;DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY  OF  ITS
;SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DIGITAL.
;


CUSTVR==0		;CUSTOMER VERSION
DECVER==6		;DEC VERSION
DECMVR==0		;DEC MINOR VERSION
DECEVR==2425		;DEC EDIT VERSION

LNKVER==:<BYTE(3)CUSTVR(9)DECVER(6)DECMVR(18)DECEVR>

	LOC	137
.JBVER:	EXP	LNKVER
	RELOC
SUBTTL	REVISION HISTORY


;START OF VERSION 1A
;37	ADD GARBAGE COLLECTOR AT CLANS
;40	ADD GENERAL GARBAGE COLLECTOR
;41	ADD LNKFSI MESSAGE
;42	TAB.PT NOT REDUCED WHEN CORE GIVEN BACK
;43	FORTRAN-10 LOCAL SYMBOLS IN COMMON NOT FIXED UP CORRECTLY
;44	REMOVE ALL REFERENCES TO XF (INDEX CONTAINING DY.LB)
;45	HASH INITIAL SYMBOLS AT ASSEMBLY TIME
;46	ADD KLUDGE FEATURE
;47	INTEGRATE WITH SCAN %4, ADD DATE75 HACK
;50	HANDLE PAGING DURING LOCAL SYMBOL OUTPUT CORRECTLY
;51	FIX BUG IF UNDEF SYMBOLS BUT DON'T WANT TO KEEP LOCAL SYMS
;52	ADD ASCII TEXT BLOCK
;53	FIX RETURNS FROM DVMOV. ROUTINE
;54	ADD KIONLY D.P. INST.
;55	STORE VERSION NUMBER (.JBVER) IN .RBVER OF SAVE FILE
;56	FIX LOOP AT JBEX2A IF CORE IMAGE IS MULTIPLE OF 2000
;57	SETUP VESTIGIAL JOB DATA AREA EVEN IF NOT A SAVE FILE
;60	ADD /VERSION SWITCH
;61	ADD STORE CODE IN CORE FOR T.3 TWOSEG FIXUPS
;62	FIX BUG IN BLOCK TYPE 11 (POLISH FOR FORTRAN-10)
;63	REMOVE MULTIPLY-DEFINED SYMBOLS FROM SYMBOL TABLE (IN CORE)
;64	REDUCE CORE SIZE IF ALL OF CORE IS TAKEN
;65	TENEX SPEEDUPS
;66	SAVE JOB DATA AREA ON /SAVE IF DDT, SYMBOLS AND ALL CODE IN HIGH SEG
;67	PUT ADDITIVE GLOBAL REQUESTS IN UNDEF TABLE
;70	FIX ADDRESS CHECK PROBLEM
;71	MAKE ALL INFO MESSAGES STANDARD FORM
;72	(11315) CTYPE NOT CLEARED ON UNKNOWN COMPILER TYPE
;73	(11314) PREVENT EXECUTION IF UNDEF SYMBOLS
;74	(11389) FIX ILL MEM REF ON FILE/SYSLIB
;75	FIX ALGOL OWN BLOCK, CALL ADCHK. ROUTINE
;76	FIX BUG IF DWFS. PAGES FOR FIRST TIME
;77	RESET VERBOSITY IF LNKERR GETSEG FAILS
;100	FIX ILL MEM REL ON /SAVE IF LAST BLOCK FILLS ALL OF CORE
;101	FIXES FOR FAIL CODE WITH UNDEF GLOBALS IN BLOCK 11
;102	TEST FOR MISSING END BLOCK (TYPE 5)
;103	SAVE AND RESTORE BOTH HALVES OF FL ON EDITED LOOKUP ERROR
;104	PUT FAIL BLOCKS IN MAP OUTPUT AND SYMBOL TABLE
;105	MAKE BLOCK TYPE 12 WORK
;106	ALLOW HIGH SEG CODE TO BE LOADED AT ADDRESS OTHER THAT 400000
;107	CHANGE KLUDGE TO MIXFOR (SEE EDIT #46)
;110	(11889) /BACK:1 GOT ILL MEM REF (SOSJ _ SOJG)
;111	MAKE MIXFOR WORK EVEN IF NOT IN /SEARCH MODE
;112	CHECK FOR PER FILE /SEARCH AT LODTST
;113	MAKE MIXFOR KNOW ABOUT F40 ARRAY REFERENCES IN ARGS
;114	FIX LOG FILE TO DSK (NOT ASSIGNED AS LOG)
;115	MAKE /NOSYMS WORK CORRECTLY
;116	FIX UNDEFINED SYMBOL COUNT IN FAIL BLOCKS

;START OF VERSION 1B
;117	(12058) ADD MISSING POPJ P, AT FORKI+2
;120	/SYMSEG:HIGH WITH NO HIGH CODE GIVES ILL MEM REF
;121	(12145)	.VERSW DOESN'T PRESERVE P4, /VER:1(20) FAILS
;122	(11940) MAKE /MAP/SAVE PRODUCE BOTH FILES NOT JUST THE LAST ONE
;123	MAKE LOADING OF VERY LARGE (GT. 128K) MUCH EASIER
;124	ADD /ONLY SWITCH (ARGS ARE BOTH, LOW, HIGH)
;125	WRITE MAPS WITH 2 SYMBOLS PER LINE
;126	CHANGE CALLING SEQUENCE FOR T.1STR AND PG.LSG, PG.HSG TO BE P2 & P3
;127	(12311) BUGS IN FORCED LOAD OF F40 CODE TO HIGH SEGMENT
;130	(12315) NOT ALL SYMBOL COPIED WHEN PREVIOUSLY REQUESTED COMMON IS DEFINED
;131	CHANGE JOBDAT SYMBOLS FOR V/M, ADD V/M FEATURES
;132	FIX BUG IN EDIT #122
;133	BUG IN LOADING LIBSAI IN T.11EV RETURN
;134	(12431) ABS SYMBOLS OCCASIONALLY SHOW AS REL IN MAP


;START OF VERSION 2
;135	ADD OVERLAY CAPABILITY (LNKOV1,LNKOV2,LNKOVS)
;136	FIX VARIOUS BUGS
;137	ADD SUPPORT FOR PLOTTER PACKAGE
;140	(12617) FIX ?IO TO UNASSIGNED CHANNEL WITH /SYMBOL:TRIPLET
;141	TURN ON ASCII TEXT BLOCK AND FIX BUGS IN IT
;142	(12520) FIX BUG IF PROGRAM LARGER THAN 36*128 WORDS
;143	MAKE /INCLUDE WORK BETTER (DOCUMENTATION CHANGE ALSO)
;144	(12772) FIX LOOP IN LNKMAP IF EVEN NO. OF SFDS
;145	IMPLEMENT USER LIBRARIES & /USELIB SWITCH
;146	(12860) MAKE S%E ENTER ERRORS FATAL (S%F)
;147	TURN ON MIXFOR FEATURE
;150	REMOVE EDIT #71 (PEF MESSAGE)
;151	(12491) CALL OSCAN CORRECTLY
;152	FIX LOOP IF /NOINIT AND UNDEFINED SYMBOLS
;153	FIX BUG IN EDITS 122 AND 132
;154	(12991) ONLY LOOK AT RIGHT HALF OF .JBERR TO DELETE EXECUTION
;155	(12988) FIX TEST FOR COBDDT AT RUN UUO TIME
;156	MAKE FOO/DEBUG WORK CORRECTLY
;157	(12640) IF .FORLB=-1 DO NOT WARN USER IF F10 CODE LOADED
;160	(12736) ADD WORDS FREE IN EACH SEGMENT TO MAP OUTPUT
;161	ADD LANGUAGE TYPE TO /USERLIB SWITCH
;162	USE W3 RATHER THAN W1 IN INDEXED LIBRARIES
;163	MAKE /ONLY WITH F-10 CODE NOT DEFAULT TO BOTH SEGS IN LOW
;164	MAKE CPU TEST OF REL FILES MORE GENERAL
;165	INTEGRATE WITH SCAN %5(356)
;166	READ BACK THE RADIX50 SYMBOLS OUTPUT BY /SYMBOL
;167	CHANGE ARGUMENTS TO /OTS SWITCH
;170	INTEGRATE WITH BLISS PLOTTER SUBROUTINES
;171	(13234) FIX BUG IF FORTRAN-10 PROG TOO BIG
;172	(13243) BUG IF MORE THAN 1 BLOCK TYPE 16 (OR 17) SEEN
;173	TEST ASCIZ BLOCK TYPE FOR VALID FIRST CHAR
;174	FIX RELOCATABLE OVERLAY BUGS
;175	CHANGE /RESET TO /NODE
;176	MAKE START BLOCK (7) BE TWO WORDS LONG
;177	FIX ADDRESS CHECK BUG IN LNKXIT IF PAGING SYMBOLS
;200	LOAD REENTRANT OVERLAY HANDLER
;201	MAKE FORDDT LOAD CORRECTLY
;202	REMOVE CORE UUO BEFORE GETSEG
;203	LINK ALL DDT SYMBOL TABLES IN OVERLAYS CORRECTLY
;204	FIX VARIOUS SFU AND EXPANSION BUGS
;205	LIST NO. OF GLOBALS AND MIN. HASH SIZE IN MAP
;206	FIX GLOBAL CHAINS IN UNDEF AND NOT ALL IN CORE
;207	MAKE OVERLAY OVERHEAD TABLES SMALLER
;210	(13461) MORE OF #172, HANDLE TYPE 16 CORRECTLY
;211	FIX ZEROS IN MONITOR SYMBOL TABLE
;212	YET ANOTHER ZEROS IN SYMBOL TABLE BUG
;213	(12531) LOW SEG OF TWOSEG CORE IMAGE BAD
;214	(12939) CORE EXP BUG IN F40 CODE IF EXPANDS IN MIDDLE OF DATAS
;215	ADD TEXT FOR OVRLAY MESSAGES TO LNKERR
;216	(13559) ADD ZSV ERROR MESSAGE
;217	FIX PDLOV IN BLOCK TYPE 11 CODE IF CORE MOVES
;220	HANDLE COMMON REFERENCED BEFORE BEING DEFINED CORRECTLY
;221	GET THE PROTECTION CODE OF XPN FILES CORRECT
;222	(12773) DO UPDATE MODE RIGHT FOR SFD DEFAULT PATHS

;START OF VERSION 2A
;244	DATE75 FIX TO MAKE LOW SEG FILE HAVE CORRECT DATE (ALSO LISTED BELOW)

;START OF VERSION 2B
;223	FIXUP PRIMARY TRIPLET AFTER ADDITIVE FIXUPS HAVE BEEN DONE
;224	PUT SECOND SYMBOL FOR COMMON BLOCK IN RADIX50 SYMBOL TABLE
;225	ADD SUPPORT FOR PSECT (MACRO VERSION 51)
;226	FIX UNDEFINED SYMBOL PROBLEM (117 NOT SET UP)
;227	(13779) TEST TEMP LOCAL SWITCH AT T.37 (COBOL CODE)
;230	ADD CHECK THAT LOW SEG DATA BASE IS SAME SIZE IN EACH SEGMENT
;231	(13869) P1 NOT RESTORED IN TIME IN XX.INI
;232	(13920) UNRELOCATE POLISH POINTER TO FIXUP AREA
;233	(13932) INFINITE LOOP IF UNDEF SYMBOLS AND TYPE 16 BLOCKS
;234	NUL:/SAVE CAUSES PAGING ON NUL: DEVICE, USE DSK INSTEAD
;235	(13845) ERRONEOUS SAVE FILE IF PAGED AND READING ZEROS
;236	CORE EXP BUG AT SY.RUA, P1 IS DESTROYED BEFORE STORE
;237	(13931) CHANGE RPR ERROR TO NBR
;240	FIX I/O TO UNASSIGNED CHAN IF /SAVE AND HIGH FILE ALREADY EXISTS
;241	SEPARATE LOW SEG REL CODE FROM ABS CODE FOR HIGHEST LOC CALCULATIONS
;242	HANDLE USER PAGE FAULT HANDLER CORRECTLY
;243	ADD SIMULA TO KNOWN PROCESSORS
;244	DATE75 FIX TO MAKE LOW SEG FILE HAVE CORRECT DATE

;245	JLd	31-Oct-74	SPR 10-14009
;	Make the overlay file stay on same structure on supersede
;	Routines: LNKOV1, LNKFIO, LNKWLD, LNKERR
 
;246	JLd	18-Nov-74	SPR 10-14212
;	Fix problems with the core overflow expansion calc.
;	which cause inefficient use of core.
;	Routines: LNKCOR

;247	JLd	11-Dec-74	SPR 10-14344
;	Fix the debug switch to load the debugger specified, and
;	symbols for the main program when switch follows main.
;	Routines: LNKWLD, LNKXIT.

;250	JLd	13-Dec-74	SPR 10-14363
;	Change generation of fixups for map routine so will store
;	the address limits.
;	Routine: LNKOLD

;251	JLd	19-Dec-74	SPR 10-14366
;	Fix /SEG:LOW to create the FX area if necessary
;	when saving high segment code.
;	Routine: LNKLOD

;252	JLd	24-Dec-74	SPR 10-14538
;	Fix problem with /INCLUDE with /SEARCH when loading an
;	indexed library.
;	Routine: LNKOLD

;253	JLd	28-Dec-74	SPR 10-14535
;	Correct several problems with ASCII test blocks:
;	. make ASCII blocks work with CCL entry
;	. make multi-line blocks work
;	. give error message if SCAN can't finsih block
;	Routines: LNKNEW, LNKSCN, LNKWLD, LNKERR

;254	JLd	28-Dec-74	SPR 10-14674
;	Switches which are deferred until after the file is
;	opened must be disconnected from the file spec block to
;	prevent double dispatching (2nd time with invalid code)
;	whenever the file spec. is edited.
;	Routine: LNKWLD

;255	JLd	2-Jan-75	SPR 10-14669
;	Prevent type ahead from causing a halt in SCAN.
;	Stop clearing to end of line when end-of-line found.
;	Routine: SCAN (SCAN Edit 524)

;256	JLd	2-Jan-75	SPR 10-14669
;	Make "/<switch>:" without a key word legal
;	Routine: LNKWLD

;257	JLd	9-Jan-75
;	Restore the proper P1 when creating FX -- cancel edit 231
;	Routine: LNKCOR

;260	JLd	9-Jan-75	SPR 10-14872
;	Fix to load large F40 programs in small core
;	Routine: LNKF40

;261	JLd	24-Jan-75	SPR 10-15063
;	Correct problems with loading a null overlay structure
;	(root only), and /PLOTing it.
;	Routines: LNKOV2, LNKPLT

;262	JLd	6-Feb-75	SPR 10-15063
;	React gracefully when /LINK switch is omitted
;	Routnies: LNKOV1, LNKLOW, LNKWLD, LNKERR

;263	JLd	6-Feb-75	SPR 10-15063
;	Increase the /PLOT stack size for large overlay structures
;	Routine: LNKPLT

;264	JLd	13-Feb-75	SPR 10-15135
;	Deal with file specification errors correctly when
;	processing commands from an indirect file.
;	Routines: LNKSCN, SCAN (v. 6)

;265	DMN	17-Feb-75
;	Implement EXE files (new SAVE format)
;	Routines:	LNKPAR, LNKXIT, LNKSCN, LNKWLD

;266	JLd	22-Feb-75	SPR 10-15226
;	Load symbols correctly when overflow to DSK.
;	Routine: LNKXIT

;267	JLd	23-Feb-75	SPR 10-15226
;	Take window into account when calc. offset for
;	module header (type 0) symbol in DDT symbol table
;	Routine: LNKXIT

;270	JLd	24-Feb-75	SPR 10-15248
;	Fix initialization of high segment Job Data Area
;	when done after disk overflow
;	Routine: LNKXIT

;271	JLd	27-Feb-75	SPR 10-15255
;	Suppress searching Bound Globals during symbol table
;	rehash.; keep the PDL in bounds.
;	Routine: LNKHSH

;272	JLd	27-Feb-75	SPR 10-15255
;	Make the force rehashing for /HASHSIZE work.
;	Routines: LNKWLD, LNKHSH

;273	DMN/JLd	27-Feb-75	SPR 10-15273
;	Fix up disk overflow decision making
;	Routine: LNKCOR

;274	JLd/DMN	3-Mar-75	SPR 10-15263
;	Allow COMMON in the HIGH segment to be loaded with DATA
;	defined in a module loaded in the LOW segment
;	Routines: LNKF40, LNKOLD, LNKPAR

;275	DMN	6-Mar-75	NONE
;	Add the rest of the code necessary to support SIMULA
;	finish edit 243.
;	Routines: LNKLOD, LNKERR

;276	DMN/ILG	7-Mar-75	SPR 10-15507
;	Fix MULTIPLY-DEFINED GLOBALS when a .REQUIRES
;	in one .REQUIRED file .REQUIRES another.
;	Routines:	LNKOLD

;277	JLd	13-Mar-75	SPR 10-15405
;	Allow editing of file spec. when LOOKUP error while
;	loading from default libraries.
;	Routines: LNKLOW, LNKWLD

;300	JLd	30-Mar-75	SPR 10-15706
;	Correct problem with /OVERLAY not working unless first
;	switch, and make permanent excludes work.
;	Routine: LNKOV1

;301	JLd	30-Mar-75	SPR 10-15706
;	Issue proper error message when no more room
;	during DSK overflow.
;	Routine: LNKCOR

;305	JLd	21-Apr-75	SPR 10-15843
;	Correct the mixed CPU test to give the message
;	at the right time.
;	Routine: LNKLOD
;317	RKH	25-Apr-75	SPR 10-15716
;	Correct initialization before call to TRYSYM  to 
;	search symbol table
;	Routine:	LNKOLD
;320	RKH	25-Apr-75	SPR 10-15858
;	Reinitialize user virtual address before call to
;	page in segment
;	Routine: LNKOLD

;322	JLd	1-May-75
;	Set up LSYM and other control variables so LNKCOR will
;	handle symbols properly.
;	Routines: LNKOV2, LNKXIT

;324	JLd	8-May-75
;	Don't deallocate the channel and area for LS until
;	no longer needed.
;	Routine: LNKXIT

;325	JLd	13-May-75
;	Fix special case of TWOSEG code forced into one
;	segment when high segment break is same as start
;	(length of zero).
;	Routines: LNKLOD, LNKOLD

;326	JLd	19-May-75
;	Fix more normal case broken by edit 252 of loading
;	indexed library with /INCLUDE specified, and more than
;	one file being loaded.
;	Routine: LNKOLD

;330	JLd	19-May-75
;	Make symbol channel go away after loading symbols into
;	the root of an overlay program.
;	Routine: LNKXIT

;331	JLd	19-May-75
;	Don't loose the Control Section, EXTTAB's and ENTTAB's;
;	count them in occupied core.
;	Routine: LNKOV1
;
;332	RKH	20-May-75
;	Restore base of GS area before processing
;	Routine: LNKOV2
;
;333	RKH	21-May-75
;	Isert code to handle successful zero return of GETTAB
;	Routine: LNKINI
;
;334	RKH	28-May-75
;	Change dispatch AC so that LINK item type is saved
;	Routine: LNKOLD

;335	JLd	30-May-75
;	Fix problems with size of symbols in root of
;	program with overlays.  prevent confusing LNKCOR
;	Routine: LNKXIT
;
;336	RKH	31-MAY-75
;	Fix /RUN switch to work properly
;	Routine: LNKXIT
;
;337	RKH	31-May-75
;	Isert check for no core to zero before BLT
;	and prevent possible ILL MEM REF
;	Routine: LNKXIT

;340	DMN	6-Jun-75
;	Change name of duplicate flag from S.NAM to S.LNM
;	Routines: LNKPAR,LNKHST,LNKNGW,LNKHSH,LNKOLD

;341	JBC	26-Jun-75
;	Include edit 327 in maintenance sources.  Label edits 223,232,233
;	Routine: LNKLOD

;342	SRM	26-Jun-75
;	Include edit 315 in maintenance sources
;	Routine: LNKPLT

;343	SRM	26-Jun-75
;	Include edits 302,307 in maintenance sources
;	Routine: LNKWLD

;344	SRM	26-Jun-75
;	Include edit 304 in maintenance sources
;	Routine: LNKMAP

;345	SRM	26-Jun-75
;	Include edit 303 in maintenance sources.  Label edit 230
;	Routine: LNKPAR

;346	SRM	26-Jun-75
;	Include edit 302 in maintenance sources.  Label edit 230
;	Routine: LNKINI

;347	JBC	26-Jun-75
;	Include edits 303,310,311 in maintenance sources.  Label edits 227,236,241
;	Routine: LNKOLD

;350	JBC	26-Jun-75
;	Remove references to RSYM
;	Routines: LNKLOW,LNKOLD

;351	SRM	26-Jun-75
;	Label edit 237
;	Routine: LNKERR

;352	SRM	26-Jun-75
;	Label edit 237
;	Routine: LNKOV1

;353	JBC	26-Jun-75
;	Remove edit 225
;	Routines: LNKINI,LNKLOW,LNKMAP,LNKOLD,LNKPAR,LNKWLD,LNKXIT

;354	JBC	26-Jun-75
;	Label edit 234
;	Routine: LNKCOR

;355	JBC	26-Jun-75
;	Label edit 230
;	Routine: LNKEXO

;356	JBC	26-Jun-75
;	Label edit 240
;	Routine: LNKFIO

;357	JBC	26-Jun-75
;	Label edits 224,226,234,235,241,242
;	Routine: LNKXIT

;360	JBC	27-Jun-75
;	Remove edit 336
;	Routine: LNKXIT

;361	JNG	2-Jul-75
;	Fix ill mem ref caused by edit 274
;	Routine: LNKF40

;362	JNG	2-Jul-75
;	Always set up the preamble area at OVR8, since edit
;	322 made LNKXIT not set it up.
;	Routine: LNKOV2

;363	JBC	2-Jul-75
;	Update minor version #
;	Routines: LNK999,LNKCST,LNKEXO,LNKMAP,LNKOVS,LNKPAR,LNKSUB

;364	JNG	9-Jul-75	SPR 10-16732
;	Generate a fixup instead of giving up if the TITLE
;	block has been paged out when a HISEG block is encountered.
;	Routines: LNKPAR,LNKCOR,LNKOLD

;365	JNG	10-Jul-75
;	Give an error message if an invalid fixup is encountered.
;	Routines: LNKCOR

;366	DMN	10-Jul-75
;	Only use 18 bit addresses to call CHKSEG from T.2CHK
;	Routine: LNKOLD

;367	DMN	10-Jul-75
;	Keep correct W3 on Polish fixups when symbol just defined
;	Routine: LNKLOD

;370	DMN	10-Jul-75
;	Fix LNKINS error detect
;	Routine: LNKFIO

;371	JNG	10-Jul-75
;	Move definition of .ERSFU to avoid undefined global.
;	Routines: LNKCOR,LNKOLD

;372	JNG	11-Jul-75
;	Don't print the path of an overlay on /MAP:NOW, since
;	the information is not yet set up and would be hard to find.
;	Routines: LNKMAP

;373	JNG	16-Jul-75
;	Load COMMON correctly on a /SEGMENT:HIGH.
;	Routines: LNKOLD

;374	JNG	17-Jul-75	SPR 10-16727
;	Avoid ILL MEM REF in LNKLOD because of edit 273.
;	Routines: LNKCOR

;375	JNG	17-Jul-75	SPR 10-16557
;	T.COMM sometimes inserts COMMON into the local symbol
;	table.  Since everybody that calls T.COMM also inserts COMMON
;	into the local symbol upon return, it sometimes gets in twice.
;	Solution: Make T.COMM always insert COMMON into the local
;	symbol table, and don't insert it when T.COMM returns.
;	Routines: LNKOLD,LNKLOD,LNKF40

;376	JNG	18-Jul-75	SPR 10-16500
;	Do not try to overlay F40 code, since this is not
;	supported and doesn't work anyway.
;	Routines: LNKLOD,LNKSUB

;377	JNG	18-Jul-75	SPR 10-16728
;	Fix several bugs involving the /SET switch.
;	Add new error message if trying to /SET below a segment origin.
;	Routines: LNKWLD,LNKERR

;400	JNG	20-Jul-75	SPR 10-16638
;	Do defaulting of output paths right and support SFD's.
;	Routines: LNKPAR,LNKLOW,LNKWLD,LNKFIO

;401	JNG	22-Jul-75
;	Remove hack to give same checksums on save files as 5.06.
;	Routines: LNKXIT

;402	JNG	22-Jul-75
;	Make /TEST again unique to one character.
;	(It conflicts with /TMPCOR in SCAN 7).
;	Routines: LNKPAR

;403	JNG	24-Jul-75
;	Fix HALT in LNKXIT if generating new style symbol file.
;	Routines: LNKXIT

;404	JNG	31-Jul-75
;	Replace edits 316,323,334, and 340, which got lost.
;	Routines: LNKOLD,LNKOV1,LNKERR,LNKNEW,LNKPAR,LNKHSH

;405	JNG	3-Aug-75
;	Recover if EOF  is encountered while reading ASCII text.
;	Routines: LNKLOD,LNKNEW
;
;406	RKH	9-Aug-75
;	Made DDT default if no argument
;	to /TEST or /DEBUG switches.
;	Routine: LNKWLD
;
;407	RKH	11-Aug-75
;	Correct problem with /NODE:-1 to prevent
;	node before root and give error message.

;410	JNG	11-Aug-75
;	Avoid ?LNKISN if a node has no internal symbols.
;	Edit 261 tried, but didn't do the whole job.
;	Routines: LNKHST, LNKOV2

;411	JNG	14-Aug-75
;	Fix problems when processing multiple line ASCII text
;	containing file specs. Note: until SCAN is fixed,
;	LINK will have the /K switch, which is a complete no-op
;	and meant for internal use only.
;	Routines: LNKPAR,LNKLOW,LNKSCN,LNKWLD,LNKNEW

;412	RKH	18-Aug-75
;	Preserve W3 when doing fixups to prevent problems when
;	loading block type 21.
;	Routines: LNKLOD

;413	JNG	18-Aug-75
;	Fix some small bugs in the handling of ELN message.
;	Routines: LNKOV1

;414	JNG	18-Aug-75
;	Make sure FUNCT. gets loaded somewhere in the root.
;	Modules: LNKOV1

;415	JNG	19-Aug-75
;	Keep LSYM and NAMPTR up to date in LNKOV2 to avoid
;	?ILL MEM REF when trying to expand LS area.
;	Routines: LNKOV2,LNKCOR

;416	JNG	20-Aug-75
;	Update GS.FR instead of GS.PT when copying global
;	symbol table into bound global area to prevent lost globals.
;	Routines: LNKOV1

;417	JNG	21-Aug-75
;	Remove the LNKF40 portion of edit 274 pending a rewrite
;	of this section of code, since it broke more than it fixed.
;	Routines: LNKF40

;420	JNG	21-Aug-75
;	Always print a "]" on informational messages to TTY.
;	Routines: LNKLOG

;421	JNG	26-Aug-75	SPR 10-17000
;	Always give %LNKMSN and %LNKSSN when a user requests
;	an unimplemented function.
;	Routines: LNKWLD

;422	JNG	27-Aug-75	SPR 10-17225
;	Temporarily shut off /SEG: while processing fixups to
;	prevent confusion, esp. when loading F10 code.
;	Routines: LNKLOD

;423	JNG	31-Aug-75	SPR 10-15734
;	Prevent ?ILL ADDR IN UUO in LNKXIT  when loading overlays
;	in a small amount of core and loading local symbols.
;	Routines: LNKOV2,LNKXIT

;424	JNG	2-Sept-75	SPR 10-15734
;	Improve the long message for the FSN error.
;	Routines: LNKERR

;425	JNG	2-Sep-75	SPR 10-15734
;	Do not require FUNCT. to be loaded into the root if there
;	are no requests for it (user wrote own overlay handler).
;	Routines: LNKOV1

;426	JNG	2-Sep-75	SPR 10-15844
;	Do not output prompt characters while processing ASCII text.
;	Routines: LNKSCN

;427	JNG	2-Sep-75
;	Don't destroy SCAN's ACs while processing ASCII text.
;	Routines: LNKSCN

;430	JNG	2-Sep-75
;	Don't zap F.ASCI in TXTKOM.
;	Routines: LNKSCN

;431	JNG	2-Sep-75
;	Make the /ESTIMATE switch work.
;	Routines: LNKWLD

;432	JNG	2-Sep-75
;	Fix a typo in edit 417.
;	Routines: LNKF40

;433	JNG	3-Sep-75
;	Support the /RUN switch correctly, i.e. ignore it unless
;	execution has not been requested.
;	Routines: LNKSCN,LNKXIT

;434	JNG	4-Sep-75
;	Don't clear OFFSET and OSCANF just before doing an
;	edit correction since this confuses .TYPRE in SCAN.
;	Routines: LNKLOG

;435	RKH	4-Sep-75
;	Keep HC.S0 up to date when loading F40 code to prevent the code
;	from being zeroed in LNKXIT.
;	Routines: LNKF40

;436	JNG	4-Sep-75
;	Clear ^O when prompting the user to make sure the "*" gets out.
;	Routines: LNKSCN
;
;START OF VERSION 2C
;
;437	RKH	22-Sep-75
;	Prevent LNKDUZ errors when processing redundant right
;	hand fixups by flushing the request.
;	Routine: LNKOLD

;440	RKH	23-Sep-75
;	Change macro in LNKPAR so /ONLY can be a global switch
;	Routine: LNKPAR

;441	RKH	25-Sep-75
;	Correct loading of COMMON when /SEGMENT:HIGH
;	IS USED. PREVENT COMMON size from increasing by 1
;	(caused by edit 373) and improper loading (caused
;	by edit 241).
;	Routine: LNKOLD

;442	JNG	10-Oct-75	SPR 10-16809
;	Add a general routine to move some data by either RENAME
;	or copy.  Call this routine from several places in LNKXIT
;	to prevent doing the wrong thing or getting ?LNKCNW messages.
;	Routines: LNKERR,LNKXIT

;443	JNG	21-Oct-75	SPR 10-17617
;	Avoid losing some of the local symbols if loading them into
;	core or into the .SAV file and symbol segment is paging.
;	Routines: LNKXIT

;444	JNG	21-Oct-75	SPR 17618/17686
;	Don't lose libraries defined with the USELIB macro.
;	Routines: LNKINI

;450	RKH	14-Nov-75
;	Correct code to give error when FORTRAN code is loaded
;	then F40 code and /MIXFOR is not set.
;	Routine: LNKLOD

;451	RKH	14-Nov-75	SPR 10-17881
;	Insert error message to identify file and module
;	when LNKFON is given.
;	Routine: LNKLOD

;452	RKH	14-Nov-75	SPR 10-17882
;	Prevent only the module name from being printed on top
;	of page when the astrisk seperators were printed on the
;	preceding page.
;	Routine: LNKMAP

;453	RKH	18-Nov-75	SPR 10-17637
;	Correct listing of map index to prevent repeating names
;	and losing others.
;	Routine: LNKMAP

;454	JNG	21-Nov-75
;	Allow (but ignore) block type 1060 (trace blocks) for MAKLIB.
;	Routines: LNKPAR, LNKNEW

;455	RKH	10-Dec-75
;	Do not bomb on absolute code seen after a HISEG
;	pseudo-op (Link item type 3). Broken by edit 441
;	Routines: LNKOLD

;456	JNG	9-Jan-76	SPR 16640
;	Fix forced loading of F40 programs, as edits 274, 361, 417,
;	and 432 attempted to do. Allow DATA statements in one
;	segment to initialize COMMON defined in another segment.
;	Shrink LNKF40 by 3 pages of code.
;	Routines: LNKF40, LNKLOD

;457	JNG	10-Jan-76	SPR 17194
;	Load FORJAK properly on /MIXFOR even if one flavor
;	of FORTRAN isn't seen until libraries are searched.
;	Routines: LNKLOD, LNKOLD, LNKLOW

;460	JNG	11-Jan-76	SPR 17100
;	Don't generate a bad EXTTAB if multiple ambiguous requests
;	in the same link.
;	Routines: LNKOV2

;461	JNG	11-Jan-76
;	Prevent loop in LNKCOR when loading overlays.
;	Routines: LNKOV2

;462	JNG	16-Jan-76	SPR 17774
;	Prevent EOF error in LNKXIT when /MIXFOR and paging
;	by restoring R in .MXFOR after SEGCHK wipes it.
;	Routines: LNKLOD

;463	JNG	16-Jan-76	SPR 17774
;	Avoid losing symbols after printing a map.
;	Routines: LNKMAP

;464	JNG	17-Jan-76	SPR 17814
;	Implement the /MISSING switch and LNKIMM message.
;	Routines: LNKPAR,LNKERR,LNKWLD,LNKLOD,LNKLOG

;465	JNG	17-Jan-76	SPR 17880
;	Redo block type dispatch, since it thinks block type 100 is
;	reserved for customers when it is reserved for DEC. Move
;	the code to handle .ASSIGN (block type 100) out of LNKCST
;	and into LNKOLD. The block types are defined as follows:
;	0	37	Reserved for DEC (LNKOLD)
;	40	77	Reserved for customers (LNKCST)
;	100	377	Reserved for DEC (LNKOLD)
;	400	401	Reserved for DEC (LNKF40)
;	402	577	Reserved for customers (LNKCST)
;	600	677	Reserved for customer special file types (LNKCST)
;	700	777	Reserved for DEC special file types (LNKOLD)
;	1000	1677	Reserved for DEC (LNKNEW)
;	1700	1777	Reserved for DEC special file types (LNKNEW)
;	2000	3777	Reserved for customers (LNKCST)
;	4000	777777	Reserved for ASCII text (LNKNEW)
;	Note that this contradicts the software notebooks in that DEC
;	has now reserved types 700-777, since type 776 was already
;	RADIX50 symbol files, and type 777 was MACRO universal files.
;	Routines: LNKLOD,LNKOLD,LNKCST

;466	JNG	4-Feb-76	SPR 18030
;	Prevent a loop in LNKOV1 on a /NODE switch when loading
;	relocatable overlays, esp. in small amounts of core.
;	Routines: LNKOV1

;467	JNG	5-Feb-76	SPR 18030
;	Set RC.PT to relocatable zero instead of absolute zero
;	when the RC area is set up but the current overlay has
;	no relocation info.  This prevents ?ADDRESS CHECK in LNKOV2.
;	Routines: LNKCOR, LNKOV2, LNKXIT

;470	JNG	9-Feb-76	SPR 18030
;	Preserve left half of R when filling in global requests so
;	relocatable overlays will work (relocation tables will be right)
;	Routines: LNKLOD

;471	DGS/JNG	13-Feb-76
;	Add code to support ALGOL debugging system.
;	Routines: LNKPAR,LNKLOW,LNKCOR,LNKLOD,LNKOLD,LNKXIT,LNKNEW,LNKWLD,LNKERR

;472	JNG	20-Feb-76	SPR 18161
;	Update hl.s1 on a /COMMON switch in case nothing more
;	is loaded.  Make COMMON defined by switch only appear in
;	the map once.
;	Routines: LNKWLD

;473	JNG	21-Feb-76	SPR 18455
;	Delete all .TMP files when exiting due to a fatal error.
;	Routines: LNKLOG

;474	JNG	21-Feb-76	SPR 18453
;	Print the module name that caused the error in all F40
;	produced error messages.
;	Routines: LNKF40,LNKERR

;475	JNG	21-Feb-76	SPR 18452
;	Replace all calls to .TYVER in LNKSUB with calls
;	to .TVERW in SCAN to save space.
;	Routines: LNKSUB,LNKMAP

;476	JNG	21-Feb-76	SPR 18558
;	Insert missing FTOVERLAY conditionals.
;	Routines: LNKHSH,LNKXIT

;477	JNG	28-Feb-76	QAR EG&G
;	Count bound globals in global symbol table size when rehashing
;	to avoid later ?LNKSIF errors.
;	Routines: LNKHSH

;500	JNG	28-Feb-76	QAR RDH
;	Fix bugs when reading in RADIX-50 symbol files, and
;	allow /INCLUDE & /EXCLUDE to work with them.
;	Routines: LNKOLD

;501	JNG	29-Feb-76
;	Support SFD's on input symbol files and output overlay
;	files.  LINK could not find symbol files in the default
;	path, and HALTed in LNKXIT when loading overlays.
;	Routines: LNKFIO

;502	JNG	29-Feb-76
;	Increase PDL size from 40 to 60, to avoid ?PDL OV error
;	when indirect file went away during a switch.
;	Routines: LNKPAR

;503	JNG	1-Mar-76	QAR BYU
;	Fix bug in map routines printing index header at bottom of
;	previous page instead of top of new page, caused by page output
;	routine allowing pages to be LN.LPP+1 lines long, instead
;	of LN.LPP lines.  Since pages have been 56 lines long
;	all this time anyway, increase LN.LPP to 56 to do it right.
;	Routines: LNKPAR, LNKMAP

;504	JNG	8-Mar-76	QAR BYU
;	Don't zero every 200'th word of the LS area when loading
;	overlays.
;	Routines: LNKOV1

;505	JNG	8-Mar-76	QAR EG&G
;	Avoid ?LNKISN due to truncated EXTTAB.
;	Routines: LNKOV1

;506	JNG	8-Mar-76	QAR EG&G
;	Don't pull global symbols defined in a higher link into the
;	current symbol table when searching a library containing
;	alternate definitions for those symbols.
;	Routines: LNKOLD

;507	JNG	9-Mar-76	QAR EG&G
;	Avoid informational messages in map file when using /ERR:0
;	Routines: LNKMAP

;510	JNG	11-Mar-76	QAR EG&G
;	Generate correct fixup for relocatable symbols in LS area.
;	Routines: LNKPAR,LNKLOD,LNKCOR

;511	JNG	13-Mar-76	QAR EG&G
;	Make sure LS area fixups get done properly on /LINK.
;	Routines: LNKCOR,LNKOV1

;512	DMN/JNG	15-Mar-76	QAR JMF/DLM
;	Don't lose fixups when a chained request for a symbol is seen
;	and an earlier request exists but is now completely paged out.
;	Routines: LNKLOD

;513	JNG	15-Mar-76
;	Combine common functions of T.776 and T.6 into subroutines.
;	Routines: LNKOLD

;514	JNG	15-Mar-76
;	Setup LH(R) correctly in RB.1 for relocatable overlays.
;	Routines: LNKOLD

;515	JNG	17-Mar-76	QAR EG&G
;	Prevent total confusion in overlay file when the LC area
;	overflows to the disk in other than the root link.  Respect
;	PH.ADD always when paging and doing fixups.  Make sure the
;	?W.S1 pointers always have PH.ADD subtracted from them.
;	Routines: LNKOLD,LNKLOD

;516	JNG	21-Mar-76	QAR EG&G
;	Correctly handle the case of LS area completely full, LNKCOR
;	call is to expand LS area, and more of LS must be paged out
;	to satisfy the request. This avoids %LNKSFU errors.
;	Routines: LNKCOR

;517	JNG	21-Mar-76
;	Make the first word of new symbol files (ALGOL) be
;	type,,count. Also, change ABLLEN to LN.ABL.
;	Routines: LNKPAR,LNKOLD,LNKNEW,LNKCOR,LNKXIT,LNKLOD

;520	JNG	21-Mar-76
;	Delete LNKTMP as a module of LINK.
;	Routines: LNKTMP

;521	JNG	21-Mar-76	QAR EG&G
;	Initialize library searching data on /LINK so default
;	libraries will be searched in overlays.
;	Routines: LNKOV1

;522	JNG	22-Mar-76	QAR EG&G
;	Get relocation bits right when filling in chained page fault
;	fixups (PFF.xx).
;	Routines: LNKLOD

;523	JNG	28-Mar-76	QAR NIH
;	Cut disk overhead to 15% of current when high segment paging.
;	This was broken by edit 320.
;	Routines: LNKOLD

;524	JNG	28-Mar-76	QAR BYU
;	Don't zero random words if symseg area reduced to one page.
;	Routines: LNKXIT

;525	JNG	28-Mar-76	QAR RAP
;	Avoid ?LNKCEF when core available by reducing wrong segment.
;	Routines: LNKCOR

;526	JNG	29-Mar-76	QAR JMT
;	Don't set reloc bits unless loading reloc overlays.
;	This is a fix to edit 522.
;	Routines: LNKLOD

;527	JNG	4-Apr-76
;	Save R1 over TTLREL call in 776 processor.
;	Routines: LNKOLD

;530	JNG	4-Apr-76
;	Change triplet flag bit definitions to their true values and
;	use the TXxx macros from C to reference them. This makes
;	it much easier to re-arrange them later.
;	Routines: LNKPAR,LNKINI,LNKWLD,LNKLOD,LNKHSH,LNKOLD,LNKF40,
;		  LNKCOR,LNKMAP,LNKXIT,LNKOV1,LNKOV2,LNKNEW

;531	JNG	13-Apr-76	SPR 18744
;	Redo file type dispatch, and give a better error messgae if
;	the user attempts to load a MACRO Universal file.
;	Routines: LNKOLD,LNKERR

;532	JNG	1-May-76
;	Get usage of CTYPE, MNTYPE, and various triplets in the
;	LS area coordinated to fix several small bugs with library
;	searching and printing maps when paging.
;	Routines: LNKOLD,LNKLOD,LNKMAP

;533	JNG	4-May-76	SPR 19053
;	Prevent LNKI4T message when loading large F40 programs
;	due to incorrect byte count in BITC.
;	Routines: LNKF40

;534	JNG	5-May-76	SPR 18399
;	Correct several problems while command scanning:
;	. Don't print a "*" if .OSCAN finds a SWITCH.INI entry
;	. Put all file specs from the same .TEXT block in order
;	. Don't apply switches from lines other than the first of one
;	   .TEXT block to the current file
;	. Get sticky switches right on all command lines
;	. Add a /CRLF switch to reset defaults as if a CRLF was seen
;	. Allow multiple /LINK switches on one line
;	Routines: LNKSCN,LNKWLD,LNKPAR,LNKLOW,LNKNEW,LNKOV1

;535	JNG	7-May-76	SPR 18774
;	Don't forget to search user libraries on the next link after
;	one for which one library pass loaded enough modules (at least
;	one) to satisfy all remaining undefined globals.
;	Routines: LNKLOD

;536	JNG	7-May-76
;	Define the temporary symbol bits in LNKOV2 so that they
;	will not conflict with the link number field of the symbol entry
;	Routines: LNKOV2

;537	JNG	8-May-76	SPR 19226
;	Put both high and low files in user's default path on /SAVE.
;	Routines: LNKFIO

;540	JNG	8-May-76	SPR 19288
;	Get the map right on /ONLY:HIGH and with zero length modules.
;	Routines: LNKOLD,LNKMAP

;541	JNG	9-May-76	SPR 19325
;	Fixup all call by name F40 subroutine prologue instructions
;	[PUSH 0,N(16)] when loading with /MIXFOR.
;	Routines: LNKLOD

;542	JNG	14-May-76	SPR 19689
;	Make subroutine entry points be defined correctly after MIXFOR
;	fixup when the LC area is paging.
;	Routines: LNKLOD

;543	JNG	17-May-76	SPR 19335
;	Fix LNKDUZ error when real definition supercedes partial
;	definition, and make library searching smarter about already
;	having partial definitions.
;	Routines: LNKLOD, LNKOLD, LNKCOR, LNKPAR

;544	JNG	23-May-76
;	SOUP in LINK version 3 stuff for TOPS-20
;	Routines: LNKCOR,LNKPAR,LNKOLD,LNKLOD,LNKWLD,LNKXIT,LNKERR

;545	JNG	23-May-76	QAR RDH
;	Make the .LINK pseudo op work when paging.
;	Routines: LNKPAR, LNKOLD

;546	JNG	25-May-76
;	Delete an extra instruction inserted by SOUP in edit 544.
;	Routines: LNKOLD

;547	JNG	26-May-76
;	Make LINK assemble with MACRO 51.
;	Routines: LNKXIT

;550	JNG	27-May-76	QAR DLM
;	Prevent ILL UUO on polish fixup to non-loaded local.
;	Routines: LNKOLD

;551	JNG	27-May-76
;	Change /SYMBOL to /SYFILE
;	Routines: LNKPAR,LNKWLD

;552	JNG	27-May-76
;	Organize .REQUEST/.REQUIRE data base & define offsets properly.
;	Routines: LNKPAR,LNKOLD

;553	JNG	27-May-76
;	Put edit 302 in once again (lost long ago).
;	Routines: LNKOLD

;554	JNG	28-May-76
;	Prevent ILL MEM REF on switches like /SAVE which have
;	multi-word values.
;	Routines: LNKPAR,LNKSCN

;555	JNG	19-Jun-76	QAR E.S.E
;	Fix some bugs relating to ALGOL 7 support:
;	.  Always load global symbols into core (low seg) for ALGOL
;	.  Make the ALGOL symbol files have .RBSIZ exactly right
;	Routines: LNKLOD,LNKXIT

;556	JNG	19-Jun-76
;	Temporarily solve problem of HALT in LNKCOR when paging
;	caused by edit 543 by checking in paging routines for existence
;	of GS area and bypassing some code if no GS area. This
;	can cause DDT symbol tables in core to be slightly wrong, but
;	the real solution - re-doing part of LNKXIT so that the GS
;	area can be kept around longer - is far too complex to do for
;	the 2C/3A release of LINK.
;	Routines: LNKCOR

;557	JNG	19-Jun-76
;	Clean up the listing for release.
;	Routines: Almost all of them
;START OF VERSION 3
;445	DMN	5-Nov-75
;	include previous edits to fix polish symbol table fixups
;	routine: LNKOLD, LNKLOD

;446	DMN	5-nov-75
;	change switches and defaults to more useful values under TOPS20
;	routine: LNKPAR, LNKWLD, LNKXIT, LNKERR, LNKCOR
;
;447	DMN	7-nov-75
;	add 3 new polish operators
;	routine: LNKOLD

;START OF VERSION 3A
;560	JNG	20-Jun-76
;	Release on both TOPS-10 and TOPS-20 as LINK version 3A(560)
;	Routines: All.

;START OF VERSION 4
;561	DCE	19-Jul-76	SPR 20359
;	Fix up returns from F10 subroutines when MIXFOR set
;	Routine: LNKLOD

;562	JNG	20-Jul-76	QAR CSM
;	Prevent ?ILL MEM REF when searching an indexed library if an
;	entry point is encountered that is already partially defined.
;	Routines: LNKOLD

;563	JNG	20-Jul-76	QAR U. Chicago
;	Prevent erroneous ?LNKIMM message when a module is indeed
;	loaded, but not as a result of a /INCLUDE switch (user loaded
;	it directly, or it contained entry point(s) which satisfied
;	some undefined globals in /SEARCH mode).
;	Routines: LNKOLD

;564	JNG	20-Jul-76
;	Make LINK assemble properly with MACRO 52.
;	Routines: LNKERR, LNKLOG

;565	DCE	21-Jul-76	SPR 20150
;	Prevent LINK from doing bad things when loading
;	block type 10 with the /ONLY:LOW switch set.
;	ROUTINE: LNKOLD

;566	JNG	21-Jul-76	QAR EVS
;	Prevent incorrect symbol tables in user's core image and maps
;	that indicate that modules end at zero when paging.
;	Routines: LNKCOR

;567	JNG	21-Jul-76	QAR SRM
;	Prevent ?LNKISP message when a deferred global
;	definition is seen for a symbol that is already defined.
;	Routines: LNKOLD,LNKLOW

;570	JNG	22-Jul-76	QAR EVS
;	Prevent loss of local symbols in DDT symbol table when
;	some undefined symbols are present and the LS area is paging.
;	Routines: LNKXIT

;571	JNG	19-Sep-76	QAR U. Ill.
;	Prevent ?ILL MEM REF when one require file requires another.
;	Routines: LNKOLD

;572	JNG	20-Sep-76	QAR EVS
;	Make sure LS addr in core before doing POLISH symbol fixup.
;	Routines: LNKLOD,LNKOLD

;573	JNG	21-Sep-76	QAR EG&G
;	Prevent random USETO when ROOT of a relocatable overlay
;	structure has no external symbols.
;	Routines: LNKOV2

;574	JNG	30-Sep-76	SPR 20115
;	Load OTS into low seg if no high seg exists yet and low
;	seg is larger than 128K (256P).
;	Routines: LNKLOD

;575	JNG	6-Oct-76	SPR 19781
;	On /SAVE/EXECUTE, always specify extension of .LOW to
;	the RUN UUO if a two-segment program so the monitor will
;	ignore any .EXE file of the same name.
;	Routines: LNKXIT

;576	JNG	2-Dec-76
;	Correct usage of PT.SGN & PT.OTH in INTTAB hash table.
;	Routines: LNKOV2

;577	JNG	6-Dec-76	SPR 21566
;	Generate a fixup instead of HALTing when local block names
;	are encountered and the LS area is paging to disk.
;	Routines: LNKPAR,LNKOLD,LNKCOR

;600	JNG	17-Dec-76
;	Change LNKHST &LNKLOW to load with each segment rather than
;	assembling with each file.  This saves much re-assembling when
;	LNKHST is changed.  Also change to use REL:SCAN.REL.
;	Routines: LNKHST,LNKPAR,LNKLOW,LNKEXO,LNKSCN,LNKINI,*.CCL

;601	JNG	19-Dec-76	SPR 10-21427
;	Print the correct version in the map if a /VERSION switch
;	has been seen.
;	Routines: LNKMAP

;602	JNG	19-Dec-76	SPR 10-21535
;	Ignore ASCII text in non-loaded library modules.
;	Routines: LNKNEW

;603	JNG	19-Dec-76
;	Delete redundant assembly parameter PPDL, use LN.PPD
;	everywhere.
;	Routines: LNKPAR,LNKOLD

;604	JNG	20-Dec-76	QAR LSS
;	Handle device NUL: correctly in all cases.
;	Routines: LNKCOR,LNKFIO,LNKINI,LNKMAP

;605	JNG	21-Dec-76	QAR EJW
;	Use OUTSTR's instead of OUTCHR's to TTY whenever possible.
;	Routines: LNKLOD,LNKLOG,LNKOV1,LNKWLD

;606	JNG	21-Dec-76
;	Get the protection of .HGH and .XPN files right.
;	Routines: LNKXIT

;607	JNG	7-Jan-77	QAR PMH
;	Make /HELP work on TOPS-20.
;	Routines: LNKINI

;610	JNG	15-Jan-77	SPR 10-21730
;	Modify file spec defaulting routines to handle ersatz devices
;	correctly (e.g. [1,2,3]/DEFAULT:INPUT, then REL:HELPER
;	as an explicit file spec).
;	Routines: LNKFIO,LNKWLD

;611	DMN	21-Jan-77
;	Add support for COBOL-74.
;	Routines: LNKPAR,LNKMAP,LNKLOD,LNKERR

;612	JNG	22-Jan-77	QAR JBS
;	Fix various polish bugs when a symbol is defined via a
;	polish string, esp. if it is then referenced in another.
;	Routines: LNKOLD,LNKLOD

;613	JNG	23-Jan-77	SPR 10-21868
;	Load all user-defined default libraries before considering
;	system default libraries so FOROTS will always go into the
;	right segment.
;	Routines: LNKLOD

;614	JNG	23-Jan-77
;	Re-search FORLIB if more FORTRAN code is seen in ALGLIB.
;	Routines: LNKLOD.

;615	JNG	23-Jan-77
;	Never load blank file specs (broken by edit 610).
;	Routines: LNKWLD

;616	JNG	23-Jan-77	SPR 10-21881
;	Give a better error message than HALT if RENAMEs fail
;	in LNKXIT.
;	Routines: LNKXIT

;617	JNG	5-Feb-77
;	Fix .REQUEST/.REQUIRE and /OVERLAY (broken by 610 and 615).
;	Routines: LNKWLD

;620	JNG	6-Feb-77
;	When merging a corrected file spec, don't overwrite the old
;	device unless a new device was specified.
;	Routines: LNKWLD

;621	MCHC	1-NOV-76
;	/SAVE and /SSAVE switches generate an EXE file.
;	/SAVE and /SSAVE no longer takes any argument.
;	The code for generating .SHR/.HGH/.LOW is
;	under conditional assembly FTEXE==0.

;622	MCHC	21-JAN-77
;	Don't do HJBSET if there is no high seg.
;	LNKXIT

;623	JNG	7-Feb-77	SPR 10-21908
;	Don't blow up on two /PLOT switches
;	Routines: LNKOV1

;624	JNG	23-Feb-77	SPR 10-21900
;	Add a long message for ?LNKKIA.
;	Routines: LNKERR

;625	JNG	24-Feb-77	SPR 10-21899
;	Print an extra blank line in the log file after the ELN message.
;	Routines: LNKPAR,LNKLOG,LNKOV1

;626	JNG	25-Feb-77	SPR 10-21898
;	Don't search bound globals when a partial definition is seen
;	Routines: LNKOLD

;627	JNG	27-Feb-77	SPR 10-21896
;	Always type entire list of defining link numbers on %LNKARL
;	message, even if list takes more than 5 character to type.
;	Routines: LNKOV2

;630	JNG	27-Feb-77	SPR 10-21895
;	Don't forget INCLUDEd or EXCLUDEd files after asking
;	the user to correct an incorrect file specification.
;	Routines: LNKLOD

;631	JNG	27-Feb-77	SPR 10-21894
;	Print the correct file spec in the LNKEOV message.
;	Routines: LNKOV1

;632	JNG	28-Feb-77
;	Fix $LOCATION to always work, and add $FIXUP.
;	Routines: LNKCOR,LNKLOD,LNKOLD,LNKOV1

;633	JNG	14-Mar-77
;	Don't point any fixups at a Polish string until we're sure
;	we want the Polish (might be /ONLY, non-loaded local, etc.)
;	Routines: LNKOLD

;634	JNG	7-Apr-77	SPR 10-22464
;	Never delete the user's input file on a fatal error, even
;	if its extension is .TMP.
;	Routines: LNKLOG

;635	JNG	10-Apr-77	SPR 10-22351
;	Handle too many %LNKARL messages gracefully.  This edit
;	adds the /ARSIZE switch and the %LNKTMA and ?LNKABT
;	messages.
;	Routines: LNKPAR,LNKLOW,LNKINI,LNKOV1,LNKOV2,LNKSUB,LNKERR

;636	JNG	17-Apr-77
;	Make TTYIT preserve T1, avoid ^H's to the TTY.
;	Routines: LNKINI

;637	JNG	17-Apr-77
;	Always give batch jobs the continuation error text on fatal
;	errors, since there is no user to type "continue".
;	Routines: LNKLOG

;640	JNG	17-Apr-77
;	Avoid further disk overflow in LNKMAP if possible.
;	Routines: LNKMAP,LNKCOR

;641	MCHC	10-FEB-77
;	Always do HC.OUT of what's in core to ensure updated vestigial 
;	JOBDAT before generating an EXE file.
;	LNKXIT

;642	MCHC	11-FEB-77
;	Uses EXE file extension for the disk file generated as result of
;	not having enough core (in JBNC).
;	LNKXIT

;643	MCHC	15-FEB-77
;	Fix bug with switch settings of P4, used to indicated an
;	EXE directory entry whould be output in XCMPRL routine.

;644	MCHC	15-FEB-77
;	Don't do JSYS 147(RESET) if EXIT rather than START is requested.
;	This prevent PA1050 to come back into core.
;	LNKXIT (TOPS20==1)

;645	MCHC	10-MAR-77
;	While expanding LC to accomodate the symbol table at end
;	and there is no more core (error return from LNKCOR) and no paging yet
;	in LSREQ, page out to disk for the first time.
;	LNKXIT.

;646	MCHC	10-MAR-77
;	Dont touch a high seg page after the high seg is removed in %LOW
;	LNKXIT

;647	MCHC	26-Apr-77
;	Don't clear unneeded memory in LNKXIT (better VM performance)
;	Routines: LNKXIT

;650	JNG	28-Apr-77
;	Use VM on TOPS-10 if available under FTVM.
;	Routines: LNKPAR,LNKLOW,LNKINI,LNKCOR,LNKOLD,LNKLOG,LNKMAP,
;		  LNKERR,LNKOV1,LNKOV2,LNKXIT,LNKWLD

;651	JNG	2-May-77	SPR 10-22609
;	Put the overlay file where the user specifies.
;	Routines: LNKOV1

;652	JNG	13-Jun-77	SPR 10-22456
;	Avoid bad .SAV file when paging to disk.  Much of user's
;	program will be overwritten with some word from the program.
;	Routines: LNKXIT

;653	JNG	13-Jun-77	SPR 10-22957
;	Fix /SYSLIB with an argument.  Broken by edit 457.
;	Routines: LNKWLD

;654	JNG	15-Jun-77	SPR 10-22528
;	Don't lose common block names from local symbol table.
;	Routines: LNKLOD,LNKOLD

;655	JNG/JLd	24-Jun-77	SPR 10-23152
;	Don't print an erroneous module name in the map when the start
;	address is specified with a switch.
;	Routines: LNKWLD

;656	JNG	11-Jul-77	QAR JMF
;	Don't try to supercede an old output file if we find it
;	on the user's library.
;	Routines: LNKFIO

;657	JNG	12-Jul-77	QAR JMF
;	Don't blow up while trying to delete temp files on a fatal
;	error if IO.EMG area doesn't exist.
;	Routines: LNKLOG

;660	JNG	12-Jul-77	QAR DMN
;	Clear all .LINK storage at the end of each overlay.
;	Routines: LNKOV1

;661	JNG	13-Jul-77	QAR BLISS-36
;	Make the %LNKMDS message only a warning level (L%W).
;	Routines: LNKLOD,LNKERR

;662	JNG	14-Jul-77	QAR DZN
;	Update NAMPTR in T.776 so block-structured symbol
;	files will work.
;	Routines: LNKOLD

;663	JNG	30-Sep-77	SPR 10-24037
;	Save GS.FR over LNKCOR call in LNK999.
;	Routines: LNK999

;664	JNG	6-Oct-77	QAR Gene Spadi
;	Don't destroy last word of bound globals on /NODE:0.
;	Routines: LNKOV1

;665	JNG	7-Oct-77
;	Fix core management bug with overlays. Broken by edit 650.
;	Routines: LNKOV1

;666	JNG	24-Oct-77
;	Fix edits 650 and 665, this time for sure.
;	Routines: LNKOV1

;667	JNG	25-Oct-77
;	Call correct paging routine to move window way up.
;	Routines: LNKLOD

;670	JNG	25-Oct-77
;	Don't overwrite DY.LNK in core shuffler.
;	Routines: LNKCOR

;671	JNG	25-Oct-77	SPR 10-24076
;	Don't leave a bad relocation table pointer lying around
;	if an overlay has no relocation table or "other" relocation
;	table, but the previous overlay did.
;	Routines: LNKOV1

;672	JNG	25-Oct-77	QAR JLd
;	Handle PPN's in request/require blocks correctly.
;	Routines: LNKLOD

;673	JNG	25-Feb-78
;	Update all of LINK's error messages to reflect the latest
;	LINK manual.  The FON, ILI, and LIT messages have been
;	replaced by the MSR, IRB, and RBS messages.  All of the
;	long messages in LNKERR have been replaced by the
;	explanation of the error from appendix B of the LINK manual.
;	Routines: LNKERR,LNKOLD,LNKLOD

;674	JNG	26-Feb-78
;	GETTAB the full path that LINK was run from so we can
;	GETSEG our other high segments, even if we were run
;	from an SFD.  Requires TOPS-10 6.04 or later.
;	Routines: LNKPAR,LNKLOW,LNKINI

;675	(Withdrawn)

;676	JNG	26-Feb-78
;	Move the POPLP routine from LNKLOW to LNKINI.
;	Routines: LNKLOW, LNKINI, LNKCOR

;677	JNG	27-Feb-78
;	On TOPS-20, don't load symbols by default if loading
;	overlays, since they cause much overhead at runtime.
;	They will still be loaded on /SYMSEG or /DEBUG or /TEST.
;	Routines: LNKINI,LNKLOD,LNKOV1,LNKOV2,LNKWLD

;700	MCHC	6-MAY-77
;	Put in PSECT index check in polish block handling.
;	LNKOLD

;701	MCHC	26-May-77
;	Check for libaray search processing in block type 100.
;	LNKOLD

;702	MCHC	26-May-77
;	Save AC R on stack before a PUSHJ @ in Type 776 processing.
;	LNKOLD

;703	MCHC	26-May-77
;	Add CBL79, BLISS36, and BASIC-2 to list of compiler types.

;704	MCHC	5-JUL-77
;	Don't write out EXE-dir for non-existant pages.
;	LNKLOD, LNKXIT

;705	MCHC	6-JUL-77
;	Wait for the file to be loaded before doing /SYMSEG.
;	LNKWLD

;706	MCHC	26-JUL-77
;	Add RC.NTB which contains a pointer to relocation tables that
;	are ordered by the order seen by LINK.  This is the permanent
;	order that will be kept throughout the entire load.
;	Any delayed fixups containing PSECT index must be converted
;	to the permanent index number by this table.
;	LNKLOW, LNKINI, LNKWLD, LNKOLD

;707	MCHC 	2-AUG-77
;	Keep global fixup chains separate if the first chain doesn't
;	come before the new chain.
;	LNKOLD

;710	MCHC	2-AUG-77
;	Move hiseg to begin at 540000.
;	LNKPAR

;711	MCHC	8-AUG-77
;	Fix bug in MAP when only 1 PSECT in a module.
;	LNKOLD, LNKMAP

;712	MCHC	8-AUG-77
;	Add a check for PSECT index when a global is defined and
;	stored fixups are being checked.
;	LNKLOD

;713	MCHC	12-AUG-77
;	Fix bug with a sparse EXE-directory.
;	LNKXIT

;714	MCHC	16-AUG-77
;	Add PSECT-name as a global symbol having
;	origin as its value.
;	LNKWLD

;715	MCHC	1-SEP-77
;	Modify SYMSEG to to take PSECT name.
;	LNKPAR, LNKLOW, LNKWLD, LNKXIT

;716	MCHC	9-SEP-77
;	Performance improvements for loading large PSECTed programs:
;	1.	When moving the window down, write out what we have
;		and read in only as much as LN.WD.
;	2.	When moving the window up, and the addr is already
;		out on disk, don't bother to expand, just write
;		out what we have and read in as much as LN.WD.
;	LNKLOD

;717	MCHC	19-SEP-77
;	Setup correct LINK addr to give back when reading from disk
;	is less than current core size.
;	LNKLOD

;720	MCHC	19-SEP-77
;	Allow moving up of a block larger than 400000 by separating
;	it into two steps.
;	Also do the reverse BLT(POP loop) in memory rather than in the
;	ACs on -20.
;	LNKLOW, LNKCOR

;721	MCHC	19-SEP-77
;	Change /SYMSEG to /SYMSEG:PSECT:psectname for taking
;	PSECTNAME.
;	LNKPAR, LNKWLD

;722	MCHC	20-SEP-77
;	Implement PSECT attributes.
;	LNKPAR, LNKOLD, LNKXIT

;723	MCHC	20-SEP-77
;	Add /UPTO:octalnumber to allow user specification of
;	symbol table upper limit.
;	If not specified limit default to next PSECT origin.
;	If limit .GT. next-PSECT-origin, overlaying will occur.
;	LNKPAR, LNKWLD, LNKXIT

;724	MCHC	23-SEP-77
;	Check for symbol table range in INGAP routine.
;	LNKXIT

;725	MCHC	26-SEP-77
;	Fix bug with incrementing process page when writing out
;	overlay symbol table into EXE file.
;	LNKXIT

;726	MCHC	20-OCT-77
;	Fix bug in INGAP routine in LNKXIT.

;727	MCHC	3-NOV-77
;	Give "Insufficient space" error message when symbol table
;	has to be truncated to avoid overlay into high segment.
;	LNKINI, LNKWLD,LNKXIT

;730	MCHC	10-NOV-77
;	Allow proper loading of /DEBUG:XXX with /LINK.
;	LNKLOW, LNKWLD, LNKOV1


;731	MCHC	17-NOV-77	QAR 10-02191(Stevens)
;	Replace SEARCH C with SEARCH MACTEN, UUOSYM.
;	Use symbols .SVXXX from UUOSYM.
;	LNKPAR, LNKXIT


;732	MCHC	29-NOV-77
;	Fix bugs related to loading code into the last page 777.
;	LNKPAR, LNKLOW, LNKINI, LNKOLD, LNKXIT


;733	MCHC	30-NOV-77
;	Fix bug with allocated high seg pages generating bad EXE format.
;	LNKXIT

;734	MCHC	12-DEC-77	Stevens(QAR 10-02197)
;	Add KL in CPUs.  Do mix code check for KL & KA, and KL & KI.
;	LNKPAR, LNKLOD

;735	MCHC	12-DEC-77	Stevens(QAR 10-02198)
;	Remove REPEAT 0 around polish operators:
;		MAX(20), MIM(21), EQ(22), LNK(23), DEF(24)
;	and polish store operators:	MOVEM(-7)
;	LNKOLD

;736	MCHC	12-DEC-77	Stevens(QAR 10-02203)
;	Change overflow file protection to standard protection.
;	LNKCOR


;737	MCHC	15-DEC-77
;	Clear link list pointer after it's given back
;	LNKLOD


;740	PAH	17-DEC-77	Worcester Tech(QAR 10-02183)
;	Remove /VERSION switch handling.  Add handling of
;	F.VER SCAN block field to DVOUT. and DVINP.
;	LNKPAR, LNKSCN, LNKWLD, LNKFIO

;741	MCHC	29-DEC-77	
;	After a new segment is read in core from disk, and fixup chain
;	is traversed for possible fixups in to the new segment,
;	compare the fixup address with the window range.
;	LNKLOD

;742	MCHC	30-DEC-77
;	Don't force dump of one page unless first code is over 128k.
;	LNKOLD, LNKXIT

;743	MCHC	10-JAN-78		EG&G(QAR 10-02217)
;	When calculating offset relative to a block, use symbol .DBM
;	LNKOV2

;744	MCHC	10-JAN-78		Worcester Tech(QAR 10-02244)
;	Fix bug with EXE-file size calculation for LINK to
;	pre-allocate enough blocks.
;	LNKXIT


;745	MCHC	11-JAN-78
;	Set default symbol table limit to 777777. If .HIGH. encountered,
;	the defualt symbol table limit is adjusted to .FRESP+1 words
;	before high segment origin.
;	LNKPAR, LNKOLD

;746	MCHC	11-JAN-78
;	Add a CHKBND routine to check for PSECT overlap right before
;	going to LNKXIT.
;	LNKLOD


;747	MCHC	18-JAN-78
;	After relocation table is sorted, make sure LOWLOC is updated,
;	especially if there was no code in .LOW. but space allocated,
;	before going to LNKXIT.
;	LNKLOD

;750	MCHC	24-JAN-78
;	Reserve 2 page windows to allow code to come in that spans
;	the page boundary.
;	LNKPAR, LNKINI, LNKCOR

;751	MCHC	25-JAN-78
;	Fix bug with calculation of space to give back in PG.SD.
;	LNKLOD

;752	MCHC	26-JAN-78
;	Add code in CPUTST routine to convert a CPU-code from Block 6
;	into correct dispatch table offset for inconsistency check
;	routines.  Also, remove part of edit 734, and make KL check
;	same as KI.
;	LNKLOD

;753	MCHC	20-FEB-78
;	Fix bug in routine SETRCY--save current RC slot, and move to new
;	place.
;	LNKOLD

;754	MCHC	20-FEB-78
;	When LC(or HC) needs to be paged for the first time for adding
;	symbol table at end, prevent overflow of LS area.
;	LNKXIT

;755	MCHC	22-FEB-78
;	Add a table TAB.ZE and some code to allow zeroing of free space
;	(the space between TAB.AB and TAB.UB) for only the areas needed,
;	meaning either the AB or the UB value was changed.  This prevents
;	unnecessary BLTs and improves loading performance for medium
;	to large programs.
;	LNKLOW, LNKCOR

;756	MCHC	22-FEB-78
;	Fix bug in PSECT attribute bit definitions.
;	LNKPAR

;757	MCHC	22-FEB-78
;	Type out value of RC.HL(highest location) rather than RC.CV
;	(current value) for overlayable PSECT when doing /COUNTER.
;	Dont'clear RC.HL for overlayable PSECTs in Block 5 processing.
;	LNKWLD, LNKOLD

;760	MCHC	22-FEB-78
;	Expand PSECT overlap checks to check each PSECT with all others.
;	LNKXIT

;761	MCHC	22-FEB-78
;	Define a relocatable PSECT bit in PSECT attribute.  Give error
;	if code is generated into PSECT of unknown origin(relocatable
;	PSECT not implemented in this version).
;	LNKPAR, LNKLOW, LNKWLD, LNKOLD

;762	MCHC	25-FEB-78
;	When paging occurs with high LOWLOC value(lowest code addr.),
;	read in the right pages at the start of EXE file generation.
;	LNKXIT

;763	MCHC	28-FEB-78
;	Add block 24 so that:
;
;	Block 22	SET PSECT block	
;		Contains PSECT index(or PSECT name if block 24 not used).
;		Used to set the current relocation counters.
;		Interspersed in block 1s and block 2s.
;	Block 23	PSECT end block
;		Contains PSECT name and break.
;		A set of block 23s appears at end of a load module.
;		Maybe used to order PSECTs, if block 24s are not used.
;	Block 24	PSECT header block
;		Contains PSECT name, attributes, PSECT index  and origin.
;		A set of block 24s appears at the start of a load module.
;		Creates a relocation counter if needed for this PSECT.
;		Orders the PSECTs of a module.
;	If block 24s are not used: Block 22 must supply the PSECT name, and
;	block 23s are used for ordering.   A zero origin in block 22 is
;	assumed to be a relocatable PSECT.  Thus, /SET switch is required
;	to set origin.
;	LNKWLD, LNKOLD

;764	MCHC	28-FEB-78
;	Update LOWLOC (the lowest location) in GETSST(get start of symbol
;	table) routine incase symbol table is lower than code.
;	LNKXIT

;765	MCHC	28-FEB-78
;	Release on both TOPS-10 and TOPS-20 as LINK version 4(765)
;	Routines: All.
;START OF VERSION 4A
;766	MCHC	17-MAR-78
;	Store correct KL code(offset calculated by JFFO) for inconsistancy
;	check of modules to come.
;	LNKLOD

;767	MCHC	17-MAR-78
;	Clear AC P2(required size) when coing forced dump of LC area,
;	which returns through LNKCOR and will cause looping if
;	garbage is in it.
;	LNKOLD

;770	MCHC	17-MAR-78
;	Add code to allow paging for the first time in routine to
;	output undefined symbols(especially if undefined symbol table
;	does not begin at end of a chunk of code.)
;	LNKXIT

;771	MCHC	23-MAR-78
;	Fix bug in doing large (.GT. 400000) pop loop in 2 chunks.
;	LNKCOR

;772	MCHC	23-MAR-78
;	Edit 770 did not adjust start of symbol table that came after
;	the undefined symbol table.
;	If /SET:FOO:nnnnnn/SYMSEG:PSECT:FOO is used so that a PSECT
;	was created just for the symbol table, the following should
;	happen:
;		PAT..=nnnnnn
;		.JBUSY (117)/	-U,,PAT..+100 
;				where U is the length of undefined symbol table
;		.JBSYM (116)/	-L,,PAR..+100+U
;				where L is the length of the symbol table
;	LNKXIT

;773	JNG	30-Apr-78
;	Fix GSDLT in LNKXIT to not leave some area's UB
;	pointing beyond .JBREL if the GS area is already gone.
;	Routines: LNKXIT

;774	JNG	30-Apr-78	SPR 10-25711
;	Fix bad calculation of UW in EXE file writer.
;	Routines: LNKXIT

;775	DZN	1-May-78	SPR 20-11396
;	Make sure /DEBUG:FORTRAN loads the starting address of
;	FORDDT and not the user's program (unless explicit /START).
;	Routines: LNKWLD

;776	DZN	4-May-78	SPR 10-23733
;	Fix address check and lost .JBVER when loading small programs
;	with /SAVE and no data in core-image pages 0 or 1.
;	Routines: LNKXIT

;777	DZN	18-May-78	SPR 10-24008
;	Fix allocation of COMMON blocks when a COMMON block is first
;	referenced but not defined, then later defined. Also document
;	SY.RF as destroying P1-P4.
;	Routines: LNKOLD, LNKLOD

;START OF LINK 5I
;1000	MCHC	14-Mar-78
;	Support block type 1070 -- long symbol names.
;	Set assembly switches for extended symbols and new blocks:
;		.EXSYM==-1
;		.NWBLK==-1
;	LNKPAR, LNKLOW, LNKOLD, LNKNEW,LNKMAP,LNKWLD

;1001	MCHC	5-May-78
;	Add block type 1072 -- Polish block supporting long names.
;	LNKOLD, LNKNEW


;1002	MCHC	8-Jun-78
;	Add code to do insert of long name plus a fixup triplet.
;	LNKNEW, LNKOLD




;1100	DZN	23-May-78	SPR 10-24042
;	Fix LNKMAP to correctly free the index blocks it uses for sorting,
;	to keep the integrity of the DY area.
;	Routines: LNKMAP

;1101	JNG	29-May-78	SPR 10-23623
;	Fix LINK to correctly load indexed libraries that contain modules
;	which have no entry points and thus do not appear in the index
;	when indexed with MAKLIB.
;	Routines: LNKOLD,LNKLOD,LNKWLD,LNKLOW

;1102	DZN	18-Jun-78	SPR 20-11085
;	Fix paging routines to detect moving a window past 512P. In this
;	case, make the end of the window set right at 512P.
;	Routines: LNKLOD

;1103	DZN	19-Jun-78
;	See that the list of .REQUEST/.REQUIRE blocks is not freed twice,
;	to preserve the integrety of the DY area.
;	Routines: LNKLOD

;1104	JNG	20-Jun-78
;	Fix address checks when dumping LC or HC area to disk.  Remove
;	edit 750 in LH.DMP, so we will never try to shrink the current
;	area by more pages than the area has.
;	Routines: LNKCOR

;1105	JNG	20-Jun-78
;	Fix edit 740 to not destroy an AC that held the input file's PPN.
;	This caused LINK to not be able to find a file when the user gave
;	an explicit path including SFDs.
;	Routines: LNKFIO

;1106	JNG	27-Jun-78	QAR RDH
;	Update HL.S1 from RC.CV of the highest PSECT loaded at the end of
;	loading.  This causes the EXE file generator to allocate all of
;	the pages that it should if the last PSECT ends with a BLOCK statement.
;	Routines: LNKLOD


;1107	MCHC	3-Aug-78
;	Fix bug in .SETEX--routine to expand RC.TB and RC.NTB tables
;	in DY area by obtaining bigger spaces, copying the data from
;	the old tables, and freeing the old table spaces.
;	The bug was in address calculation in freeing one of the tables.
;	The code is re-arranged to do a DY.GET followed by DY.RET
;	then another DY.GET and DY.RET
;	LNKWLD

;1110	MCHC	7-Aug-78
;	Type out the PSECT name as part of the error message when a
;	non-existent one is used with /SYMSEG in GETSST routine.
;	Don't clear the name from memory cell, loop back without restoring the
;	stack and treat this case as a default case.
;	LNKXIT

;1111	MCHC	7-Aug-78
;	Fix LNKXIT core management bug introduced by edit 772.
;	LNKXIT

;1112	JNG	15-Aug-78	SPR 10-25902
;	Fix one off bugs in map printing segment lengths in K/P and
;	words free.
;	Routines: LNKPAR, LNKMAP

;1113	DZN	25-Aug-78	SPR 20-12001
;	Fix memory management problems when plotting the overlay
;	tree. See that LINK never shrinks back on TOPS-20 until final
;	placement of the loaded program. Add LNKPOT message to tell user
;	when LINK is plotting the overlay tree.
;	Routines: LNKCOR, LNKXIT, LNKPLT, LNKERR

;1114	DZN	1-Sep-78	SPR 20-11999
;	Zero count of COBOL symbol words and ALGOL OWNs loaded when
;	done loading a module, so they don't get counted in subsequent
;	modules in the same file.
;	Routines: LNKOLD, LNKLOD

;1115	DZN	2-Sep-78	SPR 20-11997
;	Add LNKHCL message to complain when loading high segment code
;	into a link other than the root in an overlaid program.
;	Routines: LNKERR, LNKOLD

;1116	JNG	7-Sep-78
;	Put back part of the code removed by edit 716.  Performance
;	improvements are only kosher as long as the code removed is
;	unneeded.
;	Routines: LNKLOD

;1117	DZN	14-Sep-78
;	Make /INCLUDE:args also set include mode, as it did long ago.
;	But also add /NOINCLUDE to turn off include mode but not
;	delete the original args.
;	Routines: LNKPAR, LNKWLD

;1120	DZN	22-Sep-78	SPR 10-26135
;	Fix CPU mismatch checks so that they work. Remove edit 766,
;	revamp all CPU check code to use a bit mask of valid CPUs,
;	delete the LNKKIA message and add LNKCCD, and change the
;	map to include the correct information. Also, make the map
;	show which CPUs the entire program can be run on.
;	Routines: LNKPAR, LNKERR, LNKOLD, LNKLOD, LNKINI, LNKMAP, LNKLOW

;1121	JNG	4-Oct-78	QAR JMF
;	Fix LNKXIT bug so .JBSYM ptr won't include the undefined symbol
;	table.  This was broken by edit 772.
;	Routines: LNKXIT

;1122	DZN	5-Oct-78	SPR 10-26222
;	Remove edit 740, which attempted to use SCAN's /VERSION switch,
;	rather than LINK's. SCAN's switch is a file-specific switch, which
;	is not the way LINK wants it to work. However, still fix the original
;	problem (having to type /VERSION to 6 characters to work) by making
;	LINK's /VERSION switch unique to any abbreviation.
;	Routines: LNKPAR, LNKSCN, LNKWLD, LNKFIO

;1123	DZN	10-Oct-78	SPR 10-26580
;	Use HRLI instead of HRL to load ENTER error flag.
;	Routines: LNKFIO

;1124	DZN	11-Oct-78	SPR 10-26712
;	Edit 636 broke LINK's ability to be run execute-only. Fix
;	this by making the TTY log routine once more return into the
;	potentially execute-only high segment properly.
;	Routine: LNKINI

;1125	JNG	1-Nov-78	SPR 10-26379
;	Don't try to run the high segment file on /SAVE/RUN (or /SAVE/DEBUG)
;	when generating an EXE file.  This fixes ?nnnLHC.EXE not found when
;	the user types the above switches and the HC area has overflowed.
;	Routines: LNKXIT

;1126	JNG	1-Nov-78	SPR 10-26433
;	If all 7.01 GETTABs to determine where we came from are not available,
;	use the contents of the ACs to do GETSEG UUOs.
;	Routines: LNKINI

;1127	JNG	14-Nov-78	QAR DIB
;	Set up the module length for PAT.. in the runtime symbol table.
;	Routine: LNKXIT

;1130	DZN	26-Jan-79	SPR 10-27212
;	Make LINK honor /MAXCOR correctly when a request for memory in a
;	pagable area is made. In this case, edit 650 made LINK count the
;	memory request toward the /MAXCOR value, even though the window
;	can simply be moved.
;	Routine: LNKCOR

;1131	DZN	26-Jan-79	SPR 10-27123
;	Make LINK decide to load a non-sharable OTS if the low segment
;	has grown within 40 pages of the origin of the OTS high segment
;	rather than letting the low segment grow past it first.
;	Otherwise, the low segment may cross the beginning of the OTS
;	during the system library search when it is too late to fix it.
;	Routine: LNKLOD

;1132	JNG	30-Jan-79	SPR 10-26576
;	Re-work EXE file writer to fix several problems, including:
;	. PSECTs above the high segment not written properly.
;	. Absolute code not loaded correctly.
;	. Bad EXE directory if loading overlays and small /SPACE switch.
;	. PSECT attributes not written into the EXE file.
;	. Page 1 written into page 0 if page 1 is lowest page containing code.
;	. Address checks when writing the EXE file.
;	. Bad EXE file if EXE directory is longer than two pages.
;	. ?LNKCNW or bad DDT symbol table when loading PSECTs.
;	Routines: LNKPAR, LNKINI, LNKLOD, LNKOLD, LNKWLD, LNKXIT.

;1133	JNG	30-Jan-79	SPR 10-26576
;	Add a long message for the LNKSTL message.
;	Routine: LNKERR

;1134	JNG	30-Jan-79	SPR 10-27024
;	Avoid address check in LNKXIT while writing EXE file if lowest
;	code loaded is between 2000 and 377777, but the program being
;	loaded is not so large that LINK needs to overflow to disk.
;	This edit is an extract of part of edit 1132.
;	Routines: LNKXIT

;1135	DZN	31-Jan-79	SPR 10-26792
;	Force PG.SU to expand anyway if a request crosses a page boundary
;	and the window is not at least two pages long.
;	Routine: LNKLOD

;1136	JNG	31-Jan-79	SPR 10-26518
;	Avoid IO to unassigned channel in LNKXIT while writing an EXE file
;	if segment ends on last word of a page and LINK is not paging to disk.
;	This edit is an extract of part of edit 1132.
;	Routine: LNKXIT

;1137	JNG	1-Feb-79	SPR 20-12411
;	Don't change RC.CUR in T.24.  Also set default PSECT name to left-
;	justified .LOW. (not right-justified) if name not given in block.
;	Routine: LNKOLD

;1140	JNG	6-Feb-79	SPR 10-26410
;	Clear LSTSYM when a non-loaded local is encountered.
;	Routine: LNKOLD

;1141	JNG	15-Feb-79	SPR 10-26290
;	Make the EXE file writer stop writing when it passes the size
;	of the user program, instead of writing the entire LC area.
;	This edit supercedes edit 1136 and is an extract of edit 1132.
;	Routine: LNKXIT

;1142	JNG	16-Feb-79
;	Fix problems with multiple /SET:.HIGH.s introduced by edit 1132.
;	Routine: LNKWLD

;1143	JNG	16-Feb-79	QAR CKS
;	Make sure symbols never get into the LS area before a module name.
;	If they try (/NOINITIAL/SET), dummy up a module name from the symbol.
;	Routine: LNKLOD

;1144	DZN	16-Feb-79	SPR 20-12473
;	Clean up code to run the .EXE file so that PA1050 is not left in
;	memory on TOPS-20, and so that more of the final messages use .ERR.
;	instead of OUTSTRs.
;	Routines: LNKERR, LNKLOG, LNKLOW, LNKPAR, LNKWLD, LNKXIT

;1145	DZN	22-Feb-79
;	Load local symbols and store symbol table pointers on TOPS-20 if
;	/DEBUG:DDT and leaving program in memory. Broken by edit 1144.
;	Routines: LNKXIT, LNKWLD

;1146	DZN	8-Mar-79	SPR 10-26290
;	Change the 'Not enough core to load' message to 'Program too complex'.
;	Then cause more cases to force .EXE file generation (e.g., PSECTs above
;	high segment, gaps between PSECTS).
;	Routines: LNKPAR, LNKXIT, LNKERR

;1147	JNG	12-Mar-79
;	Avoid bad EXE file if lowest location loaded is above 400000, LINK
;	is overflowing to disk, and lowest location loaded was not the first
;	location loaded (i.e., load was not monotonic).
;	Routine: LNKXIT

;1150	DZN	14-Mar-79	SPR 10-27632
;	Make LOGINI in LNKINI.MAC use standard LKNFIO routines to set up the log
;	file, so that the default path of a log file is preserved over the
;	ENTER.
;	Routine: LNKINI

;1151	JNG	29-Mar-79
;	Add the new Job Data Area location .JBEDV to the initial symbols.
;	Routine: LNKINI

;1152	JNG	3-Apr-79
;	Get EXE file right when loading overlays.  Broken by 1132.
;	Routines: LNKOV1, LNKXIT

;1153	JNG	12-Apr-79	QAR JBD
;	Give LNKIPX message if a Define PSECT block (type 24) contains
;	an invalid PSECT index.
;	Routine: LNKOLD

;1154	JNG	12-Apr-79	QAR JBD
;	Re-write T.23 to fix the following problems:
;	. Don't re-define the PSECT indices in terms of the order of block 23s.
;	. Don't require a name of zero in the first block 23.
;	. Don't do a set PSECT (block type 22) action on block type 23.
;	. Expect PSECT index instead of name in first word (name still works).
;	Routine: LNKOLD

;1155	JNG	13-Apr-79	QAR JBD
;	Allow PSECT .HIGH. to be synonymous with TWOSEG.
;	Routines: LNKOLD, LNKWLD

;1156	JNG	13-Apr-79	QAR JBD
;	Relocate the breaks in block type 5 with respect to .LOW.
;	every time, even if the current PSECT is not .LOW..
;	Routine: LNKOLD

;1157	JNG	13-Apr-79	QAR DZN
;	Suppress the PSECT name global symbols to DDT typeout.
;	Routine: LNKWLD

;1160	JNG	14-Apr-79	QAR TW/JMF
;	Don't put junk in runtime undefined symbol table for symbols
;	that are used in Polish blocks.
;	Routine: LNKXIT

;1161	JNG	4-May-79	SPR 10-27727
;	Clean up Psect printout in map.
;	Routines: LNKSUB, LNKMAP.

;1162	JNG	4-May-79	SPR 20-12825
;	Set up DDT's symbol table pointers on /DEBUG/SAVE.  This edit is
;	an extract of edit 1144.
;	Routines: LNKXIT

;1163	JNG	8-May-79	QAR DC
;	Never mark .HIGH. as relocatable, since we default its origin.
;	This was broken by edit 1155.
;	Routine: LNKWLD

;1164	JNG	8-May-79	SPR 10-27598
;	Don't overwrite the first page of the FX area when writing a map
;	if the LS area is paging and the last piece of the area exactly
;	fits into the window.
;	Routine: LNKMAP

;1165	DZN	15-May-79	SPR 10-27925
;	Zero LSTSYM whenever a call to SY.RLS says a symbol requested for symbol
;	table fixup was not the last symbol loaded. This prevents  symbol  fixup
;	requests from finding a long-obsolete symbol in LSTSYM that just happens
;	to match.
;	Routine:LNKLOD

;1166	JNG	15-May-79
;	Don't allow PSECT indices in Polish blocks unless the first halfword
;	was the default PSECT index for the block.
;	Routine: LNKOLD.

;1167	JNG	17-May-79	QAR 10-3081
;	Don't allow symbols typed as switch arguments to begin with digits.
;	Routines: LNKSCN

;1170	JNG	23-May-79	SPR 10-27945, QAR 10-3070, 10-3087
;	Fix some memory management problems in LNKXIT when not writing an
;	EXE file.
;	Routine: LNKXIT

;1171	JNG	30-May-79	QAR 10-3049
;	Fix edit 1146 to say LNKPCL even on TOPS-10 if it doesn't like
;	the PSECT attributes.

;1172	JNG	5-Jun-79
;	Fix many memory management problems when writing a runtime symbol
;	table, especially when psects are involved.
;	Routines: LNKPAR, LNKINI, LNKOV1, LNKOV2, LNKWLD, LNKXIT

;1173	JNG	10-Jun-79
;	Update RC.HL on /COMMON.
;	Routine: LNKWLD

;1174	DZN	10-Jun-79	SPRs 20-12548, 20-12244, QAR 10-03199
;	Revamp all error messages.
;	. Label  all messages with E$$xxx:: or Ennxxx:: so messages can be found
;	  when debugging. E$$xxx should be  the  label  of  the  .ERR.  (or  its
;	  preceeding  PUSH  P,[channel])  that  defines  the  .ERxxx text block.
;	  Ennxxx should be the label of all other .ERR.s with the same  assigned
;	  mnemonic, with nn starting at 01.
;	. Include the module and file name in which an error was detected in all
;	  applicable messages.
;	. Make  .OERR.  synonamous  with OUTSTR for use in place of .ERR. when a
;	  message must be printed with an OUTSTR, so that all such messages  can
;	  be found easily.
;	. Make  the  list  of  messages  and  long text in LNKERR and the actual
;	  messages in LINK agree.
;	. Fix log device being a terminal other than the controlling one.
;	. Clean up the wording of all messages to be more consistent.
;	Routines: All

;1175	JNG	12-Jun-79
;	Fix /START and /UPTO with symbols as arguments.
;	Routines: LNKLOD, LNKWLD, LNKERR

;1176	JNG	12-Jun-79
;	Disallow /SYMSEG:PSECT:name with /OVERLAY.
;	Routine: LNKWLD

;1177	JNG	12-Jun-79
;	Make /VERSION in global context not lose local switches.
;	Routines: LNKPAR, LNKWLD

;1200	JNG	13-Jun-79
;	If loading reentrant FOROTS, search SYS:FORLIB/SEGMENT:LOW.
;	This is required for FOROTS version 6 and later.
;	Routine: LNKLOD

;1201	JNG	13-Jun-79
;	Disallow /SEGMENT:PSECT, which worked because it used the same
;	keyword table as /SYMSEG.
;	Routines: LNKPAR, LNKLOD, LNKOV1, LNKOV2, LNKWLD

;1202	JNG	14-Jun-79
;	Fix /VERSION after 1172, and make LINK assemble on TOPS-20
;	after edit 1174.
;	Routines: LNKPAR, LNKFIO, LNKLOG, LNKXIT.

;1203	JNG	14-Jun-79
;	Add support for Extended FORTRAN.
;	Routines: LNKPAR, LNKMAP, LNKLOD, LNKERR

;1204	JNG	14-Jun-79
;	Check for programs that extend beyond location 777777, and
;	issue the LNKPTL message.
;	Routines: LNKLOW, LNKOLD, LNKLOD, LNKERR

;1205	JNG/DZN	14-Jun-79	SPR 10-27954
;	Re-claim some wasted blocks in .OVL files.
;	Routine: LNKOV1

;1206	JNG	15-Jun-79
;	Fix a NO.COR in LNK999 that edit 1174 missed.
;	Routine: LNK999

;1207	JNG	29-Jun-79
;	Make the LNKCMX message continue loading, so the user can run
;	the program if he wants to.
;	Routine: LNKLOD

;1210	JNG	29-Jun-79
;	Allow 1-word block type 5's, so SAIL output will load.  Also
;	allow a program break of exactly 1,,0 (bypass the LNKPBI check).
;	Routine: LNKOLD

;1211	JNG	29-Jun-79	QAR 10-3303
;	Fix typo in LNKDRC message, avoid Illegal UUO.  Broken by 1174.
;	Routine: LNKWLD

;1212	DZN	4-Jul-79
;	Fix various typos and other loose ends in the aftermath of 1174.
;	Routines: LNKERR, LNKLOD, LNKLOG, LNKNEW, LNKXIT

;1213	JNG	5-Jul-79
;	Eliminate the ISD message; on multiple partial definitions, just
;	ignore them if their values agree, and give the MDS message if
;	they don't.
;	Routines: LNKPAR, LNKOLD, LNKLOD, LNKERR

;1214	DZN	9-Jul-79	QAR 10-03315
;	Fix mismatched angle brackets so PIP's /V switch doesn't complain.
;	Comments should not contain angle brackets unless they actually
;	terminate conditionals, repeats, etc.
;	Routines: LNKHST, LNKCOR, LNKOV1, LNKXIT

;1215	JNG	23-Jul-79	QAR R.ACE
;	Use RC.HL for .ABS. and .LOW. for LOWLOC update at CHKLLC, since
;	RC.CV may not be correct.  In particular, RC.CV for .ABS. is always
;	zero.
;	Routine: LNKLOD

;1216	JNG	23-Jul-79	QAR CKS
;	Preserve P1/P2 in SYMOUT, avoid illegal memory reference if
;	undefined symbols exist.
;	Routine: LNKXIT

;1217	DZN	25-Jul-79
;	Clean up the listings for release. Update all copyright notices.
;	Remove all editing lines. Break pages in good places.
;	Routines: All

;1220	DZN	24-Aug-79
;	Release on both TOPS-10 and TOPS-20 as version 4A(1220).
;	Routines: All

;START OF VERSION 5

;1221	DZN	1-Oct-79
;	Allow monitor commands to include LINK commands, in the form
;	.R LINK (commands) or @LINK commands.
;	Routine: LNKSCN

;1222	DZN	1-Oct-79
;	Allow the full Radix-50 character set in the argument of the
;	/NOREQUESTS: switch.
;	Routine: LNKPAR

;1223	DZN	2-Oct-79
;	Make the argument to /SEVERITY: be decimal instead of octal. This is
;	more consistent with the other message controlling switches, and the
;	LINK manual.
;	Routine: LNKPAR

;1224	DZN	19-Oct-79	QAR 10-03507
;	Check the format of polish blocks more carefully, complaining about
;	invalid formats. Add the LNKNSO, LNKISM, LNKNAP and LNKJPB messages, and
;	remove the LNKISO message. LNKJPB is a warning so that FAIL programs
;	will load.
;	Routines: LNKOLD, LNKERR

;1225	DZN	25-Oct-79	SPR 20-13384
;	Force /UPTO: just below the high segment origin of the runtime OTS
;	(unless user has specified /UPTO:). This keeps the symbol table (if
;	one is loaded) from growing into the area of memory that the OTS will
;	try to go. The program will still not be runnable but the user will get
;	the correct message. Make the OTS origins compiler-specific instead of
;	hard-wired 400000.
;	Routine: LNKLOD

;1226	DZN	12-Nov-79	SPR 20-13384
;	Default /SEGMENT:LOW in all non-root overlay links. This keeps users
;	from having to type it all the time, especially if /OTS:NONSHAR was
;	specified (/OTS:NONSHAR defaults to /SEGMENT:DEFAULT for Fortran
;	programs, frequently causing high segment code in non-root links).
;	Routines: LNKOV1, LNKLOD

;1227	DZN	8-Jan-80
;	Allow multiple COBOL-74 modules to be loaded without receiving an
;	erroneous LNKCMC message. Broken by edit 1174.
;	Routine: LNKLOD

;1230	DZN	24-Jan-80	SPRs 10-28964, 10-28965
;	Rewrite DVSUP. to handle the complete problem of initializing an
;	overflow file in the same area (structure and path) as its associated
;	output file. Then make the area overflow routines use DVSUP. properly.
;	This solves the problem of overflow and output files ending up on the
;	wrong (and potentially non-existent) area.
;	Routines: LNKFIO, LNKCOR, LNKOV1, LNKLOD, LNKPAR, LNKWLD

;1231	DZN	28-Jan-80	SPR 10-29122
;	Make sure the high segment is properly accounted for if only
;	/SET:.HIGH.:n is seen, so that .JBHRL is properly set up.
;	Routine: LNKOLD

;1232	DZN	29-Feb-80	SPR 10-29203
;	See that overlay links do not lose their start addresses when symbolic.
;	Broken by edit 1175.
;	Routines: LNKLOD, LNKOV1

;1233	PY	29-Feb-80	SPR 10-29290
;	See that RC.CV is not reset to RC.HL after a module if /SET:
;	sets the relocation counter down.
;	Routine: LNKOLD

;1234	PY	5-Mar-80
;	If there are multiple overlapped PSECTs, one PSECT name will be
;	printed as garbage in some LNKPOV messages.
;	Routine: LNKLOD

;1235	MFB	5-Mar-80
;	Clear LOGSUB to avoid possible IO TO UNASSIGNED CHANNEL when
;	the log file has already been closed.
;	Routine: LNKXIT

;1236	PY	6-Mar-80
;	Teach LINK about KS10 CPUs.
;	Routine: LNKPAR

;1237	PY	7-Mar-80
;	Make LNKCCD Message 'Fatal but continues', instead of 'Fatal'
;	Routine: LNKOLD

;1240	PY	13-Mar-80
;	Fix the /CPU switch, broken since KL CPU was added. Make it
;	accept multiple CPUs, and add error LNKCPU. Make switch
;	available on TOPS-20.
;	Routines: LNKPAR, LNKOLD, LNKWLD, LNKERR

;1241	PY	21-Mar-80
;	Make the /SET switch give the LNKZSV error if given with no
;	arguments, instead of the fatal LNKISN error.
;	Routine: LNKWLD

;1242	PY	3-Apr-80
;	Test for High Seg above 700000 on TOPS-20, and make LINK
;	generate an EXE file if it is. This prevents LINK from
;	trying to make PA1050 overwrite itself during the REMAP.
;	Routines: LNKPAR, LNKXIT

;1243	MFB	9-Apr-80	SPR 10-29396
;	Make LINK handle left half fixups to a global symbol
;	correctly (this case is confused with a global suppressed
;	symbol).  No longer generates an LNKISP message when trying 
;	to resolve the fixup.
;	Routines: LNKPAR, LNKOLD

;1244	PY	16-Apr-80
;	Remove PA1050 from memory if user program is going to be run but
;	is not in a .EXE file. Simulate the CORE UUO in the accumulators
;	with a PMAP% JSYS, and PMAP PA1050 away in the phased code.
;	Remove edit 644, which should not be in phased code.
;	Routines: LNKPAR, LNKXIT

;1245	PY	23-Apr-80
;	Fix Typo in edit 1224
;	Routine: LNKOLD

;1246	PY	25-Apr-80
;	Prevent a default high segment being generated if a /SYMSEG:HIGH
;	appears before any high segment code. Programs which have high
;	segments at other than 400000 will then load correctly.
;	Routines: LNKLOD, LNKWLD

;1247	PY	25-Apr-80
;	Print LNKOSL message if /SYMSEG:HIGH or /SYMSEG:PSECT:
;	appear before the /OVERLAY switch.
;	Note: This edit requires edit 1246.
;	Routine: LNKOV1

;1250	PY	28-Apr-80	SPR 20-14184
;	Clear the date and time bits in the extended lookup/enter
;	blocks in DVUPD. this keeps PA1050 from using the bits
;	to set the time last written. (TOPS-20 only)
;	Routine: LNKFIO

;1251	PY	29-Apr-80
;	Fix test in PG.SU so LINK will not attempt to expand windows
;	beyond available memory.
;	Routine LNKLOD

;1252	PY	5-May-80
;	Remove edit 1221 on TOPS-20. Rescan will not work because of
;	a SCAN restriction.

;1253	PY	14-May-80
;	Remove edit 1233, which breaks COBOL programs.
;	Routine: LNKOLD

;1254	PY	21-May-80
;	Update X macro in MAKLIB macro to use arguments C and D
;	Since PROCESSORS macro now expects them.

;1255	PY	23-May-80
;	Make /SET: and rel block type 24 work when the PSECT name has
;	been forward referenced as a global symbol.

;1256	PY	28-May-80
;	Add code to put processor type in P4 before QREENT is called in
;	overlayed programs. Eliminates wrong decisions, possible
;	ILL-MEM-REFs.

;1257	PY	3-Jun-80
;	If a program is overlaid, reset RC.HL for .ABS. to the highest
;	absolute location in the root node. This solves problems when
;	writing .EXE files.
;	Routines: LNKLOW, LNKOV1, LNKXIT

;1260	PY	5-Jun-80
;	/SYMSEG with no argument (a non-preferred usage) should default
;	to /SYMSEG:LOW, but defaults to /SYMSEG:HIGH after edit 1201
;	Routines: LNKPAR

;1261	PY	5-Jun-80
;	If LINK determines that a program is too complex and needs an
;	EXE file, many errors can occur, including bad a JOBDAT area,
;	or an OPEN error on the EXE file.
;	Routine: LNKXIT

;1262	PY	13-Jun-80
;	Make LNKCMX print once only.
;	Routines: LNKLOD, LNKLOW

;1263	PY	30-Jun-80
;	Make expressions of the form: ABC=:XYZ## work when
;	loaded in an overlay.
;	Routine: LNKOV1
	
;1264	PY	09-Jul-80
;	Fix LINK so that /PLOT will not cause %LNKDLT error, or
;	other problems. Broken by edit 1144
;	Routines: LNKLOW, LNKPAR, LNKPLT, PLTGBL

;1265	PY	09-Aug-80
;	Make ALGDDT work with overlays by putting the .SYM file
;	name in the first OWN block of an overlaid program.
;	Routines: LNKLOD, LNKOV1

;1266	PY	31-Aug-80
;	Correct code so LINK won't loop infinitely when an overlay
;	has a local symbol table so long LINK must read it in pieces.
;	Routine: LNKOV1

;1267	PY	31-Aug-80
;	Teach LINK about /DEBUG:ALGOL and about ALGDDT.
;	Routines: LNKPAR, LNKWLD, LNKXIT

;1270	PY	4-Sep-80
;	Put in a request for the start address if it is a symbol so
;	it will be loaded if the module is loaded in /SEARCH mode.
;	Routine: LNKWLD

;1271	PY	7-Oct-80
;	Make FORLIB load into the low segment by default if the main
;	program is not a FORTRAN program.
;	Routine: LNKLOD

;1272	PY	30-Oct-80
;	Fix bug in Edit 1244 which causes the PMAP% which is supposed
;	to remove PA1050 to fail if the users program ends on the end
;	of a page.
;	Routine: LNKXIT

;1273	PY	2-Dec-80	SPR 20-14571, 10-30269
;	Cause RC.HL in .HIGH. and .LOW. to refer to the highest
;	addresses loaded in the current module, rather than the
;	highest addresses loaded in the segment. Keep the highest
;	location loaded in HP.S1 and HP.S2. Then at LNKXIT
;	time, set RC.HL to be the highest address in the segment
;	to be consistent for the .EXE file writer. This causes
;	the current high and low segment values to be the highest
;	in the module, rather than the highest in the segment,
;	allowing users to /SET the LOW or HIGH segments down
;	without disturbing REL files which count on the T.5LS
;	and T.5THS adjustments. This edit supercedes edits
;	1233 and 1253.
;	Routines: LNKOLD, LNKLOW, LNKXIT

;1274	PY	SPR 10-30464
;	Add code to expand the Polish stack if it is not
;	large enough for a given Polish expression.
;	Routines: LNKLOW, LNKOLD

;1275	PY	SPR 10-30508
;	Fix core management bug which occurs if an area has
;	overflowed to disk, has no pages in memory, and is
;	being expanded on a VM system. This happens to the
;	Algol symbols area if it has overflowed, causing
;	the first AS area page to be swapped with the first
;	LS area page, producing %LNKSFU errors.
;	Routine: LNKCOR

;1276	PY	SPR 10-30571
;	If a .REL file is being loaded /SEARCH and /SEG:HIGH,
;	Don't set up the RC.TB tables for a second high segment
;	in T.6 until sure the module will be loaded.
;	Routine: LNKOLD

;1277	PY	SPR 20-15585
;	If a /LINK switch is seen ending an overlay link, and
;	no /NODE switch is seen before the next module is loaded
;	print a fatal "LNKNSM /NODE switch missing" error.

;1300	PY	27-Feb-81
;	Implement the /LIMIT switch, as /LIMIT:NAME:ADDRESS
;	where NAME is a psect name and ADDRESS is the upper
;	bound of the psect, i.e. the first address where it
;	is not legal to load the psect. If a psect  exceeds
;	it's bounds,  inhibit  chained  fixups so that LINK
;	will not hang if psects overlap unexpectedly.
;	Routines: LNKPAR,LNKERR,LNKINI,LNKLOD,LNKLOW,LNKOLD
;		  LNKWLD,LNKXIT
;1301	PY	12-Mar-81	SPR 10-30667
;	Make the /VERBOSITY switch use the same flags as the
;	/MESSAGE switch in SCAN. Add code to handle the case
;	of /MESSAGE:NOPREFIX. Also change some messages at
;	exit time to look at the verbosity bits.
;	Routines: LNKPAR,LNKERR,LNKINI,LNKLOG,LNKLOW,LNKPAR
;		  LNKSCN,LNKWLD,LNKXIT

;1302	PY	12-Mar-81
;	Fix problem with edit 1273 which makes LINK hang if
;	no files are loaded.
;	Routine: LNKXIT

;1303	PY	17-Mar-81
;	Change the LNKLMN message to include the file name.
;	Routines: LNKOLD, LNKNEW

;1304	PY	20-Mar-81
;	Make TWOSEG work with Psects.
;	Routines: LNKINI, LNKLOW, LNKOLD, LNKWLD

;1305	PY	20-Mar-81
;	Fix problem with edit 1273 which could cause low seg
;	code not to be written to .EXE file if low seg overflows
;	to disk.
;	Routines: LNKLOD, LNKXIT

;1306	PY	30-Mar-81
;	Output LNKMPT error if psects and twoseg code mixed in
;	the same module. 
;	Routines: LNKLOW, LNKOLD, LNKERR

;1307	PY	13-Apr-81
;	Implement the /SUPPRESS switch. /SUPPRESS:SYMBOL will
;	cause that symbol to be undefined even if it has been
;	previously defined.
;	Routine: LNKWLD

;1310	PY	13-Apr-81
;	Make the LNKOFS message use the long error text.
;	Routine: LNKOV1

;1311	PY	13-Apr-81
;	Fix bug in edit 1301.

;1312	PY	21-Apr-81
;	Load a nonsharable OTS, default segment, if user
;	specified /SYMSEG:HIGH
;	Routine: LNKLOD

;1313	PY	4-May-81
;	Fix edit 730 so that LINK will not lose the /LINK
;	switch or produce a fatal error message if the
;	/DEBUG switch is not local to the same file as
;	the /LINK switch or if the /LINK switch is global.
;	Routine: LNKWLD

;1314	PY	9-Jun-81
;	If a program has more than 400 contiguous non-zero pages, and
;	LINK has enough memory to keep more than 400 pages in core, it
;	will not write these pages into the EXE file because the dump
;	mode IOWD in the EXE file writer will go positive.
;	Routine: LNKXIT

;1315	PY	17-Jun-81
;	Fix the MAKLIB macro to use bits for language types so that
;	FORTRAN and Extended FORTRAN will work properly.
;	Routines: LNKINI, LNKLOD

;1316	PY	1-Jul-81
;	With Edit 1305 installed, TWOSEG root nodes of overlaid
;	programs will not be written to the .EXE file correctly.
;	Routine: LNKOV2

;1317	PY	14-Jul-81
;	Fix calculation of .JBCOR which will be off by one page if
;	the program low segment ends on a page boundary.
;	Routine: LNKXIT

;1320	PY	14-Jul-81
;	Fix code at T3HOLD to know about new rel blocks and
;	about ASCII text blocks. This allows compilers to
;	generate code with new rel blocks or ASCII text blocks
;	and to have it loaded /SEG:LOW even if they do not
;	produce a high segment break in the type 3 block.
;	Routine: LNKLOD

;1321	PY	20-Aug-81
;	Make SIMDDT work like ALGDDT. This means not loading
;	a SIMDDT.REL, and starting the program at the re-enter
;	address if a /DEBUG:SIMULA or /DEBUG:SIMDDT switch
;	is seen. This edit requires edit 1267.
;	Routines: LNKWLD, LNKXIT

;1322	PY	8-Sep-81
;	Remove a HALT from LNKMAP, which occurs if a PSECT
;	description crosses the end of a window and the LS area
;	has overflowed. Handle this case by moving the window.
;	Routine: LNKMAP

;1323	PY	13-Nov-81
;	Fix a bug with edit 1244 which may cause pages to be
;	lost when loading a large program with a low high segment
;	origin and not requesting a .EXE file.
;	Routine: LNKXIT
	
;1324	PY	15-Nov-81
;	Make /USERLIB also use bits for the compiler type.
;	Routine: LNKWLD

;1325	PY	19-Nov-81
;	If an undefined symbol has secondary right half chained
;	fixups, output them for DDT.
;	Routine: LNKXIT

;1326	PY	26-Jan-82
;	Use the new COMPT. UUO which will remove PA1050 without
;	affecting the users vestigial JOBDAT area. This fixes
;	problems with TOPS-20 CCOC words. (TOPS-20 ONLY)
;	Routines: LNKPAR, LNKXIT

;1327	PY	3-Feb-82
;	Fix a case of left half additive fixup missed by edit
;	1243. This case occurs if the defining global is loaded
;	before the left half request.

;1330	PY	10-Feb-81
;	Add the following to the legal Radix-50 codes for the Type 2
;	block:
;
;	30	Global left half deferred symbol definition
;	34	Global both halves deferred symbol definition
;	70	Global left half deferred DDT suppressed symbol definition
;	74	Global both halves deferred DDT suppressed symbol definition
;
;	These are intended to replace the 44 and 64 codes for these
;	functions. The 44 and 64 blocks will mean:
;
;	44	Global DDT suppressed definition, not deferred
;	64	Global right half deferred DDT suppressed symbol definition
;
;	This will solve problems with the 44 and 64 functions which have
;	never completely worked, and allow compilers to specifiy whether
;	left half global definitions should be DDT suppressed or not.
;	Routine: LNKOLD

;	1331	PY	SPR 20-17252
;	Certain messages such as LNKELN may print an extra CRLF on the
;	terminal before the right bracket. Fix this so the extra CRLF
;	only goes to the log file.

;1331-1400 Maintenance edits to LINK V4A.

;1400	DZN	2-Mar-80
;	Implement writable overlays for Fortran SAVE statement.
;	. Use OVRPAR.MAC for overlay file definitions.
;	. Add DI.WPT, DI.FLG to overlay file directory, CS.OVL to control
;	  section.
;	. Add writable link table to the overlay file.

;1401	PAH
;	Performance enhancements to overflow and .EXE file handling.
;	Routines: LNKPAR,LNKLOW,LNKOLD,LNKLOD,LNKCOR,LNKXIT

;1402	PAH
;	Performance enhancements to .REL file handling.
;	Routines: LNKOLD,LNKLOD,LNKLOW

;1403	PAH
;	Streamline the initialization code on Tops-20.
;	Routine: LNKINI

;1404	PAH
;	New .REL block types T.1120-T.1137 for load-time arg type checking.
;	Routines: LNKNEW,LNKLOD

;1405	PAH
;	New .REL block types T.1010-T.1034.
;	Routine: LNKNEW

;1406	PAH
;	Remember to get and store the .REL file's creation time and date for
;	/MAP. Broken in edit 1402.
;	Routine: LNKFIO

;1407	PAH	23-Dec-80
;	Fix the opening of overlay files, broken in edit 1401.  Also fix
;	PPNs in command lines, broken in the same edit.
;	Routine: LNKFIO

;1410	PAH	23-Dec-80
;	Clear T3 before the GETJI in LNKINI added in edit 1403.
;	Routine: LNKINI

;1411	PAH	12-Jan-81
;	Add AT.NC and AT.NC PSECT attributes for extended addressing.
;	Routine: LNKPAR

;1412	PAH	20-Jan-81
;	Make file overflow routines use nonzero sections if the user's
;	program is being loaded into nonzero sections.
;	Routine: LNKCOR,LNKOLD,LNKNEW

;1413	PAH	26-Jan-81
;	Add code in LNKMAP to handle native overflow files properly.
;	Routine: LNKMAP


;1415	PAH	2-Feb-81
;	Write ALGOL .SYM files on channel TC, not channel DC.
;	Routine: LNKXIT

;1416	PAH	16-Mar-81
;	Put an ERJMP after the GTFDB in DVLKP. so asking for files
;	on NUL: doesn't cause an illegal instruction trap.
;	Routine: LNKFIO

;1417	PAH	14-Apr-81
;	For TOPS-20, skip T.14 block correctly instead of clearing
;	buffer.
;	Routine: LNKOLD

;1420	PAH	27-Apr-81
;	Save the address in T2 accross a call to the E$$FTH error.
;	Routine: LNKLOD

;1421	PAH	4-May-81
;	Display the creation date for the .REL file correctly in
;	maps -- broken when nativizing .REL file input.
;	Routine: LNKOLD

;1422	PAH	5-May-81
;	Add PASCAL to the list of supported libraries.
;	Routines: LNKPAR

;1423	PAH	5-May-81
;	Implement Program Data Vectors.
;	Routines: LNKPAR,LNKLOW,LNKWLD,LNKOLD,LNKXIT,LNKNEW

;1424	PAH	10-May-81
;	Implement /MAXNODE.
;	Routines: LNKPAR,LNKWLD,LNKOV1

;1425	PAH	10-Jun-81
;	Extended addressing support code under FTFRK2 feature test.
;	Routines: LNKOLD,LNKXIT,LNKCOR,LNKINI,LNKWLD

;1426	PAH	4-Aug-81
;	Order the routines in LNKNEW correctly and delete duplicate T.1042-
;	T.1044 introduced during a merge.

;1427	PAH	5-Aug-81
;	Put an ERJMP after the PDVOP% JSYS to remove LINK's own PDV to
;	avoid ?Illegal instruction... on pre-Release 5 TOPS-20 systems.
;	Routines: LNKXIT

;1430   PAH	5-Aug-81
;	Remove .NWBLK conditional code forcing an error from type 1060
;	MAKLIB trace blocks.
;	Routines: LNKNEW

;1431	PAH	2-Oct-81
;	Correct typo in comparisons at PDV2:, preventing correct handling
;	of /PVDATA:PROGRAM, /PVDATA:CBLOCK and /PVDATA:START.
;	Routines: LNKWLD

;1432	PAH	2-Oct-81
;	Make ?LNKNSM /NODE SWITCH MISSING AFTER /LINK a warning, not an
;	error -- some programs that loaded perfectly well before are
; 	prevented from doing so by making this an error.
;	Routines: LNKERR, LNKLOD

;1433	DMN	2-Oct-81
;	Distinguish COBOL-68,COBOL-74 and new COBOL for possible future
;	COBOL release.
;	Routines: LNKLOD,LNKERR,LNKPAR

;1434	DMN	2-Oct-81
;	New Blocktype 1004 for byte pointer initialization.
;	Routines: LNKLOW,LNKLOD,LNKNEW,LNKERR

;1435	DMN	2-Oct-81
;	PASCAL library search and debugger support.
;	Routines: LNKPAR,LNKLOD,LNKLOW,LNKERR,LNKWLD

;1436	PAH	2-Oct-81
;	Use the connected directory, not the logged-in directory,
;	in the MYPPN global under TOPS-20. Fixes ALGOL symbol file
;	lookup, which was broken by edit 1407.
;	Routines: LNKINI

;1437	PAH	7-Oct-81
;	Defer detroying the LC overflow file under TOPS-20 until the
;	last possible moment.
;	Routines: LNKXIT

;1440	PAH	12-Oct-81
;	Apply edits 1120,1237 and 1240 to blocks in LNKNEW.
;	Routines: LNKNEW

;1441	PAH	14-Oct-81
;	Now that LNKNSM is a nonfatal error be sure it returns properly.
;	Routines: LNKLOD

;1442	PAH	19-Oct-81
;	Prevent the attempt to write out section-zero pages on the first
;	call to LC.OUT when a nonzero-section program is being loaded.
;	Also enforce some restrictions on nonzero-section programs.
;	Routines: LNKCOR,LNKWLD,LNKLOW,LNKOLD,LNKLOD


;1443	PAH	28-Oct-81
;	Make sure LINK-10 doesn't have the program data vector .REL
;	block code.
;	Routines: LNKNEW

;1444	PAH	29-Oct-81
;	Make sure all new n-bit relocation blocks coexist with .HIGH.
;	and .LOW. correctly.
;	Routines: LNKNEW

;1445	PAH/DMN	3-Nov-81
;	Correct typo in POINT pseudo-op under T.1004 block support.

;1446	PAH 	16-Nov-81
;	Fix bad dates in MAP files on the -20.

;1447	PAH	30-Nov-81
;	Move /MAXCODE code into LNKWLD so the -10 multiseg LINK
;	builds again.

;1450	PAH	30-Nov-81
;	Define PRGFRK symbol for fork handle, build nonzero sections
;	in own fork.

;1451	PAH	8-Dec-81
;	When searching PASLIB force load to low segment as default.


;1452	PAH	10-Dec-81
;	Lengthen LITYPE dispatch table to include all the new blocks.
;	Also handle TWOSEG programs correctly if the highseg is
;	considered to have psect index 2 in the new blocks.

;1453	PAH	17-Dec-81
;	Fix calculation of data block length in T.11XX.

;1454	PAH	21-Dec-81
;	Calculate default SYMLIM correctly.

;1455	PAH	21-Dec-81
;	Fix infinite loop in TTLLUP in LNKXIT.
;	Modules: LNKXIT

;1456	PAH	8-Jan-82
;	Change to T.112X and T.113X block definition: only one
;	relocation block word, since only three data words are
;	relocatable.
;	Modules: LNKNEW

;1457	PAH	15-Feb-82
;	Renamed to Edit 1470.	
;

;1460	PAH	16-Jan-82
;	Turn off UUO simulation for programs in nonzero sections to avoid
;	troubles with START and DDT EXEC commands and prevent any JOBDAT
;	initialization.
;	Modules: LNKXIT

;1461	PAH	19-Feb-82
;	Don't do an OPENF on the .EXE file JFN if an SSAVE JSYS is going
;	to use it.
;	Modules: LNKFIO

;1462	PAH	22-Feb-82
;	Add JOVIAL to list of known processors.
;	Modules: LNKPAR

;1463	PAH	24-Feb-82
;	Restructure reading of the FXSPTR section-specific fixup data.
;	Also don't lose the section number in doing Type 11 polish stores.
;	Modules: LNKLOD, LNKOLD

;1464	PAH	25-Feb-82
;	Get the right window for the PDV when putting one in a non-zero
;	section.
;	Modules: LNKXIT

;1465	PAH	22-Mar-82
;	Change "Extended Fortran" to "G-Floating Fortran" in .MAP
;	file output.
;	Modules: LNKPAR

;1466	PAH	24-Mar-82
;	Don't lose section numbers in inter-psect references.
;	Modules: LNKOLD

; Start of Version 5A

;1467	PAH	22-Feb-82
;	Correct typo at T1004C -- change D.IN1 call to D.CNT.
;	Make D.CNT global.
;	Modules: LNKNEW,LNKLOD

;1470	PAH	15-Feb-82
;	Prevent the address calculation in T.1S6 from turning on
;	index register bits of a byte pointer if the address overflows.
;	Also correct some stack discipline troubles in T.1004 block
;	processing.
;	Modules: LNKNEW

;1471	PAH	24-Mar-82
;	Remove use of PB.1 and T.11XX code from 1130 block support.
;	Also restructure use of T.11XX coroutine for typechecking blocks,
;	which have only one relocation word.
;	Modules: LNKNEW

;1472	PAH	2-Apr-82
;	Don't truncate the last character of a six-character function
;	name, and don't lose the char count.
;	Modules: LNKNEW,LNKPAR

;1473	PAH	14-May-82
;	Make sure IFE/IFN FTFRK2 angle bracking is done to exclude
;	extended addressing-related code on -10s and Model A -20s.
;	Modules: LNKOLD

;1474	PAH	9-Apr-82
;	Count 2ndary argument descriptors properly when processing
;	arg lists in ARGSCN.
;	Modules: LNKLOD

;1475	PAH	9-Apr-82
;	Don't mark unknown subroutine or function names as global
;	requests when storing the 2ndary symbol triplets for argchecking.
;	Modules: LNKLOD

;1477	PAH	16-Apr-82
;	Bugfixes for special character fixup handling in typechecking code.
;	Rewrite SY.TY2 to pick up the right descriptors, also save R in
;	TMATCH.
;	Modules: LNKLOD


;1500-1677  Maintenance-related Edits
;

;1500	PAH	12-May-82
;	Compute correct .REL file length if file size is given in
;	less than 36-bit bytes.
;	Modules: LNKFIO

;1501	PAH	14-May-82
;	Don't lose section number for PSECT relocation in T.11EV.
;	Modules: LNKOLD

;1502	AHM	17-May-82
;	Suppress typeout of garbage symbol names in the %LNKFTH
;	message.
;	Modules: LNKOLD

;1503	AHM	17-May-82
;	Do thirty-bit relocation, not eighteen-bit relocation,
;	on start addresses in type 1010-1034 blocks.
;	Modules: LNKNEW

;1504	PAH	18-May-82
;	Fix typo at T.2+2 in LNKOLD that ruins 30-bit relocation of
;	symbols.
;	Modules: LNKOLD

;1505	AHM	18-May-82
;	Set correct upper bound for psects that can cross section
;	boundaries -- currently off by one.
;	Modules: LNKWLD

;1506	HD	27-May-82
;	Conditionalize UUOs and add JSYS calls where needed for handling
;	the LS overflow and EXE files when building an overlay program.
;	Modules: LNKXIT,LNKOV1

;1507	PAH	2-Jun-82
;	Correct typo under TOPS20 conditional in DVCLS.
;	Modules: LNKFIO

;1510	HD/PY	7-Jun-82
;	Test for include mode as well as library mode at LNKNEW+4.
;	Modules: LNKNEW

;1511	HD	7-Jun-82
;	Don't destroy T1 unnecessarily.
;	Modules: LNKFIO

;1512	AHM	16-Jun-82
;	Prevent MACRO programs with concatenated PSECTs from overlaying
;	if the last selected default PSECT before the end of module is 0.
;	Module: LNKOLD

;1513	HD	23-Jun-82
;	Don't destroy T1 at DVDLF. either.
;	Modules: LNKFIO

;1514	HD	1-Jul-82
;	On the -20, don't BLT out mapped pages when shrinking area LC --
;	unmap them.
;	Modules: LNKOV1

;1515	PAH	26-Jul-82
;	Bracket out .NWBLK code in LNKMAP at TTLSRC until the problem with
;	typeout of symbols for empty modules can be identified and fixed.
;	Module: LNKMAP

;1516	PAH	27-Jul-82
;	Fix bad test at CHKRS0+3.
;	Module: LNKXIT

;1517	PAH	27-Jul-82
;	Yank edit 1512, has bad side-effects.
;	Module: LNKOLD

;1520	PY	29-JUL-82
;	Remove IFE TOPS20 Conditional around call to GBCK.L at LSREDU+17
;	to prevent certain large program form looping. This edit will be
;	installed as a maintenance edit at a later date and given a 
;	maintenance edit number.
;	Module: LNKCOR

;1521	HD	12-Aug-82
;	Get all of overlay links symbol table in .EXE file.
;	Module: LNKXIT

;1522	PAH	16-Aug-82
;	Change JBGCM/JBGCMV to PMAP segments into place, instead of doing
;	BLTs, on the -20.  Cures missing pages when loading large programs.
;	Module: LNKXIT

;1523	PAH	25-Aug-82
;	Remove code that sets PASDT% to zero before PASLIB search.
;	Module: LNKLOD

;1524	PAH	25-Aug-82
;	Be sure PASDDT gets an entry in STLOCN specifying STADDR as the
;	start address for PASCAL programs being debugged.
;	Module: LNKXIT

;1525	PY	10-Sep-82
;	Adjust TAB.PT when overflowing LC or HC to disk. Solves problems
;	if these areas overflow while symbols are being written.
;	Module: LNKCOR

;1526	PY	28-Sep-82
;	Rewrite the TOPS-20 feature test files. Add edit history,
;	remove debug switch from production version, add extended
;	addressing and new rel block switches to debug version, and
;	remove overlay feature test since it's the default.
;	Modules: LNKT20, LNKD20

;1527	PAH	9-Sept-82	FORTRAN ALPHA TEST QAR #20-03010
;	Save IO.CHN over the call to DY.GET in DVVRG2 so testing to see if
;	the file being opened is an .EXE by checking IO.CHN still works.
;	If paging begins during the DY.GET call, IO.CHN may get smashed and
;	the bad channel number causes an ?I-O to Unassigned Channel error.
;	Module: LNKFIO

;1530	PAH	15-Sept-82	FORTRAN ALPHA TEST QAR #20-0301?
;	Use stack temporary space rather than asking for DY area space
;	when constructing file names to avoid running out of storage when
;	opening overflow files ( causing pushdown stack overflow.
;	Module: LNKFIO

;1531	HD	7-Oct-82	FORTRAN ALPHA TEST QAR #20-03028
;	Check to see if the address being written to the .EXE file
;	is before the current window and if so unmap the current 
;	window and map in the previous window. ** maintenance edit 1527 **
;	Modules: LNKXIT

;1532	PAH/HD	20-Oct-82	LINK 5.1 FIELD TEST QAR #10-04002
;	When shrinking a window remap the upper half of the window, not
;	the lower half.  Since this increases the odds of having written
;	the JOBDAT into the .TMP overflow file but having some other part
;	of the program mapped by the time the .EXE file writer is invoked,
;	be sure to test JOBPTR, not LW.S1, when deciding whether to write
;	the JOBDAT at XCMPRS.
;	Modules: LNKXIT,LNKCOR


;1533	PY	22-Oct-82
;	Call LS.OUT to unmap LS pages when bringing in a new window
;	in LNKMAP. Also remove code which BLTs the unused part of
;	the window to zero. This prevents zeroing part of the LS
;	overflow file. (TOPS-20 only).
;	Module:	LNKMAP

;1534	PAH	11-Nov-82
;	Save and refix TAB.PT(R) over the call to LNKCOR in SYMOU2. It
;	is not updated correctly in LNKCOR if the area overflows and
;	low free core makes it necessary to shrink the window. Edit 1525
;	cured most but not all of these cases.
;	Module: LNKXIT

;1535	PAH	10-Dec-82
;	Complete the missing bits to implement the ERROR keyword to
;	the /MAP switch: put a test in LNKLOG before giving up on
;	fatal errors and fix LNKMAP so it doesn't simply EXIT when
;	MAPSW=$MAPERR
;	Modules: LNKMAP,LNKLOG

;1536	PAH	21-Dec-82
;	Have LINK-20 handle multi-section LS areas correctly, doing
;	30-bit arithmetic and comparisons when writing and reading
;	.TMP files.
;	Modules: LNKCOR, LNKXIT, LNKOLD.

;1537	PAH	21-Dec-82
;	Correct typo in edit 1506.
;	Cures ?Illegal instruction on PMAPs.
;	Modules: LNKOV1.

;1540	PY	22-Dec-82
;	Another case of zeroing the LS overflow file when
;	generating a map.
;	Routine: LNKMAP

;1541	PY	28-Dec-82
;	Fix some overlay related problems. Unmap and close
;	overflow files when deleting them. Handle more than
;	400000 octal words of symbols in an overlay better.
;	Routines: LNKFIO, LNKMAP, LNKOV1

;1542	PAH	25-Jan-83
;	Don't add NONZER into a 30-bit address.
;	Module: LNKCOR

;1543	PAH	25-Jan-83
;	LS.IN and LS.OUT should not use EXTFLG, it causes
;	?LNKMEF and attempts to create section 0 when programs
;	are loaded into nonzero sections and the LS area overflows.
;	Module: LNKCOR

;1544	HD	28-Jan-83
;	When sending overlay plots to LPT: correct calculations for 
;	end of a buffer. Change SETZ DIGITS to SETZM DIGITS
;	at DECPLT 
;	Module: PLTIO

;1545	PY	1-Feb-83
;	Add couple missing continuation bits to errors which reference
;	.ETIMF so the module name will be typed out on those errors.
;	Routine: LNKLOD

;1546	HD	3-Feb-83
;	Change the macro for user defined libraries at SETUSE+17 so that 
;	it use a compiler type bit and not a compiler type code.
;	Routine: LNKINI

;1547	PAH	14-Mar-83	SPR #20-18906
;	Replaces edit 1500.  Fixes two cases edit 1500 did not handle
;	right: zero bytesize and bytesizes that don't divide into
;	36 neatly.


;1700	PAH	17-May-82
;	Move FOROTS origin to 500000 for FORTRAN V6 and beyond.
;	Modules: LNKPAR

;1701	PAH	19-May-82
;	Correct typo introduced during merge of V5A sources in T.1130.
;	Modules: LNKNEW

;1702	HD	19-May-82
;	Don't put a triplet with a spurious value into the LS area
;	when a previously-unknown symbol is seen in association with
;	a typechecking block.
;	Modules: LNKLOD

;1703	PAH	27-May-82
;	Deallocate unneeded typechecking triplets.  Also permit searching
;	bound globals for overlaid programs doing typechecking.
;	Modules: LNKLOD

;1704	PAH	2-Jun-82
;	Add code to handle type 1045 blocks and to write the writable
;	overlay table in the .OVL file.
;	Modules: LNKOV1,LNKOV2,LNKNEW,LNKLOW

;1705	PAH	2-Jun-82
;	Treat /DEBUG:PASDDT like /DEBUG:FORDDT.
;	Modules: LNKWLD

;1706	PAH	7-Jun-82
;	Accept COMMONs in type 1045 blocks and set all ancestral links
;	writable.
;	Modules: LNKNEW

;1707	PAH	8-Jun-82
;	Correct typo in edit 1706.
;	Modules: LNKNEW

;1710	PAH	8-Jun-82
;	Don't miss marking the last writable link in a load.
;	Modules: LNKOV1

;1711	PAH	10-Jun-82
;	Put CHKCHX routine under the FTFRK2 conditional.
;	Modules: LNKLOD

;1712	PAH	16-Jun-82
;	Call WRTPTR not WRTDAT at T1045C+3.
;	Modules: LNKNEW

;1713	AHM	16-Jun-82
;	Add long explanation for the LNKNHN message.
;	Modules: LNKERR

;1714   AHM	16-Jun-82
;	Defer updating RC.CV until end of module.
;	Modules: LNKNEW

;1715	AHM	16-Jun-82
;	Avoid exceeding a PSECT limit.
;	Modules: LNKOLD

;1716	AHM	16-Jun-82
;	Correct type 1070 block relocation.  Also speed up the loops.
;	Modules: LNKNEW, LNKOLD

;1717	AHM	16-Jun-82
;	Correctly relocate Type 1070 symbol definitions.
;	Modules: LNKOLD

;1720	AHM	16-Jun-82
;	Correct typo at REL.TB+2L causing wild transfer of control.
;	Modules: LNKNEW

;1721	AHM	16-Jun-82
;	Streamline space allocation for PSECTs being loaded using
;	Type 101X blocks.
;	Modules: LNKNEW

;1722	AHM	16-Jun-82
;	Don't lose right half relocation when the left half of the
;	data word is absolute, at RLADD.
;	Modules: LNKNEW

;1723	PAH	17-Jun-82
;	Don't typecheck on nonexistent arguments if there's a mismatch
;	between caller and function in number of arguments but this 
;	isn't to be treated as an error.
;	Modules: LNKLOD


;1724	PAH	18-Jun-82
;	Add a new action code to the coercion block handling. Code 4 is
;	a no-op and suppresses even information-class messages about a
;	particular attribute mismatch.
;	Modules: LNKLOD

;1725	PAH	19-Jun-82
;	Change references to Extended FORTRAN to be GFloating FORTRAN.
;	Modules: LNKLOD,LNKERR

;1726	AHM	19-Jun-82
;	Don't lose the last word in a 1010 block.  Also minor changes
;	for speed.
;	Modules: LNKNEW

;1727	AHM	19-Jun-82
;	Use RC.CV not RC.IV of the relocation block when calculating
;	the first address into which data should be loaded.
;	Modules: LNKNEW

;1730	PAH	22-Jun-82
;	Add code to type 101X block processing to deal with overlays
;	and to test limits.
;	Modules: LNKNEW

;1731	PAH	22-Jun-82
;	Make TOOBIG and T.1OVE global so they can be called from LNKNEW.
;	Edit 1730 needs this edit.
;	Modules: LNKOLD

;1732	AHM	22-Jun-82
;	Fix ?LNKIVC that may occur when processing deferred fixups for
;	a nonzero section.
;	Modules: LNKLOD

;1733	AHM	22-Jun-82
;	Suppress unnecessary typeout of ?LNKFTH message for section-local
;	references and don't miss truncation of negative numbers with
;	more than a halfword of precision.
;	Modules: LNKLOD

;1734	PAH	23-Jun-82
;	Edit 1733 put a free -1 in the left half for all deferred right
;	half fixups...this edit corrects that.
;	Modules: LNKLOD

;1735	PAH	23-Jun-82
;	Correct typo introduced installing edit 1733.
;	Modules: LNKLOD

;1736	PAH	25-Jun-82
;	Strip all FMXFOR code, this is desupported.
;	Modules: LNKPAR,LNKOLD,LNKWLD,LNKLOW,LNKLOD,LNKINI


;1737	AHM	25-Jun-82
;	Some final fixups in  nonzero sections which have been deferred
;	because the chain wanders out of the window are never done.
;	Modules: LNKLOD

;1740	AHM	25-Jun-82
;	Don't try to create the lower section if the window falls across
;	a section boundary when doing fixups.
;	Modules: LNKLOD

;1741	AHM	25-Jun-82
;	Don't add in a section number if the address already has one at
;	SEGCK4.
;	Modules: LNKLOD

;1742	AHM	25-Jun-82
;	Don't lose the section number when doing type 1004 blocks.
;	Modules: LNKNEW

;1743	PAH	29-Jun-82
;	Correct typo in edit 1724.
;	Modules: LNKLOD

;1744	hd	8-JUL-82
;	Suppress loading if there are compilation errors 
;	with the EXECUTE command
;	Modules: LNKINI

;1745	PAH	12-Jul-82
;	In T.1045, preserve the contents of T4 across the call to DY.GET.
;	Modules: LNKNEW

;1746	PAH	12-Jul-82
;	Don't give an error message if, while doing a type 3 character fixup
;	for typechecking, it is noticed that the argument is a character
;	expression or variable.
;	Module: LNKLOD

;1747	HD	13-JUL-82
;	Reserve 10(octal) location at GLBBEG for global symbols needed for
;	maintenance edits
;	Module: LNKLOW

;1750	PAH	15-Jul-82
;	Move origin of LINK-10 up to 540000.
;	Module: LNKPAR

;1751	PAH	19-Jul-82
;	Type out argument number in decimal for all the typechecking
;	messages.
;	Module: LNKLOD

;1752	HD	21-JUL-82
;	Have map file state if an overlay is Relocatable, Absolute, Writable.
;	Module:	LNKMAP

;1753	PAH	21-Jul-82
;	Make the error LNKCMX into a warning.
;	Module: LNKLOD,LNKERR

;1754	PAH	27-Jul-82
;	Type 1072 block support.
;	Module: LNKNEW,LNKPAR,LNKLOW

;1755	PAH	28-JUL-82
;	Put back -10 specific code at LHSET0 cures an ?ill mem ref
;	from GBCK.L.  But put a loop test in GBCK.L to prevent this
;	kind of failure anyway
;	Module: LNKCOR

;1756	AHM	29-JUL-82
;	Make PSECT breaks keep their section number during relocation
;	Module:	LNKOLD
;
;1757	AHM	29-JUL-82
;	Correct an off by one error in the calculation of the last word of
;	PDV in edit 1423
;	Module:	LNKXIT

;1760	AHM	29-JUL-82
;	Keep the section number in the last word of the PDV
;	Module:	LNKXIT

;1761	AHM	29-JUL-82
;	Keep the section number of start addresses during relocation
;	Module:LNKOLD

;1762	AHM	29-JUL-82
;	Don't throw away PDV prematurely so that start address for programs in
;	non-zero sections get set correctly
;	Module:	LNKXIT

;1763	AHM	29-JUL-82
;	Add one to the size of the fixup chain table when it is being 
;	deallocated.
;	Module:	LNKCOR

;1764	AHM	29-JUL-82
;	Make entry vectors work in non-zero sections
;	Module:	LNKOLD,LNKLOW,LNKXIT

;1765	PAH	2-Aug-82
;	Put the non-extended-addressing code back at T.7 ( was removed
;	by edit 1764 ).
;	Module: LNKOLD

;1766	HD	11-Aug-82
;	Remove a line of code at T.23+3 that was inserted in edit 1715.
;	Module:	LNKOLD

;1770	HD	11-Aug-82
;	Change a JRST CPOPJ to a POPJ P, at TSTSEG+5
;	Module:	LNKNEW

;1771	HD	11-Aug-82
;	Add 1 to T2 at  to get the last word of the fixup chain table
;	corrects a deficiency in edit 1763
;	Module: LNKCOR

;1772	HD	11-AUG-82
;	Make conditionals inserted in 1765 TOPS20 not FTFRK2 conditionals
;	Modules:LNKOLD, LNKLOW

;1773	HD	12-AUG-82
;	Supply the start address for XSVEC% in JBEX1A
;	Modules:LNKXIT

;1774	PAH	12-Aug-82
;	Turn .NWBLK conditional in LNKPAR on by default.
;	Modules: LNKPAR

;1775	HD	13-Aug-82
;	fix edit 1764 so that absolute start addresses work
;	Modules: LNKOLD

;1776	PAH	20-Aug-82
;	Restructure T.1AD and those routines using it.
;	Modules: LNKOLD,LNKNEW

;1777	HD	15-Sept-82
;	Fix type checking for case where caller's argument descriptor and
;	function argument descriptor are not both in LINK's current window.
;	Modules: LNKLOD

;2000	PAH	6-Oct-82
;	Do not try to return the storage pointed to by PDVPRV if there
;	is none.  Cures ?LNKRUM from nonzero-section programs without
;	program data vectors.
;	Modules: LNKXIT

;2001	PAH	12-Oct-82
;	Make sure T3 contains the pointer to the right typechecking triplet
;	before calling RTSECT to return it. Cures return to free storage of
;	formal descriptors, which should never happen.
;	Modules: LNKLOD

;2002	PY	13-Oct-82
;	Implement the /PLTTYP switch to allow selection of printer
;	or plotter style overlay plots.
;	Routines: LNKPAR, LNKLOW, LNKOV1, LNKPLT

;2003	PAH
;	Make ?LNKCCD a warning, not an error.
;	Routines: LNKOLD

;2004	PY/PAH
;	Add rewritten LNKD20 and LNKT20 parameter files.
;	Routines: LNKD20,LNKT20

;2005	PY	1-Nov-82
;	Improve argument checking and coercion. Add code to type
;	the caller's module name in errors. Rework error code, add
;	LNKAMM, LNKLMM, LNKNVR, LNKPMA, LNKTMM, LNKURV, and LNKWNA
;	messages to specify the type of mismatch. Add code to handle
;	secondary descriptors. Special case return values which must
;	only be checked against other return values. Add an implicit
;	bit needed by FORTRAN. Comment the offsets in the parameter
;	file. Add supporting code for variable severity messages.
;	Routines: LNKPAR, LNKERR, LNKLOD, LNKLOG, LNKNEW

;2006	PY	8-Nov-82
;	Fix a few problems related to PDVs, entry vectors, and
;	extended addressing.  Allow PDVs to cross page boundaries.
;	Use a SEVEC instead of an XSVEC% in section zero. Use a length
;	of 1 instead of JRST as default when not in section zero. Zero
;	the entry vector length when using the /START switch.
;	Routines: LNKWLD, LNKXIT

;2007	PY	9-Nov-82
;	Add long error messages for LNKFTH, LNKTML, LNKUCB.
;	Routines: LNKERR, LNKLOD, LNKNEW, LNKOV1

;2010	PY	9-Nov-82
;	Fix incorrect byte pointer parameter which causes
;	errors when type checking secondary descriptors.
;	Routine: LNKPAR

;2011	PY	9-Nov-82
;	Move /PLTTYP to LNKWLD so it can be used before /PLOT.
;	Routines: LNKOV1, LNKWLD

;2012	PY	9-Nov-82
;	Although formal,,actual do not mean much when referring
;	to a function return, make the coersion block use the
;	order called-routine,,caller to be consistent. Also
;	handle -1 properly.
;	Routine: LNKLOD

;2013	PY	10-Nov-82
;	Fix /NOSYSLIB, broken by edit 1225.
;	Routine: LNKLOD

;2014:	PY	11-Nov-82
;	Fix NUL:
;	Routine: LNKFIO

;2015	PY	12-Nov-82
;	Preserve the length of the function name accross calls
;	to TMATCH, since it clobbers it but needs it correct
;	every time it's called.
;	Routine: LNKLOD

;2016	PY	12-Nov-82
;	Fix /PVBLOCK:HIGH, and cases where the PDV contains the
;	only non-zero words on the page.
;	Routine: LNKXIT

;2017	PY	18-Nov-82
;	Add parameter which indicates the number of words to allocate
;	for the ASCIZ representation of a TOPS-10 filespec on TOPS-20.
;	Routines: LNKPAR, LNKFIO

;2020	PY	7-Dec-82
;	Instead of using one GS secondary triplett for each typechecking
;	block, chain them together and use only one GS secondary for all
;	typechecking for a symbol. Reduces fragmenting of the GS area.
;	Routines: LNKPAR, LNKLOD, LNKNEW

;2021	PY	13-Dec-82
;	If the LC or HC areas overflow but a .EXE file is not needed
;	make the pages in the overflow file private.
;	Routine: LNKXIT

;2022	PAH	28-Dec-82
;	Tighten up termination conditions for the loop at T1045C in LNKNEW.
;	Cures ?Ill mem reads amd writes when FORTRAN overlays are built.
;	Routine: LNKNEW.

;2023	HD	29-Dec-82
;	If a PMAP fails with a Quota Exceeded violation try expunging the 
;	directory and the retry the PMAP.
;	routines:LNKCOR,LNKXIT.

;2024	HD	6-Jan-83
;	Fix edit 2024 and typo in edit 1536.
;	Routines: LNKCOR,LNKXIT

;2025	PAH	6-Jan-83
;	At FOR.L0, define FOROT% as 400010 rather than using the
;	OTSTBL value for FORTRAN.  Fortran v6 and v7 FORLIB doesn't
;	use this symbol for an OTS transfer vector base, but FORTRAN
;	v5A libraries need it.
;	Routines: LNKLOD


;2026	PAH	6-Jan-83
;	Clean up the listings for release. Update all copyright notices.
;	Remove all edit banners.
;	Routines: All

;2027	HD	7-Jan-83
;	Conditionalize PMAP error code in LNKXIT
;	Routines: LNKXIT

;2030	PAH	20-Jan-83
;	Shorten copyright statement in executable files and
;	move it to the high segment.

;2031	PY	27-Jan-83
;	Don't set the writable overlay bit when processing type 1045
;	blocks (FORTRAN SAVE statement) unless actually doing an
;	overlay load. Prevents undesirable searching of OVRLAY.REL
;	Routine: LNKNEW

;2032	PY	3-Feb-83
;	Allocate space in the LC overflow file before reading the
;	root node back in under TOPS-20.
;	Routine: LNKXIT

;2033	PY	14-Feb-83
;	Allow a page, rather than a disk block of overlap when
;	Copying the LS overflow area into the overlay temporary
;	file under TOPS-20, since the core manager no longer
;	allows LW.LS to be on a disk block boundary.
;	Routine: LNKOV1

;2034	PY	17-Feb-83
;	Fix bug in TOPS-20 code which tests for .IODMP instead
;	of .IODPR, and remove edit 1531 which attempted to fix
;	the symptoms of this problem.
;	Routines: LNKFIO, LNKXIT

;2035	PY	17-Feb-83
;	Don't map in non-existant pages at JBGMV0 copy-on-write,
;	because then they cannot be created as private pages.
;	Fixes Illegal memory READ at JBGMV1.
;	Routine: LNKXIT

;2036	PY	28-Feb-83
;	Fix up support for JOVIAL compiler type, add ADA compiler
;	type.
;	Routine: LNKPAR

;2037	PY	12-Apr-83	SPR 10-33725
;	Fix an ILL-MEM-REF when there is no additive fixup, and
;	there is an extended symbol which is the last thing in
;	the GS area.
;	Routine: LNKLOD

;2040	PY	13-Apr-83
;	If LSYM is on a page boundary, and the LS area is
;	paging, SYMINI can get confused because LSYM is
;	pointing to a page which has never been written.
;	It will try to LS.OUT out the wrong pages, and will
;	PMAP away everything from the top of the LS area to
;	the end of section zero (and part of section one).
;	Routine: LNKXIT

;2041	PY	22-Apr-83
;	Increase LN.FL, which is the size of an ASCIZ
;	filespec. Prevents clobbering the stack when an
;	explicit PPN is given which translates to a very
;	long directory specification.
;	Routine: LNKPAR

;2042	PY	2-Jun-83	SPR 10-33916
;	Protect pointers to the LC and GS areas when
;	calling TR.WLK, since that routine calls DY.GET
;	which may move those areas.
;	Routine: LNKOV2

;2043	HD	12-Jul-83	SPR 20-19327
;	Prevent JBEXE1 form calling BLTJDA if JOBPTR is zero. BLTJDA tries
;	to return DY area that it doesn't have causing LINK to die with a
;	LNKRUM error.
;	Routine: LNKXIT

;2044	PY	13-Jul-83	SPR 20-19374
;	Always map out the window in CNA.LS under TOPS-20.
;	It is always mapped when expanding the LS area
;	during the LNKCOR call. Also, map the page after
;	top of the area, not the top page of the area.
;	Routine: LNKCOR

;2045	PY	24-Jul-83	SPR 20-19403
;	Fix typechecking code to not destroy the first
;	secondary triplet if it is not an argchecking
;	triplet.
;	Routine: LNKLOD

;2046	PY	24-Jul-83
;	Occasionally garbage collect the DY area if
;	many typechecking blocks have been returned.
;	Routines: LNKPAR, LNKLOW, LNKLOD

;2047	PY	29-Aug-83
;	Remove some code which tries to force common block
;	data into the high segment when loading /SEG:HIGH.
;	It will go there if it is supposed to because the
;	address of the common block will be in the high seg.
;	Routine: LNKOLD

;2050	JBS	6-Oct-83
;	Make ?LNKSUP message appear in column 1 for batch jobs.
;	Fix to edit 1744.
;	Routine: LNKINI

;2051	JBS	31-Oct-83
;	Fix bug where if user didn't have access to first directory in
;	DSK:, LINK would say "send an SPR".
;	Routine: LNKCOR

;2052	JBS	1-Nov-83
;	Don't die when making the .EXE file if LINK doesn't have write
;	access to the directory.
;	Routine: LNKXIT

;2053	PY	8-Nov-83
;	Make argument checking and the character fixup work
;	across overlays and segments.
;	Routines: LNKPAR, LNKLOW, LNKLOD, LNKOV1, LNKOV2

;2054	PY	16-Nov-83
;	Don't forget the LS overflow area just because it all fits
;	in memory, as it may be mapped on the -20.
;	Routine: LNKXIT

;2055	PY	16-Nov-83
;	Put the number of words desired in the correct accumulator
;	before calling DY.GET. Eliminates potential ?LNKRUM
;	Routine: LNKXIT

;2056	JBS	2-Dec-83
;	Print LNKXCT message when executing programs in non-zero sections.
;	Routine: LNKXIT

;2057	JBS	25-Jan-84
;	Don't go into infinite loop if symbol table is fouled up at T.5LP.
;	Routine: LNKOLD

;2060	HD	1-Feb-84 	SPR# 10-34488
;	Set up PPN and PATH, block if necessary, for RUN UUO at RUNEX2. Store
;	information where it won't get lost when core shrinks.
;	Routine: LNKXIT

;2061	HD	13-Feb-84
;	Fix typo in edit 2060.
;	Routine: LNKXIT

;2062	PY	6-Mar-84
;	Set up dummy entries for TYP.BG and COEOVL for multiple high segment
;	LINK.
;	Routine: LNKSUB

;2063	HD	6-Mar-84
;	Increase the value of .TLEN to 100 so that .TEMP will be large enough
;	to hold a path block.
;	Routine: LNKLOW

;2064   PAH	23-Mar-84	SPR #10-34493
;	Zero P1 in T11CHR/T11CHL/T11CHF before calling SY.CHR/SY.CHL/SY.CHF
;	from the T.11 code to avoid HALT from testing flag bits in a
;	nonexistent fixup block in RT.FX when loading relocatable overlays.
;	Routine: LNKOLD

;2065	PY	28-Mar-84	SPR 10-34610
;	Test RC.HL for .ABS. against zero, not 140 when computing the correct
;	value for LOWLOC in CHKLLC.
;	Routine: LNKLOD

;2066	JBS	7-May-84
;	Fix 2060 to get PPN from right place and check for default [0,0].
;	Routine: LNKXIT

;2067	JBS	10-May-84
;	Fix edit 2014 for NUL:.  Was POPJing to data and blowing up.
;	Routine: LNKFIO

;2070	HD	17-May-84
;	Check only the right half of .JBERR to determine whether or not to
;	suppress loading.  Conditionalize .SGNAM.
;	Routines: LNKINI, LNKXIT

;2071	JBS	21-May-84
;	Remove OPDEFs of JSYSes and .GTxxx bits, remove definitions of PDV
;	entry names (all of these are in .UNV files).
;	Routines: LNKPAR, LNKSCN

;2072	PAH	19-Jul-84
;	Fix two bugs in the 102X block processor: first, skip the first
;	relocation byte in a 102X block when picking up	the relocation
;	for the start address and subsequent data.  Second, fix a typo
;	that stores the relocated data in the wrong halfword.
;	Routines: LNKNEW

;2073	PY	20-Jul-84 	SPR 20-20272
;	Add the table base, not the pointer to it, when doing
;	FORTRAN	save.  Eliminates LNKPEL, LNKOLC, and other
;	errors in programs with more than 18 overlays.
;	Routine: LNKNEW

;2074	PY	14-Aug-84
;	Calculate the window size correctly when the window
;	crosses a page in PG.MOV.
;	Routine: LNKLOD

;2075	HD	12-Sept-84
;	Remove .SGNAM, .SGPPN, and .SGDEV from the code and add a fatal
;	error message if the GETTAB fails.
;	Routine: LNKINI

;2076	HD	8-Oct-84		SPR# 10-34915
;	Fix check in %PLOT for previously seen file spec so that LNKINS error
;	does not occur if /MAP and /PLOT occcur on the same command line.
;	Routine: LNKOV1

;2077	HD	2-Nov-84		SPR# 10-34930
;	Set RC.HL during processing of /NEWPAGE so PAT.. and/or symbol table
;	starts on page boundary.
;	Routine: LNKWLD

;2100	HD	10-Dec-84
;	Add long error text for LNKUSB error.
;	Routine: LNKERR

;2101	JBS	17-Dec-84
;	Fix off-by-one loop bug in "DVDPB.".
;	Routine: LNKFIO

;2102   PAH	(Superceded in LINK 6.0)
;	Fix off-by-one byte pointer that results in bad FORTRAN character
;	data initialization if the string in the .REL file falls exactly
;	on a multiple of ten pages.
;	Routine: LNKNEW

;2103	PAH	8-Feb-85
;	Detect structure mismatches when typechecking.
;	Routines: LNKPAR, LNKLOD

; Start of Version 6

;2200	PY	22-Nov-83
;	Expand the address field in the fixup blocks built by SY.CHP
;	to 30 bits.  Make FXSPTR a static array, and make section zero
;	low segment code use the extended addressing code.  Keep the
;	LS area chain seperate from the LC area chains.  Fix type 2
;	block fixups (other than right half) in non-zero sections.
;	Routines: LNKPAR, LNKLOW, LNKCOR, LNKLOD, LNKNEW, LNKOLD

;2201	PY	30-Nov-83
;	Use the correct deferred fixup for the fullword replacement
;	store operator in the type 11 polish block.
;	Routine: LNKOLD

;2202	PY	8-Dec-83
;	Change the calling convention for the xx.IN and xx.OUT routines
;	to use T1 and T2 as 30 bit addresses for the lower and upper
;	bounds, instead of T1 as the lower,,upper bounds as 18 bit
;	addresses.  Remove the FTFRK2 conditional, as it is always on
;	for TOPS-20.  Remove the low segment global NONZER, and all
;	references to it.  Use the xx.IN and xx.OUT routines instead of
;	bare PMAPs when possible, since these routines know about fixups
;	and about section creation.  Remove code from LH.DMP, since it
;	does not need to create sections (they will be created by LC.IN).
;	Use the TOPS-10 code for initialization for reading the LS area
;	for the symbol table, since it is simpler and costs at most one
;	extra PMAP. Add the LNKCCS cannot create section message, and
;	the LNKMMF Memory Manager Failure message. Remove some error
;	messages which can no longer occur.
;	Routines: LNKD20, LNKT20, LNKPAR, LNKLOW, LNKCOR, LNKERR, LNKFIO,
;	          LNKLOD, LNKMAP, LNKOLD, LNKOV1, LNKWLD, LNKXIT

;2203	PY	14-Dec-83
;	Keep the section numbers of relocated halfwords in the type 11
;	block.  Clean up the block and remove an offensive "HALT". Also
;	turn on and fix the link (type 12) store operator.
;	Routines: LNKLOD, LNKOLD

;2204	PY	16-Dec-83
;	Don't lose the section number when doing type 10 fixups in
;	non-zero sections.
;	Routine: LNKOLD

;2205	PY	20-Dec-83
;	Allocate FORTRAN COMMON blocks in the current psect when loading
;	psects.  Load absolute addresses in a psect if they fit in one.
;	Allow common blocks larger than a section, and symbolic non-zero
;	section addresses. Affects the type 1, 20, 21, 1004, and the
;	T.1010-T.1034 blocks.
;	Routines: LNKNEW, LNKOLD, LNKWLD

;2206	JBS	27-Dec-83
;	Set read-only attributes correctly for non-zero section psects.
;	Routine: LNKXIT

;2207	PY	27-Dec-83
;	Make psect indices consistent between old and new style REL blocks.
;	Routines: LNKINI, LNKOLD

;2210	HD	4-Jan-84
;	Reserve a static storage area in the low seg to hold long symbol names
;	for calls to TRYSYM.
;	Routines: LNKPAR, LNKLOW

;2211	JBS	4-Jan-84
;	Add /NOJOBDAT switch to suppress all of JOBDAT (hiseg too).  Revise
;	automatic JOBDAT suppressor to check FXSBIT, not EXTFLG.
;	Routines: LNKPAR, LNKXIT, LNKLOW, LNKWLD

;2212	PY	9-Jan-84
;	Fix the type 1072 long polish block.
;	Routines: LNKPAR, LNKERR, LNKLOD, LNKNEW, LNKOLD

;2213	PY	10-Jan-84
;	Fix off by one bug when setting the section bits in FXSBIT.
;	Routine: LNKCOR

;2214	PY	11-Jan-84
;	Add 30 bit fixups.  Allow fullword chained fixups to
;	use a 30 bit address chain.  Fix a bug involving section
;	defaulting of chained fixups in relocatable overlays.
;	Routines: LNKPAR, LNKCOR, LNKLOD, LNKOLD, LNKOV1

;2215	PY	13-Jan-84
;	Fix a wrong AC usage and an off by one caused by edit 2202.
;	Also properly unmap LS area pages when printing a load map
;	(affects /MAP:NOW) and don't BLT pages to zero if they have
;	just been unmapped (performance improvement).
;	Routines: LNKCOR, LNKLOD, LNKMAP, LNKOLD

;2216	PY/HD	18-Jan-84
;	Add or fix long symbol support in TRYSYM, INSRT, LS.ADD,
;	SY.QS, and SY.GS.  Make LNKMAP and LNKWLD type long symbols
;	correctly.  Remove the LNKESN message.
;	Routines: LNKERR, LNKHSH, LNKLOD, LNKLOG, LNKMAP, LNKOLD, LNKWLD

;2217	HD	26-Jan-84
;	Check character constant descriptors for word aligned byte pointers
;	and make sure the section number is added to addresses before calls
;	to SGCHK. in the COESPC routine.
;	Routine: LNKLOD

;2220	PY	26-Jan-84
;	More long symbol support.  Add support for typing long symbols
;	in commands.  Fix all switch processors to handle them.  Make
;	Long symbols legal in all routines which can receive them from
;	switch processors.  Fix the map to display these correctly.
;	The long symbols supported include globals, common names, and
;	psect names.
;	Routines: LNKPAR, LNKLOW, LNKLOD, LNKMAP, LNKOLD, LNKSCN,
;	LNKWLD, LNKXIT

;2221	HD	27-Jan-84
;	Remove a HLL at COESP2+4 so that the section number is not destroyed
;	and the call to SGCHK. works.
;	Routine: LNKLOD

;2222	PY	30-Jan-84
;	Implement the type 1050, 1051, and 1052 rel blocks.  Make
;	LINK complain if conflicting psect attributes are seen.
;	Fix a bug in edit 2220 which causes the attributes to be
;	set wrong for new psects with the /SET switch.
;	Routines: LNKERR, LNKNEW, LNKOLD, LNKWLD

;2223	PY	1-Feb-84
;	Implement /REDIRECT and rel block 1131.
;	Routines: LNKPAR, LNKLOW, LNKNEW, LNKOLD, LNKWLD

;2224	PY	7-Feb-84
;	Change QREENT so that an extended addressing program will get
;	a reentrant OTS unless the user explicitly says /OTS:NONSHARE.
;	Also don't give a reentrant OTS in section zero if the user
;	typed /PVBLOCK:HIGH even if there is no high segment yet.
;	Routine: LNKLOD

;2225	PY	7-Feb-84
;	Fix /PVDATA:VERSION:SYMBOL, broken by edit 2220.
;	Routine: LNKWLD

;2226	PY	10-Feb-84
;	Fix up support code for long /INCLUDE and /EXCLUDE so long
;	blocks get returned properly.  Also, don't do a long compare
;	for the title in a type 6 block, since it is always short.
;	Routines: LNKLOD, LNKOLD

;2227	PY	14-Feb-84
;	Add /PSCOMMON:PSECT:COMMON to allow specification of which
;	psect the /COMMON switch should place a common block in.
;	Routines: LNKPAR, LNKLOW, LNKLOD, LNKWLD

;2230	PY	15-Feb-84
;	Check for a common block allocated in a psect which cannot
;	be addressed by a psect which needs it, give ?LNKCMP error
;	if found.
;	Routines: LNKERR, LNKOLD

;2231	PY	16-Feb-84
;	Fix typo in edit 2223 which causes ?LNKRUM if more than one
;	type 1131 block is seen.
;	Routine: LNKNEW

;2232	JBS	22-Feb-84
;	Expand edit 2211 to not touch .JBREL if user said /NOJOBDAT.
;	Routine: LNKXIT

;2233	PY	22-Feb-84
;	Make sure that RC.CUR is non-zero if psects have been seen.
;	Routine: LNKOLD

;2234	PY	23-Feb-84
;	Fix /PVDATA:VERSION:CONSTANT, broken by edit 2220.
;	Routine: LNKWLD

;2235	PY	23-Feb-84
;	Give a fatal error if a user attempts overlays in non-zero
;	sections.
;	Routines: LNKOV1, LNKCOR, LNKERR

;2236	PY	24-Feb-84
;	Don't mess up the stack with long names in the type
;	1131 block.
;	Routine: LNKNEW

;2237	JBS	24-Feb-84
;	Implement PDV memory maps.
;	Routines: LNKXIT, LNKLOW, LNKPAR

;2240	PY	1-Mar-84
;	Don't attempt to merge chains if the old one starts
;	at section,,0 since it can't be resolved once chained.
;	Routine: LNKOLD

;2241	JBS	7-Mar-84
;	Setup P1 and P2 even if /NOJOBDAT was specified.  Affects DEBUG.
;	Routine: LNKXIT

;2242	PY	28-Mar-84
;	Create sections for psects, even if nothing has been
;	stored in them.
;	Routines: LNKCOR, LNKLOD

;2243	PY	5-Apr-84
;	Fix off-by-one bugs in edit 2242, add code which makes sure
;	that RC.HL is always at least RC.CV.  This is because RC.HL
;	may not be updated if using /REDIRECT.
;	Routine: LNKLOD

;2244	PY	6-Apr-84
;	Handle psect breaks which for psects which are over one
;	section long correctly in the type 23 block.
;	Routine: LNKOLD

;2245	JBS	10-Apr-84
;	Implement PDV symbol table vector.
;	Routines: LNKXIT, LNKLOW, LNKPAR, LNKWLD

;2246	HD	12-Apr-84
;	Patch 1070 code so the additive and chained fixups work in all cases.
;	Routine: LNKNEW

;2247	PY	20-Apr-84
;	Add code to use SPLFK% JSYS.  Build the program in an inferior
;	fork.  Always use SSAVE% on TOPS-20, put the .EXE file writer
;	under a TOPS-10 conditional.  Don't use .LOW. unless code or
;	a JOBDAT is actually loaded into it.  Implement the rules for
;	deciding whether a JOBDAT should exist.
;	Routines: LNKLOW, LNKCOR, LNKFIO, LNKINI, LNKLOD, LNKOLD,
;		  LNKOV1, LNKOV2, LNKWLD, LNKXIT

;2250	JBS	25-Apr-84
;	Be smarter about PDV space allocation.  Fix bug in memory map which
;	didn't set attributes correctly in a certain case.  Don't say there's
;	a PDV when creating an EXE file after the PDV wouldn't fit.  Fix bug
;	with /NOJOBDAT that deleted execution if user program set .JBERR.
;	Don't diddle .JBCOR if /NOJOBDAT.
;	Routines: LNKXIT, LNKPAR, LNKLOW

;2251	PY	8-May-84
;	Map out all low segment pages after building an overlay.
;	Routine: LNKOV1

;2252	PY	9-May-84
;	Don't overwrite the symbol bits in the switch blocks
;	when storing a local switch.
;	Routine: LNKWLD

;2253	PY	10-May-84
;	Clear the relocatable bit for .LOW. when doing a /SEG:LOW
;	high segment with a FORTRAN style type 3 block.
;	Routine: LNKOLD

;2254	PY	17-May-84
;	Change the 18 bit fields for the next title block,
;	segment origins and breaks, and psect pointers to
;	30 bit fields in the LS area.  Change the pointers
;	to these fields to also be 30 bits wide.  Remove
;	the FAIL block header chain, as it is not used.
;	Routines: LNKPAR, LNKLOW, LNKCOR, LNKINI, LNKMAP,
;		  LNKNEW, LNKOLD

;2255	PY	18-May-84
;	Change all pointers to the LS area to be 30 bit.
;	Replace LSTSYM with two words, LSTGBL and LSTLCL,
;	and change all references to it.  Don't pass the
;	pointers around in W3, instead get them from the
;	globals.  Make the fixup block have the global
;	pointer in the second word and the local pointer
;	in the third word.  Redo the polish block code
;	to store the section number of the LS area in the
;	op code, similar to what edit 2203 did for memory
;	fixups.
;	Routines: LNKLOW, LNKCOR, LNKLOD, LNKNEW, LNKOLD, 
;		  LNKOV1

;2256	PY	21-May-84
;	Make the runtime symbol table module headers code
;	use the new style segment breaks.
;	Routine: LNKXIT

;2257	JBS	22-May-84
;	Add generic JSYS error handling mechanism (subroutine and macro).
;	Routines: LNKPAR, LNKLOW, LNKLOG, LNKERR

;2260	JBS	24-May-84
;	Change various aspects of previous edits per inspection: don't
;	execute non-zero (/NOJOBDAT) program if there are errors, always
;	make undefined symbol table vector entry if there's a defined table.
;	Routine: LNKXIT

;2261	JBS	29-May-84
;	Fix off-by-one in non-zero page attribute setting code.
;	Routine: LNKXIT

;2262	PY	31-May-84
;	Implement the type 1160 sparse data block.  Don't create a
;	section just because a zero length psect is in it.
;	Routines: LNKPAR, LNKLOD, LNKNEW, LNKOLD, LNKOV1

;2263	PY	31-May-84
;	Fix deferred thirty bit additive fixups, which are
;	incorrectly treated as chained fixups instead.
;	Routine: LNKLOD

;2264	PY	1-Jun-84
;	Type the module name in the LNKCCS message.  Fix up the
;	LNKOxx and LNKIxx errors, add JSYS error typeout.  Don't
;	throw away the section number of the symbol in the type
;	one block.  Fix up some short error texts in LNKERR.
;	Fix a typo in the LNKPMA error which caused it to type
;	out as LNKPMC.
;	Routines: LNKCOR, LNKERR, LNKLOD, LNKOLD

;2265	JBS	7-Jun-84
;	Don't set attributes of null read-only psects.
;	Routine: LNKXIT

;2266	PY	7-Jun-84
;	Allow long symbols for argument typechecking.
;	Routines: LNKLOD, LNKNEW

;2267	PY	8-Jun-84
;	Fix bug in LNKHSH when short symbol is passed as long.
;	Don't try to compensate for bug in LNKLOD.
;	Routines: LNKHSH, LNKLOD

;2270	PY	12-Jun-84
;	Put argument typechecking blocks in a pagable area.
;	Fix a bug in edit 2262 which causes bad character
;	fixups in large programs.
;	Routines: LNKPAR, LNKLOW, LNKCOR, LNKLOD, LNKNEW,
;	          LNKOV2

;2271	PY	13-Jun-84
;	Fix default for /ERRORLEVEL with no arguments. Fix
;	the maximum values for /ERRORLEVEL, /LOGLEVEL, and
;	/SEVERITY.
;	Routine: LNKPAR

;2272	PY	14-Jun-84
;	Set up defaults for /REDIRECT, in case psect is not
;	specified in the switch or type 1131 block.
;	Routines: LNKNEW, LNKOLD, LNKWLD

;2273	PY	14-Jun-84
;	Fix type 12 blocks, make them work in non-zero sections.
;	Routines: LNKLOD, LNKOLD


;2274	PY	14-Jun-84
;	Fix some error messages in LNKXIT.  Also don't
;	try to SSAVE% sections above the highest which
;	exists.
;	Routine: LNKXIT

;2275	PY	15-Jun-84
;	Don't let long symbol hash come up with a value of zero.
;	Routine: LNKHSH

;2276	PY	15-Jun-84
;	Improve typeout for /COUNTERS so that it tabs correctly
;	in the presence of long symbols or big addresses.
;	Routine: LNKWLD

;2277	JBS	18-Jun-84
;	Implement new /DEBUG code for extended programs.  Load XDDT or UDDT
;	according to what the user program looks like.
;	Routines: LNKPAR, LNKLOW, LNKWLD, LNKERR, LNKXIT

;2300	PY	19-Jun-84
;	Remove F40 code and long error messages.  Conditional
;	or remove long errors which are not needed.  Fix a
;	problem with the definition of ERSTR, which is a forward
;	referenced local and also a JSYS name.  Remove FTFRK code.
;	Routines: LNKPAR, LNKLOW, LNKCOR, LNKINI, LNKLOD, LNKLOG,
;		  LNKSUB, LNKWLD

;2301	PY	20-Jun-84
;	Fix up error messages involved in TOPS-20 native files.
;	Routines: LNKPAR, LNKLOW, LNKCOR, LNKERR, LNKFIO, LNKLOD,
;	LNKLOG, LNKNEW, LNKOLD, LNKXIT

;2302	JBS	26-Jun-84
;	Fix off-by-one bugs in LC.IN and LC.OUT.  Was allocating n-1 pages
;	in all but boundry cases.
;	Routine: LNKCOR

;2303	PY	2-Jul-84
;	Fix problem with non-symbolic type 1004 blocks in wake
;	of edit 2262.
;	Routine: LNKNEW

;2304	JBS	3-Jul-84
;	Make various changes per inspection: add long error messages for new
;	DDT errors, change some labels, move a macro, use local instead of
;	global temporary storage.
;	Routines: LNKLOG, LNKPAR, LNKERR, LNKXIT, LNKLOW

;2305	HWD	6-July-84
;	Make 1070 blocks and 1002 blocks handle long symbol names.  Allocate
;	storage for a long symbol used as a value.
;	Routines: LNKNEW, LNKLOD, LNKOLD, LNKLOW

;2306	PY	6-Jul-84
;	Implement long PDV names.  Make /PVDATA:VERSION take a
;	version	number word.  Implement the EXPORT keyword as a
;	synonym for START.  Make /PVDATA:MEMORY work.  Put the
;	PDV symbol vector in the same psect as the symbol table
;	so it's attributes won't conflict.  Put the PDV before
;	the symbol table if they are in the same psect.  Use a
;	fullword for the symbol table length.  Create a PDV by
;	default for TOPS-20 style programs.
;	Routines: LNKPAR, LNKLOW, LNKINI, LNKSCN, LNKWLD, LNKXIT

;2307	PY	6-Jul-84
;	Remove some incorrect tests which generate LNKPEL errors.
;	Fix argument typechecking code which could create a bad
;	SIXBIT symbol for six character names.
;	Routines: LNKNEW, LNKOLD

;2310	PY	10-Jul-84
;	Implement the type 1074 long common name rel block.
;	Routines: LNKLOD, LNKNEW

;2311	PY	10-Jul-84
;	Fix PDVs in high segment, or with symbol vector in high
;	segment.  Set bit zero when appropriate for symbol vector
;	pointer.
;	Routine: LNKXIT

;2312	PY	11-Jul-84
;	Allow PDV names with $, ., % not in quotes.  Make sure
;	the name is ASCIZ.  Make sure the PDV map address is
;	always stored in the PDV.
;	Routines: LNKSCN, LNKXIT

;2313	PY	11-Jul-84
;	Make character data (types 1004 and 1160) work
;	in overlays.
;	Routine: LNKNEW

;2314	JBS	13-Jul-84
;	Handle /DEBUG when SPLFK% fails at LNKXIT time.  Allow special case
;	of DDTing LINK when user program also wants UDDT in section 0.
;	Remove LINK's PDV before GET%ing user program.  Clear PSI table
;	addresses left over from PA1050 when exiting to user program.
;	Routines: LNKPAR, LNKXIT

;2315	JBS	13-Jul-84
;	Add {JSYS error text} for CLD, CSP, and DNA error documentation.
;	Routine: LNKERR

;2316	PY	13-Jul-84
;	Fix incorrect test which causes spurious LNKMEF errors.
;	Routine: LNKOV1

;2317	JBS	16-Jul-84
;	Fix edit 2247 to save copy-on-write page attributes correctly.
;	Routine: LNKXIT
;2320	JBS	16-Jul-84
;	Create empty read-only pages when necessary.
;	Routine: LNKXIT

;2321	PY	16-Jul-84
;	Fix a problem with moving the HC area when /SEG:LOW
;	or /REDIRECT.
;	Routine: LNKCOR

;2322	HD	17-Jul-84
;	Make LNKCCE a fatal error and add long error text.
;	Routines: LNKLOD,LNKERR

;2323	PY	19-Jul-84
;	Add case sensitive symbol typein and typeout, using
;	"/" and "\" as case shifters.
;	Routines: LNKLOG, LNKSCN

;2324	PAH	19-Jul-84
;	Expand edit 2064 to cover thirty-bit chained fixups.
;	Supercedes edit 2064.
;	Routine: LNKOLD,LNKNEW

;2325	PY	19-Jul-84
;	Add another case to the TOPS-20 editable messages,
;	and fix one which is incorrect.
;	Routine: LNKLOG

;2326	HD	19-Jul-84
;	Make 1003 (long title) blocks work.
;	Routines: LNKNEW,LNKLOW,LNKPAR,LNKOLD

;2327	PY	20-Jul-84
;	Don't convert external psect index to internal twice.
;	Routine: LNKNEW

;2330	PY	8-Aug-84
;	Add TOPS-20 conditionals where needed.  Replace a
;	label which was accidentally removed.  Add xx.IN
;	and xx.OUT routines for TOPS-10.  Add missing
;	angle brackets in LNKERR.
;	Routines: LNKLOW, LNKCOR, LNKERR, LNKLOG, LNKXIT

;2331	PY	23-Aug-84
;	When returning the secondary triplet after fixups,
;	if the secondary is not the last one move the other
;	secondaries up, and return the last one.  This will
;	keep the remaining triplets contiguous.
;	Routine: LNKLOD

;2332	PY	28-Aug-84
;	Get fullword value for symbol fixups.
;	Routine: LNKOLD

;2333	HD	28-Aug-84
;	Make the 1070 code set the fixup block flags in all cases when 
;	processing a fixup request.
;	Routine: LNKNEW

;2334	PY	22-Oct-84
;	Fix symbol typein when there is a non-symbolic default.
;	Use the symbol typeout routine for errors.  Fix
;	/PVDATA:VERSION with an octal numeric argument.
;	Routine: LNKSCN

;2335	PY	23-Oct-84
;	Don't allocate space for the PDV memory map or
;	symbol vector if not actually building them.
;	Re-install some code which is needed on TOPS-10.
;	Use nnnLNK if no better PDV name is available.
;	Routine: LNKXIT

;2336	PY	24-Oct-84
;	Produce correct symbol vector when explicit
;	/pvdata:memory is seen.
;	Routine: LNKXIT

;2337	JBS	5-Dec-84
;	Catch CFORK% JSYS errors.
;	Routine: LNKINI

;2340	PY	7-Dec-84
;	Check for bad psect index in type 1074 block.
;	Routine: LNKNEW

;2341	PY	7-Dec-84
;	Handle strange octal psect origins correctly.
;	Routine: LNKWLD

;2342	PY	7-Dec-84
;	Add LNKPTP long error, fix cases where TP overflow
;	happens or the GS area moves while doing argument
;	typechecking.
;	Routines: LNKERR, LNKLOD

;2343	PY	7-Dec-84
;	Fix some problems with the type 1160 block, add
;	LNKUSD long error message.
;	Routines: LNKERR, LNKLOD, LNKNEW

;2344	PY	11-Dec-84
;	Add compiler type for C.
;	Routine: LNKPAR

;2345	HD	7-Dec-84
;	Clean up and fix 1003 block code.
;	Routine: LNKNEW

;2346	PY	12-Dec-84
;	Don't try to GET% the EXE file if it was not
;	written	to disk.
;	Routine: LNKXIT

;2347	PY	14-Dec-84
;	Use argument block for COMPT. which removes
;	PA1050.
;	Routine: LNKXIT

;2350	PY	14-Dec-84
;	Use LC/HC.IN and .OUT properly to map non-existant
;	read only pages.
;	Routine: LNKXIT

;2351	JBS	17-Dec-84
;	Fix E$$UMF routine to print JSYS names.
;	Routine: LNKLOG

;2352	PY	9-Jan-85
;	Don't allocate more pages than will fit in LC area in
;	STUFDD.
;	Routine: LNKXIT

;2353	PY	10-Jan-85
;	Remove improper symbols from LNKXIT, move SPLFK%
;	argument block definitions into LNKPAR.
;	Routines: LNKPAR, LNKXIT

;2354	HD	11-Feb-85
;	Make map file display long symbols - case senstivity - and 1003
;	title block information
;	Routine:LNKMAP

;2355	PY	11-Feb-85
;	Handle debuggers which don't start at the normal start
;	address (such as ALGDDT) properly.
;	Routine: LNKXIT

;2356	PY	11-Feb-85
;	Remove unnecessary TOPS20 conditionals.  Move NAMCMP
;	to LNKSUB.  Fix overflow problem in exe file writer
;	when more than one section of pages has the same attributes.
;	Routines: LNKLOW, LNKLOD, LNKNEW, LNKOLD, LNKSUB, LNKWLD,
;		  LNKXIT

;2357	PY	12-Feb-85
;	Set up correct channel for save/get when splice fork
;	fails.
;	Routine: LNKXIT

;2360	PY	13-Feb-85
;	Fix problem with edit 2355.
;	Routine: LNKXIT

;2361	PY	19-Feb-85
;	Fix fencepost error in calculation of PDV size.
;	Routine: LNKXIT

;2362	PY	20-Feb-85
;	Fix the /DEBUG:DDT code; store the DDT start
;	address in EXECSW when it is stored in STADDR, since
;	it is calculated after the debugger address table
;	lookup.
;	Routine: LNKXIT

;2363	PY	26-Mar-85
;	Don't use DDT's start address if the user requested
;	some other debugger and /TEST:DDT.
;	Routine: LNKXIT

;2364	HD	28-Mar-85
;	Use the correct value (HL.S1) for highest location loaded when
;	calculating the number of pages for SSAVE JSYS.
;	Routine: LNKXIT

;2365	HD	17-Jul-85
;	Preserve T4 in NEWSCT to prevent LINK from dying after issuing certain
;	messages if logical name LOG: is defined.
;	Routine: LNKCOR

;2366	PY	9-Sep-85
;	Implement symbol and entry vectors for extended addressing
;	TOPS-10 programs.  Add sparse LC paging on TOPS-10. Fix
;	extended addressing library rule.  Clean up TOPS-20
;	conditionals.  Don't try to keep the overflow file
;	inside of section zero (didn't work right anyways). Fix
;	type 1160 block on TOPS-10. Update parameter files.
;	Routines: LNKD10, LNKT10, LNKPAR, LNKLOW, LNKCOR, LNKLOD,
;	          LNKOLD, LNKNEW, LNKOV1, LNKWLD, LNKXIT

;2367	PY	14-Oct-85
;	Fix a TOPS-10 core management problem in wake of edit 2366.
;	Routine: LNKOLD

;2370	PY	14-Oct-85
;	Fix off-by-one when the last page of a segment is allocated
;	but zero.
;	Routine: LNKXIT

;2371	HD	10-Dec-85
;	Fix exit condition for long symbol names in 1070 code
;	Routine: LNKNEW

;2372	HD	10-Dec-85
;	Use right half of LL.S2 to calculate seg origin.
;	Routine: LNKOLD

;2373	HD	10-Dec-85
;	Truncate long symbols properly for DDT undefined symbol table. 
;	Substitute "." for non sixbit characters when writting DDT symbol
;	table.
;	Routine: LNKXIT

;2374	HD	18-Dec-85		SPR #20-21027
;	Fix TP paging by adding new global TPPTR to replace TP.PT in type
;	checking code.  Also don't toss block prematurely in TPREL1 if
;	using overlays.
;	Routines: LNKCOR,LNKLOD,LNKLOW

;2375	HD	23-Dec-85
;	Fix bug when reading in symbol table in LNKMAP.  
;	Routine: LNKMAP

;2376	HD	17-Apr-86
;	Fix Long symbol code, an off by one bug in INSRTZ calculation for 
;	a BLT and the execution message if the program name is a long name.
;	Routines: LNKLOD,LNKOLD

;2377	HD	5-May-86
;	Make 1045 blocks handle long names.
;	Routine: LNKNEW

;2400	HD	12-May-86
;	Fix bug in 1003 blocks where W2 is changed if REDIRECT is being used.
;	Routine: LNKNEW

;2401	HD	16-May-86
;	Fix problem in 1002 blocks for long names
;	Routine: LNKNEW

;2402	HD	22-May-86
;	On TOPS-10 version have LINK print the first six characters of a long
;	program name with the LNKXCT message.
;	Routine: LNKXIT

;2403	HD	28-May-86
;	New corporate Copywrite statement.
;	Routines: ALL

;2404	HD	24-Jun-86
;	Truncate long program name to first six characters for Control T 
;	message and store long load name in PRGBLK because NAMBLK gets over 
;	written by each new 1003 block.
;	Routines: LNKLOW, LNKOLD, LNKXIT

;2405	RJF	4-Mar-87	SPR:10-35689
;	Protect W3 value across calls that may cause the TP area to move
;	during typechecking.

;2406	RJF	13-MAR-87	SPR:10-35621
;	RDBACK in LNKLOD got messed up when the area size was bigger than
;	the the remainder of user core to read back in.  Then edit 2202
;	made edit 1740 not work at all.  Fix: remove edit 1740 and rework
;	the code to handle the section change correctly.

;2407	RJF	1-APR-87	RAW SPR
;	Edit 2406 still used some code that assumed section-0.  Fix
;	RDBACK one more time, to do half-word calculations within the
;	current section.
;	[LNKLOD]

;2410	RJF	21-JUL-87	SPR:10-36037
;	Routine X160SS for Type 1160 blocks, updated TAB.UW(R) "same
;	as PAG.S0(R)", even if the area wasn't being paged.  A Type-1
;	block comes and we think we have to read in a window.
;	"IO to unassigned channel" follows.  Fix: don't update TAB.UW
;	if not already paging.
;	[LNKNEW]

;2411	RJF/DE	22-JUL-87	SPR:20-21647
;	FORTRAN always puts a zero word at the end of long entries.
;	This can screw us up no end.  Fix: account for this.
;	Also, fix some other coding errors.
;	[LNKOLD][LNKNEW]

;2412	RJF	31-JUL-87	RAW SPR
;	Add code to check for PSECT overlap while loading code,
;	and setting PSECT origins.
;	[LNKOLD][LNKPAR][LNKERR]

;2413	RJF	14-AUG-87	RAW SPR
;	Psect info got all messed up when the LS area was paging.
;	Fix TTLPSC to page in psect info, from nnnLLS.TMP correctly.
;	[LNKMAP]

;2414	RJF	21-AUG-87
;	Fix SETNH to check for the same relocation pointer in RC.TB twice.
;	Fortran programs and /REDIRECT can cause this.
;	[LNKOLD]

;2415	RJF	21-SEP-87	RAW SPR
;	Lower %HISEG for TOPS-20 again since SCAN changed.  TOPS-20 needs
;	this symbol defined in LNKPAR and in L2PLNK.CCL.  Currently 520000.
;	[LNKPAR]

;2416	RJF	19-NOV-87	SPR:20-21698
;	AN incorrect length calculation at OVR6GC+11 caused one too
;	many blocks to be written if the length of the area was exactly
;	128 words.
;	[LNKOV2]

;2417	RJF	5-FEB-88
;	Update COPYRIGHT to 1988.
;	[All .MAC files]

;2420	DE/RJF	1-Apr-88	SPR:10-36101
;	Reset the LC.UP block number pointer when a .TMP file is discarded.
;	[LNKOV1]

;2421	RJF	13-Jul-88
;	/EXCLUDing a required module from an indexed library caused the
;	index to never be used again.  This also caused an undeserved
;	[LNKLII ...] message when the index was more than one block long
;	and the 2'nd or 3'rd index block was read.
;	Make sure we get back to T.14 processing when we see we are not
;	going to load a module, and we have an index in core.
;	[LNKOLD]

;2422	RJF	14-Sep-88	SPR:10-36164
;	The TP area could never page correctly because TP.DMP left
;	junk in UW.TP and LW.TP together with other incorrect calculations.
;	This resulted in PAGE. UUO failures, "Ill Address in UUO", etc...
;	Rework TP.DMP in LNKCOR.
;
;	After fixing TP.DMP it was found that if PG.TP in lnklod needed
;	to expand the window via PG.TPU, it allocated the space by expanding
;	TP.AB but never read any data into the new part of the window from
;	the overflow file.  Fix PG.TPU to read data into the expanded window.
;
;	T112P could and did allocate typechecking blocks with a link word
;	containing junk left over from the last time the core was used.
;	This, after a lot of twisting and turning, resulted in an undeserved
;	EOF on the nnnLTP.TMP file.  Fix: Initialize ABLNK after allocating
;	the block.
;	[LNKCOR][LNKLOD][LNKNEW]

;2423	RJF	27-DEC-89
;	Allow a lookup even if the spec doesn't contain a filename, as
;	long as the user specifies a device name.  The device could be
;	a PATHed device containing a filename (ie PATH FOO:=dev:filnam)
;	[LNKWLD]
;
;	The -20 should be able to do the same thing, but a GTJFN% on
;	dev:.REL fails.  Hence, if no filename exists, make DVTXT1 only
;	build "dev:", and require the user to define the entire spec
;	(ie. DEFINE FOO: dev:filnam.REL) in his DEFINE command.
;	[LNKFIO]
;
;	Allow the /SSAVE switch even on TOPS-20 systems so that control
;	files can be more compatible (/SSAVE = /SAVE for TOPS-20).
;	[LNKPAR][LNKWLD]
;
;	Add code to report the correct file-spec of the file that is
;	currently open on a channel.  This may not be the same as the
;	OPEN/LOOKUP/ENTER/RENAME blocks, as in the case of PATHed devices.
;	TOPS-10 only change.  TOPS-20 already had the correct code.
;	[LNKLOW][LNKLOG]

;2424	RJF	30-MAR-90
;	Edit 2423 broke some switches on the -10 & -20  since we make dummy
;	scan blocks that have no spec but never turn on FX.NDV in F.MOD.
;	Hence, we did not ignore then as null specs.
;	[LNKWLD][LNKOV1]

;2425	RJF	20-Apr-90
;	More fixes to edit 2423 with regard to OSCAN and SWITCH.INI.
;	And fix another problem with long entries.
;	[LNKNEW,LNKSCN]
	END		;OF LNKHST