Google
 

Trailing-Edge - PDP-10 Archives - ap-c796e-sb - 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	27-FEB-78


;COPYRIGHT (C) 1973, 1978 BY
;DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
;
;
;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==4		;DEC VERSION
DECMVR==0		;DEC MINOR VERSION
DECEVR==765		;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 > 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.
	END		;OF LNKHST