MAKLIB Users Manual Jan82

Order Number: AA-M472A-TB

This document is the TOPS-10 MAKLIB User's Guide (January 1982), detailing the MAKLIB utility for the TOPS-10 V7.01 operating system. MAKLIB is used to organize and manipulate libraries of relocatable object (REL) modules, which are produced by compilers and assemblers and linked by the LINK program to create executable (.EXE) files.

MAKLIB performs four primary functions on library files:

  1. Obtaining Information about Libraries:

    • /LIST: Lists the names of modules within a library, including segment break values.
    • /POINTS: Lists all entry points (subroutine addresses) in a library.
    • /TRACE: Displays a history of edits made to a library, stored in TRACE blocks (REL Block type 1060).
    • /LOAD: Shows additional loading instructions embedded within the library (e.g., REQUEST, REQUIRE, or ASCII text blocks).
  2. Manipulating Libraries: This involves creating new libraries or modifying existing ones by adding, deleting, extracting, or replacing modules.

    • /APPEND: Adds new modules from a transaction file to the end of an existing library.
    • /DELETE: Removes specified modules from a master library.
    • /EXTRACT: Creates a new library containing a subset of modules from the master library.
    • /INSERT: Inserts new modules from a transaction file into a master library before a specified module.
    • /REPLACE: Replaces existing modules in the master library with modules from a transaction file.
    • /MASTER: Identifies modules in the master library that correspond to those in the transaction file for update (used with /INSERT and /REPLACE).
  3. Modifying Libraries: These functions aim to optimize the library's use by the LINK program.

    • /INDEX: Inserts INDEX blocks (REL Block type 14) into the file, allowing LINK to search more efficiently for entry points and reduce loading time.
    • /NOLOCALS: Creates a new library with all local symbols deleted, which reduces storage space and speeds up loading, while global symbols are retained for linking.
  4. Editing Libraries: MAKLIB allows direct patching or editing of relocatable object module code within a library.

    • This is done using a text file called a .FIX file, which contains one or more "edits" defined by control pseudo-ops and MACRO assembly language code.
    • Key pseudo-ops include .EDIT (identifies an edit), .MODULE (specifies the module to edit), .ALTER (changes a specific location's content), .INSERT (adds new code before, after, or replacing existing instructions, ending with .ENDI), .REMOVE (deactivates an edit), .REINSERT (activates a previously removed edit), and .ENDE (marks the end of an entire edit).
    • The /FIX switch applies these changes, and the /WHO switch optionally records the initials of the person making the edit. MAKLIB's patching mechanism typically involves inserting JUMPA instructions to redirect execution to the new code.

MAKLIB is run from the TOPS-10 command prompt, using a command string that specifies destination and source files, along with switches and their arguments to define the desired operation. The document also provides details on error messages, TRACE block format, and code insertion methods.

AA-M472A-TB
May 1982
56 pages
Quality

Original
2.1MB

Site structure and layout ©2025 Majenko Technologies