Trailing-Edge
-
PDP-10 Archives
-
cuspmar86binsrc_2of2_bb-fp63a-sb
-
10,7/link/link.doc
There are 32 other files named link.doc in the archive. Click here to see a list.
LINK.DOC -- Changes from LINK 5.1(2030) to LINK 6.0(2376)
January 1986
COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1983, 1986. 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.
LINK.DOC Page 2
LINK.DOC -- Changes from LINK 5.1(2030) to LINK 6.0 (2376)
1.0 SUMMARY
LINK is the linking loader for the DECsystem-10. LINK version 6.0 is
a development release designed to provide new features, enhancements
to existing features, internal changes, and support for extended
programs. It contains long symbol support and several new REL blocks.
LINK version 6.0 supercedes all previous versions. It runs under all
supported monitors, and has been tested under TOPS-10 7.02 and 7.03.
LINK is documented in the LINK Reference Manual. This manual is
available as part of volume 13 of the TOPS-10 Software Notebooks, or
separately as order number AA-0988D-TB.
LINK.DOC Page 3
2.0 EXTERNAL CHANGES
2.1 Changes To LINK
The following sections contain summaries of all important visible
changes that have been made to LINK since version 5.1(2030). Refer to
the section on internal changes for more information on specific
edits.
1. Extended addressing support.
2. Better error messages. The following new messages have been
added:
Suffix Lev Sev Standard Message Text
CBO 31 31 Cannot build overlays outside section zero
CCE 8 8 Character Constant not word aligned in call to
routine [routine] called from module [module]
at location [address]
CMP 31 28 Common [symbol] declared in multiple psects
{Detected in module [symbol] from file [file]}
COE 8 8 Both CONCATENATE and OVERLAY attributes
specified for psect [name]
MMF 31 31 Memory manager failure
RWA 8 8 Both READ-ONLY and WRITABLE attributes
specified for psect [name]
STL 31 31 Symbol too long
UIE 31 31 Unexpected internal error during error
processing
3. Support of symbols up to 72 characters long and case
differentiation in symbols. This includes .REL block
support, entry and display at command level, but no debugger
support.
4. Multi-section FORTRAN common blocks.
5. New switches:
/PSCOMMON:psect:common Cause the FORTRAN common having the
name "common" to be loaded into the specified psect. If
"common" is omitted the "blank common" is assumed. This
switch must precede any attempt to load the specified common
and must also precede use of the /COMMON switch in declaring
the size of the common.
LINK.DOC Page 4
/REDIRECT:lpsect:hpsect Causes LINK to load low segment code
into the psect "lpsect" and high segment code into the psect
"hpsect". Either "lpsect" or "hpsect" may be omitted, and
the second colon is optional if "highpsect" is omitted.
6. Paging of argument typechecking data so that larger FORTRAN
77 programs may be loaded.
7. Long PSECT Names - LINK now supports long psect names with
the same restrictions that apply to long symbol names. This
feature is supported for switches which require a PSECT name
as an argument and with type 1050 REL blocks.
8. Map File - This map file format now accommodates long symbols
and is therefore slightly different from the format produced
by LINK version 5.1.
2.2 Problems For Which No Solution Is Currently Planned.
1. If code or data that contains fixups (external, Polish,
inter-psect references, etc.) is overwritten at load time,
LINK can get an illegal memory reference or go into a loop.
This can happen if psects overlap, or if LOC or RELOC
statements are used incorrectly in a MACRO program. This is
a restriction.
2. Generation of a symbol file via /SYFILE: requires that
symbols be loaded with the program. This is a restriction.
LINK.DOC Page 5
3.0 INSTALLATION INSTRUCTIONS
To install LINK version 6 on your system, copy the files LINK.EXE,
LNKSCN.EXE, LNKLOD.EXE, LNKMAP.EXE, LNKXIT.EXE, LNKOV1.EXE,
LNKOV2.EXE, LNKERR.EXE, LNK999.EXE, AND OVRLAY.REL from the
distribution tape to SYS:, and then copy the files LINK.HLP and
LINK.DOC from the distribution tape to HLP: and DOC:, respectively.
This can be done by mounting the tape labelled Distribution Tape on
MTA0:, then typing the following commands:
R BACKUP
TAPE MTA0:
REWIND
DENSITY 1600
RESTORE SYS:=DSKB:[10,7,LINK]*.EXE, -
SYS:=DSKB:[10,7,LINK]OVRLAY.REL, -
HLP:=DSKB:[10,7,LINK]LINK.HLP, -
DOC:=DSKB:[10,7,LINK]LINK.DOC
To rebuild LINK from sources, mount the tape labelled Distribution
Tape on MTA0:, then type the following commands:
R BACKUP
TAPE MTA0:
REWIND
DENSITY 1600
RESTORE [self]=DSKB:[10,7,LINK]*.*
(At this point, you should TYPE LINK.CTL to see what it does.)
SUBMIT LINK.CTL/TIME/RESTART
The batch control file LINK.CTL contains the procedures necessary to
rebuild LINK and OVRLAY from sources. It may have to be modified
slightly to run at your installation, so you should type it to see
what it does before typing the SUBMIT command above.
LINK.DOC Page 6
4.0 INTERNAL CHANGES
2200 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 Use the correct deferred fixup for the fullword replacement store
operator in the type 11 polish block. Routine: LNKOLD
2202 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 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 Don't lose the section number when doing type 10 fixups in
non-zero sections. Routine: LNKOLD
2205 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 Set read-only attributes correctly for non-zero section psects.
Routine: LNKXIT
2207 Make psect indices consistent between old and new style REL
LINK.DOC Page 7
blocks. Routines: LNKINI, LNKOLD
2210 Reserve a static storage area in the low seg to hold long symbol
names for calls to TRYSYM. Routines: LNKPAR, LNKLOW
2211 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 Fix the type 1072 long polish block. Routines: LNKPAR, LNKERR,
LNKLOD, LNKNEW, LNKOLD
2213 Fix off by one bug when setting the section bits in FXSBIT.
Routine: LNKCOR
2214 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 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 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 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 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 Remove a HLL at COESP2+4 so that the section number is not
destroyed and the call to SGCHK. works. Routine: LNKLOD
LINK.DOC Page 8
2222 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 Implement /REDIRECT and rel block 1131. Routines: LNKPAR,
LNKLOW, LNKNEW, LNKOLD, LNKWLD
2224 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 Fix /PVDATA:VERSION:SYMBOL, broken by edit 2220. Routine:
LNKWLD
2226 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 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 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 Fix typo in edit 2223 which causes ?LNKRUM if more than one type
1131 block is seen. Routine: LNKNEW
2232 Expand edit 2211 to not touch .JBREL if user said /NOJOBDAT.
Routine: LNKXIT
2233 Make sure that RC.CUR is non-zero if psects have been seen.
Routine: LNKOLD
2234 Fix /PVDATA:VERSION:CONSTANT, broken by edit 2220. Routine:
LNKWLD
2235 Give a fatal error if a user attempts overlays in non-zero
LINK.DOC Page 9
sections. Routines: LNKOV1, LNKCOR, LNKERR
2236 Don't mess up the stack with long names in the type 1131 block.
Routine: LNKNEW
2237 Implement PDV memory maps. Routines: LNKXIT, LNKLOW, LNKPAR
2240 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 Setup P1 and P2 even if /NOJOBDAT was specified. Affects DEBUG.
Routine: LNKXIT
2242 Create sections for psects, even if nothing has been stored in
them. Routines: LNKCOR, LNKLOD
2243 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 Handle psect breaks which for psects which are over one section
long correctly in the type 23 block. Routine: LNKOLD
2245 Implement PDV symbol table vector. Routines: LNKXIT, LNKLOW,
LNKPAR, LNKWLD
2246 Patch 1070 code so the additive and chained fixups work in all
cases. Routine: LNKNEW
2247 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 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
LINK.DOC Page 10
2251 Map out all low segment pages after building an overlay.
Routine: LNKOV1
2252 Don't overwrite the symbol bits in the switch blocks when storing
a local switch. Routine: LNKWLD
2253 Clear the relocatable bit for .LOW. when doing a /SEG:LOW high
segment with a FORTRAN style type 3 block. Routine: LNKOLD
2254 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 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 Make the runtime symbol table module headers code use the new
style segment breaks. Routine: LNKXIT
2257 Add generic JSYS error handling mechanism (subroutine and macro).
Routines: LNKPAR, LNKLOW, LNKLOG, LNKERR
2260 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 Fix off-by-one in non-zero page attribute setting code. Routine:
LNKXIT
2262 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 Fix deferred thirty bit additive fixups, which are incorrectly
treated as chained fixups instead. Routine: LNKLOD
LINK.DOC Page 11
2264 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 Don't set attributes of null read-only psects. Routine: LNKXIT
2266 Allow long symbols for argument typechecking. Routines: LNKLOD,
LNKNEW
2267 Fix bug in LNKHSH when short symbol is passed as long. Don't try
to compensate for bug in LNKLOD. Routines: LNKHSH, LNKLOD
2270 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 Fix default for /ERRORLEVEL with no arguments. Fix the maximum
values for /ERRORLEVEL, /LOGLEVEL, and /SEVERITY. Routine:
LNKPAR
2272 Set up defaults for /REDIRECT, in case psect is not specified in
the switch or type 1131 block. Routines: LNKNEW, LNKOLD, LNKWLD
2273 Fix type 12 blocks, make them work in non-zero sections.
Routines: LNKLOD, LNKOLD
2274 Fix some error messages in LNKXIT. Also don't try to SSAVE%
sections above the highest which exists. Routine: LNKXIT
2275 Don't let long symbol hash come up with a value of zero.
Routine: LNKHSH
2276 Improve typeout for /COUNTERS so that it tabs correctly in the
presence of long symbols or big addresses. Routine: LNKWLD
2277 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
LINK.DOC Page 12
2300 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 Fix up error messages involved in TOPS-20 native files.
Routines: LNKPAR, LNKLOW, LNKCOR, LNKERR, LNKFIO, LNKLOD,
LNKLOG, LNKNEW, LNKOLD, LNKXIT
2302 Fix off-by-one bugs in LC.IN and LC.OUT. Was allocating n-1
pages in all but boundry cases. Routine: LNKCOR
2303 Fix problem with non-symbolic type 1004 blocks in wake of edit
2262. Routine: LNKNEW
2304 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 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 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 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 Implement the type 1074 long common name rel block. Routines:
LNKLOD, LNKNEW
2311 Fix PDVs in high segment, or with symbol vector in high segment.
Set bit zero when appropriate for symbol vector pointer.
Routine: LNKXIT
LINK.DOC Page 13
2312 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 Make character data (types 1004 and 1160) work in overlays.
Routine: LNKNEW
2314 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 Add {JSYS error text} for CLD, CSP, and DNA error documentation.
Routine: LNKERR
2316 Fix incorrect test which causes spurious LNKMEF errors. Routine:
LNKOV1
2317 Fix edit 2247 to save copy-on-write page attributes correctly.
Routine: LNKXIT
2320 Create empty read-only pages when necessary. Routine: LNKXIT
2321 Fix a problem with moving the HC area when /SEG:LOW or /REDIRECT.
Routine: LNKCOR
2322 Make LNKCCE a fatal error and add long error text. Routines:
LNKLOD,LNKERR
2323 Add case sensitive symbol typein and typeout, using "/" and "\"
as case shifters. Routines: LNKLOG, LNKSCN
2324 Expand edit 2064 to cover thirty-bit chained fixups. Supercedes
edit 2064. Routine: LNKOLD,LNKNEW
2325 Add another case to the TOPS-20 editable messages, and fix one
which is incorrect. Routine: LNKLOG
2326 Make 1003 (long title) blocks work. Routines:
LNKNEW,LNKLOW,LNKPAR,LNKOLD
2327 Don't convert external psect index to internal twice. Routine:
LINK.DOC Page 14
LNKNEW
2330 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 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 Get fullword value for symbol fixups. Routine: LNKOLD
2333 Make the 1070 code set the fixup block flags in all cases when
processing a fixup request. Routine: LNKNEW
2334 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 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 Produce correct symbol vector when explicit /pvdata:memory is
seen. Routine: LNKXIT
2336 Catch CFORK% JSYS errors. Routine: LNKINI
2340 Check for bad psect index in type 1074 block. Routine: LNKNEW
2341 Handle strange octal psect origins correctly. Routine: LNKWLD
2342 Add LNKPTP long error, fix cases where TP overflow happens or the
GS area moves while doing argument typechecking. Routines:
LNKERR, LNKLOD
2343 Fix some problems with the type 1160 block, add LNKUSD long error
message. Routines: LNKERR, LNKLOD, LNKNEW
LINK.DOC Page 15
2344 Add compiler type for C. Routine: LNKPAR
2345 Clean up and fix 1003 block code. Routine: LNKNEW
2346 Don't try to GET% the EXE file if it was not written to disk.
Routine: LNKXIT
2347 Use argument block for COMPT. which removes PA1050. Routine:
LNKXIT
2350 Use LC/HC.IN and .OUT properly to map non-existant read only
pages. Routine: LNKXIT
2351 Fix E$$UMF routine to print JSYS names. Routine: LNKLOG
2352 Don't allocate more pages than will fit in LC area in STUFDD.
Routine: LNKXIT
2353 Remove improper symbols from LNKXIT, move SPLFK% argument block
definitions into LNKPAR. Routines: LNKPAR, LNKXIT
2354 Make map file display long symbols - case senstivity - and 1003
title block information Routine:LNKMAP
2355 Handle debuggers which don't start at the normal start address
(such as ALGDDT) properly. Routine: LNKXIT
2356 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 Set up correct channel for save/get when splice fork fails.
Routine: LNKXIT
2360 Fix problem with edit 2355. Routine: LNKXIT
2361 Fix fencepost error in calculation of PDV size. Routine: LNKXIT
2362 Fix the /DEBUG:DDT code; store the DDT start address in EXECSW
when it is stored in STADDR, since it is calculated after the
LINK.DOC Page 16
debugger address table lookup. Routine: LNKXIT
2363 Don't use DDT's start address if the user requested some other
debugger and /TEST:DDT. Routine: LNKXIT
2364 Use the correct value (HL.S1) for highest location loaded when
calculating the number of pages for SSAVE JSYS. Routine: LNKXIT
2365 Preserve T4 in NEWSCT to prevent LINK from dying after issuing
certain messages if logical name LOG: is defined. Routine:
LNKCOR
2366 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 Fix a TOPS-10 core management problem in wake of edit 2366.
Routine: LNKOLD
2370 Fix off-by-one when the last page of a segment is allocated but
zero. Routine: LNKXIT
2371 Fix exit condition for long symbol names in 1070 code Routine:
LNKNEW
2372 Use right half of LL.S2 to calculate seg origin. Routine:
LNKOLD
2373 Truncate long symbols properly for DDT undefined symbol table.
Substitute "." for non sixbit characters when writting DDT symbol
table. Routine: LNKXIT
2374 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 Fix bug when reading in symbol table in LNKMAP. Routine: LNKMAP
2376 Do Copyrights.
LINK.DOC Page 17
[End of LINK.DOC]