03/15/84 check_mst Syntax: check_mst REEL_NAME {-control_args} or: check_mst -file MST_FILE_NAME {-control_args} or: check_mst -tape REEL_NAME {-control_args} or: check_mst OUTPUT_FILE_NAME Function: scans a Multics system tape (MST), producing a report on the segments it defines and checking for certain errors and inconsistencies. Arguments: REEL_NAME is the name of the reel to be checked containing an MST written with generate_mst. MST_FILE_NAME is the pathname of the file created by generate_mst -file. OUTPUT_FILE_NAME is the name to be given to the output file if the input file has already been attached by generate_mst -hold. Control arguments: -density N, -den N specifies the recorded density of the MST. -severity N, -sv N specifies the minimum severity of errors to be printed. Notes on output format: The check_mst command produces an output file named REEL_NAME.ckrout (or OUTPUT_FILE_NAME.ckrout) that contains a list of the segments on the tape, as well as diagnostic information. For each segment there is an entry of the form: PRIMARY_NAME SEGNO (W, R, E) ATTRIBUTES1 NAME2 ATTRIBUTES2 NAME3 ATTRIBUTES3 NAME4 PATHNAME NAME5 ... ... ... ... ... ACL LIST ... where-- PRIMARY_NAME is the primary name of the segment. NAME1...NAMEN are additional names of the segment. Names that are not printed to the left of ATTRIBUTES are printed in a third column. W, R, E are the segment ring brackets, in the conventional order. ATTRIBUTES1 are the standard SDW access attributes for the segment: read, execute, write, privileged, encacheable, gate, and wired. The gate attribute is derived from the ring brackets. ATTRIBUTES2 are chosen from: init seg a segment that is deleted at the end of system initialization. temp seg an init seg that is deleted when its collection is complete. per process segments in the Initializer's process directory. firmware segments that contain MPC firmware images. ATTRIBUTES3 indicate that the segment has one of the following types of storage allocated or that no storage is allocated: wired length is the amount of memory used rounded up to an even 16-word boundary. This attribute is only meaningful for segments loaded before paging has been initialized. paged length is the length in pages of a segment that is either loaded after paging is initialized or that is made paged. The latter results in entries for both wired length and paged length. max length is a standard file system max length and is set for segments that grow dynamically. PATHNAME is any pathname the segment gets. ACL LIST is a standard access control list. Notes: After the segments have been listed a cross-reference is run over the contents of the tape, in an effort to detect links to nonexistent segments or entry points or types of links that the hardcore prelinker cannot snap. The cross-referencer produces messages for links between temp segments and other segments that do not exist. For example, a collection 1 temp seg cannot legally reference a collection 2 segment because the first is guaranteed to have been deleted before the second is loaded from the tape. Next, the cross-referencer produces four sorted lists-- 1. A list of references to entrypoints that cannot be found in segments. These are usually errors. 2. A list of links to segments that cannot be found on the MST, but are present in your search rules. This is a normal occurrence, since many hardcore programs check their ring of execution and make appropriate calls. When producing a modified system tape, check this list. 3. A list of segments that cannot be found at all. Unless the code that uses them is not executed, or unless they are installed online, they produce linkage errors. 4. A list of links to special star segnames (*system, *symbol, etc.). A *system link cannot be used in the hardcore, and the symbol section of hardcore programs is not retained; thus, any entries in this list should be investigated. Notes on error messages: The checker detects and reports on several classes of errors-- SEVERITY 4--FATAL the tape is malformed and cannot be read. This can be due to a logic error in generate_mst or tape I/O errors. SEVERITY 3--SEVERE ERROR a segment has run out of space, or the rules for the system tape have been violated. The checker keeps track of the amount of space used in the linkage segments, definitions_, and name_table. If an error indicates a wired overflow, then increase the cur_length specified in the header file to the size given in the total summary in the output file. If the error indicates a paged overflow, increase the max_length. SEVERITY 2--ERROR the cross-referencer finds references to entrypoints that are undefined in their containing segments or segments that cannot be found. WARNING other errors detected by the cross-referencer. Checker errors are reported by com_err_ and are written to the output file. There is a severity indicator that is zero or one if there are no errors detected. It is accessible with the severity active function: [severity check_mst] ----------------------------------------------------------- Historical Background This edition of the Multics software materials and documentation is provided and donated to Massachusetts Institute of Technology by Group BULL including BULL HN Information Systems Inc. as a contribution to computer science knowledge. This donation is made also to give evidence of the common contributions of Massachusetts Institute of Technology, Bell Laboratories, General Electric, Honeywell Information Systems Inc., Honeywell BULL Inc., Groupe BULL and BULL HN Information Systems Inc. to the development of this operating system. Multics development was initiated by Massachusetts Institute of Technology Project MAC (1963-1970), renamed the MIT Laboratory for Computer Science and Artificial Intelligence in the mid 1970s, under the leadership of Professor Fernando Jose Corbato. Users consider that Multics provided the best software architecture for managing computer hardware properly and for executing programs. Many subsequent operating systems incorporated Multics principles. Multics was distributed in 1975 to 2000 by Group Bull in Europe , and in the U.S. by Bull HN Information Systems Inc., as successor in interest by change in name only to Honeywell Bull Inc. and Honeywell Information Systems Inc. . ----------------------------------------------------------- Permission to use, copy, modify, and distribute these programs and their documentation for any purpose and without fee is hereby granted,provided that the below copyright notice and historical background appear in all copies and that both the copyright notice and historical background and this permission notice appear in supporting documentation, and that the names of MIT, HIS, BULL or BULL HN not be used in advertising or publicity pertaining to distribution of the programs without specific prior written permission. Copyright 1972 by Massachusetts Institute of Technology and Honeywell Information Systems Inc. Copyright 2006 by BULL HN Information Systems Inc. Copyright 2006 by Bull SAS All Rights Reserved