MKL2B.DOC -- Changes from V2A(67) TO V2B(107) February 1981 COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION 1975,1978,1979,1980,1981,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. MKL2B.DOC Page 2 MAKLIB.DOC -- Changes from V2A(67) to V2B(107) February 1981 1.0 SUMMARY Version 2B is a maintenance release of MAKLIB and contains bug fixes and minor enhancements. MAKLIB should be compiled with MACRO V53A or later. The latest distributed copies of MACTEN.UNV, UUOSYM.UNV, SCNMAC.UNV, HELPER.REL, SCAN.REL, and WILD.REL should be used. In addition, LINK 4A(1220) or a later version should be used. 2.0 EXTERNAL CHANGES 1.0 No existing commands or actions have been changed. 2.0 If one of the files to be appended is missing, MAKLIB will continue processing after displaying the ?MKLNPC error message. This message has been changed from a warning to a fatal error. 3.0 The following error messages have been changed to make them more readable and meaningful. OLD: ?MKLTMN Too many module names NEW: ?MKLTMN Too many module names .. stopped at [MODULE] OLD: ?MKLBDA Bad .DATE argument NEW: ?MKLBDA Bad .DATE argument for edit: [EDIT] OLD: %MKLNPC No program code was found for module NEW: ?MKLNPC No program code was found for module in edit [EDIT] OLD: %MKLTFR all TRANSACTION files rejected by condition. NEW: ?MKLTFR all TRANSACTION files rejected by condition. 3.0 KNOWN BUGS AND DEFICIENCIES None. MKL2B.DOC Page 3 4.0 INSTALLATION INSTRUCTIONS The following is for informational purposes only. The feature test switch FTBPT has been added. All of the code to facilitate binary patching is under this conditional, which is distributed as "ON" (non-zero) in the field-image version. Since the code for the BPT comprises about 80% of MAKLIB, turning this switch off if the BPT is not needed can save some memory space. Manual loading of SCAN, WILD and HELPER is no longer necessary as the .REQUEST and .REQUIRE pseudo-ops have been added to facilitate automatic requests for these routines. 5.0 INTERNAL CHANGES The following is for informational purposes only. Much addition and re-organization of the program was done to enable the addition of the BPT. the register allocation and much of the I/O has been re-written. In addition, a small loader and a large MACRO assembler have been added to allow binary patching. Also, a module has been added to allow MAKLIB to do internal tests of its own routines. This is a debugging feature, and is not present in the field-image version. EDIT SPR COMMENT 70 22997 Allow standard SCAN/WILD switches (i.e. SINCE, BEFORE, ETC.) TO WORK. 71 27130 Fix indexing of block that is Exactly 200 (octal) words long. 72 24665 Have switch processing continue if one file not found. 73 12886 Get right file name in NIO error message. 74 (NONE) Fix "ILL MEM REF" caused by looking at an invalid polish pointer. 75 (NONE) Give an error message if the user tries to remove an edit that has no code associated with it. MKL2B.DOC Page 4 76 (NONE) Give correct device in LOOKUP error message in SWTDIS. 77 (NONE) Increase the number of modules that can be specified on one command line from 20 to 100. 100 (NONE) Specify in the error message "Too many module .." how far modules are being accepted by clarifying the message "Too many module.. stopped at [module]. 101 (NONE) Add edit number to the error message ?MKLBDA. 102 (NONE) Give Error Return If INSERT or ALTER pseudo-op is used on the module with no code associated with it. 103 (NONE) Display an error ?MKLIAL with correct EDIT number. 104 30005 Print correct creation date on switches points and list. 105 30405 Improve effective address calculation. EVAADR should skip EVALEX pass if "(" followed by blank and accept the valid return value in AC "A" by checking c.lhnz. 106 (NONE) Recognize partially defined symbol if it is dependant on another symbol. 107 30538 If no transaction file exists Maklib returns MKLTFR as a fatal error instead of a warning message. [end of MKL2B.DOC] MKL2B.DOC Page 5 [MKL2A.DOC is appended as an integral part of MKL2B.DOC] MKL2A.DOC -- Changes from V2(14) to V2A(63) July 1978 1.0 SUMMARY Version 2A is a maintenance release of MAKLIB and contains bug fixes and minor enhancements. MAKLIB should be compiled with MACRO V53A or later. The latest distributed copies of MACTEN.UNV, UUOSYM.UNV, SCNMAC.UNV, HELPER.REL, SCAN.REL, and WILD.REL should be used. In addition, to correctly load programs containing MAKLIB binary fixes, a version of LINK with edit 454 must be used. 2.0 EXTERNAL CHANGES None. 3.0 KNOWN BUGS AND DEFICIENCIES The following restriction should be noted when creating FIX files for use with the FIX command switch: Unconditional branch instructions (JRST, JUMPA) should not be used as the reference line (code to match) of a .INSERT pseudo-op with KEYWORD:AFTER. Attempts to do this will result in patches which are unreachable. 4.0 INSTALLATION INSTRUCTIONS Installation instructions follow in section 4 of MKL2.DOC which is appended. 5.0 INTERNAL CHANGES None. [End of MKL2A.DOC] [MKL2.DOC is appended as an integral part of MKL2A.DOC] MKL1.DOC Page 6 MAKLIB.DOC -- Changes from V1(6) to V2(14) JANUARY 1976 1.0 SUMMARY The main reason for the release of MAKLIB V.2 is the addition of the Binary Patching Tool. (BPT) The BPT was included to allow some level of support for products distributed in relocatable binary format rather than source level. MAKLIB should be compiled with MACRO V50 or later. The latest distributed copies of MACTEN.UNV, UUOSYM.UNV, SCNMAC.UNV, HELPER.REL and WILD.REL should be used. (See MAKLIB.CTL). The version of SCAN that MAKLIB uses is SCN7A, although any SCAN V7 is usable as long as the appropriate changes are made to the MAKLIB source. In addition to this, to correctly load programs containing MAKLIB binary fixes, a version of LINK with edit 454 must be used. 2.0 EXTERNAL CHANGES No existing commands or actions were changed. For a description of the use of the BPT, refer to MAKLIB.HLP or MAKLIB.MAN. A more full implementation of system-standard error messages is also part of this release. 3.0 KNOWN BUGS AND DEFICIENCIES The main use of the BPT will be for installation of DEC supplied patches to products for which the sources are not available. The BPT will work with REL files produced by MACRO V50 and BLISS10. The BPT may not work with any code produced by a compiler using polish fixups or internal fixups. 4.0 INSTALLATION INSTRUCTIONS The feature test switch FTBPT has been added. All of the code to facilitate binary patching is under this conditional, which is distributed as "on" (non-zero) in the field-image version. Since the code for the BPT comprises about 80% of MAKLIB, turning this switch off if the BPT is not needed can save some memory space. Manual loading of SCAN, WILD and HELPER is no longer necessary as the .REQUEST and .REQUIRE pseudo-ops have been added to facilitate automatic requests for these routines. MKL1.DOC Page 7 5.0 INTERNAL CHANGES Much addition and re-organization of the program was done to enable the addition of the BPT. The register allocation and much of the IO has been re-written. In addition, a small loader and a large MACRO assembler have been added to allow binary patching. Also, a module has been added to allow MAKLIB to do internal tests of its own routines. This is a debugging feature, and is not present in the field-image version. [End of MKL2.DOC] [MKL1.DOC is appended as an integral part of MKL2.DOC] MAKLIB.DOC Page 8 MAKLIB.DOC -- V1(6) July 1975 1.0 SUMMARY MAKLIB is intended as an eventual replacement for FUDGE2. This version has been tested under 5.07 and 6.01 as well as 6.02 monitors. It uses SCAN Version 7 and WILD Version 7. MAKLIB.HLP describes the various commands to MAKLIB and their functions. See FUDGE2 documentation in the Software Notebooks for a description of indexing. MAKLIB is described in the SYSTEM COMMANDS section of the Software Notebooks. See the SCAN documentation in the Software Notebooks for information about command scanning. 2.0 EXTERNAL CHANGES 2.1 Differences from FUDGE2-2D MAKLIB does not delete local symbols when indexing the library. Command strings are ended by carriage return line feed. 3.0 KNOWN BUGS AND DEFICIENCIES None. 4.0 INSTALLATION INSTRUCTIONS Must be loaded with SCAN and WILD. See MAKLIB.CTL for details on installation. 5.0 INTERNAL CHANGES MAKLIB has been updated to recognize LINK block types 1000 to 1777 and to handle ASCII text blocks. Edit # 01 All switches except INDEX and INSERT are recognizable as one letter abbreviations. 02 Issue correct error message for protection violation. MAKLIB.DOC Page 9 03 Issue error messages for switches on output and for more than one switch given with a stand-alone switch(INDEX,NOLOCAL). 04 Do not replace specified extension with .LST on LIST and POINTS, but do fill it in as default. 05 Error messages for modules out of order made more specific. 06 Version number fixed. 6.0 SUGGESTIONS None. [End of MKL1.DOC]