Chapter Contents

Previous

Next
The CMS GENCSEG Utility

Load Parameters

With the exception of the segment name parameter, all GENCSEG parameters are designated by a hyphen (-) followed by a letter. For example, -a designates the ALIGN parameter. In general, use of any single load parameter causes all of the default load parameters to be overridden.


The Segment Name Parameter

The name of the segment to be created must appear as the first parameter on the command line. Do not prefix the name with a hyphen. The name must match the name used in the segment definition. Specifying a segment name does not override any other default load parameters. For example, the following command indicates that GENCSEG should create a segment named MYDCSS:

GENCSEG MYDCSS

CAUTION:
Do not invoke GENCSEG without entering a segment name and the name of at least one LOADLIB following the LOADLIB (-l) option. By default, if you do not specify a segment name and the name of a LOADLIB, GENCSEG attempts to install the compiler and run-time library into the LSCRTL segment.  [cautionend]


The LOADLIB Parameter: -l

The LOADLIB parameter (-l) specifies the name of a LOADLIB file from which members are to be installed. For example, the following causes GENCSEG to install all the members of PROJECT LOADLIB:

GENCSEG MYDCSS -lPROJECT

GENCSEG searches for PROJECT LOADLIB on any ACCESSed minidisk, using the normal CMS search order. All of the members in PROJECT LOADLIB are installed in the order they are found in the LOADLIB directory, beginning at the address pointed to by the load address.

If you do not want all the members of the LOADLIB to be installed or if you want to specify a different order, append a list of member names to the LOADLIB filename. The member name list must be enclosed in parentheses, and member names must be separated with a comma. For example, the following command causes GENCSEG to install MEM1 first, followed by MEM2 and MEM4:

GENCSEG MYDCSS -lPROJECT(MEM1,MEM2,MEM4)

This command causes GENCSEG to install MEM4 first, followed by MEM2 and MEM1:

GENCSEG MYDCSS -lPROJECT(MEM4,MEM2,MEM1)

Any other members in PROJECT LOADLIB are ignored.

Alias entries in LOADLIBs

LOADLIB directories can have alias entries. Aliases are created by the LKED command and are used to specify alternative names and possibly alternative entry points to a member known as the parent member. GENCSEG does not install a new copy of the parent for an alias name. Instead, it adds an entry in the segment directory for the alias name, where the entry point given in the segment directory refers to a location in the installed parent member. You can specify an alias name in a member name list either before or after the occurrence of the parent member name. GENCSEG creates the directory accordingly.

However, if you specify an alias name in the member name list, you must also specify the name of the parent member. If GENCSEG encounters an alias name and does not find the corresponding parent name, the installation is terminated.


The ALIGN Parameter: -a

Use the ALIGN parameter (-a) to indicate that loadaddr should be increased to the next address that is a multiple of n K, where n is an integer immediately following the parameter. n can be 2, 4, 8, or 64, as in the following example:

GENCSEG MYDCSS -lPROJECT -a2 -lPROJECT2

In this example, all the members of LOADLIB PROJECT are installed starting at the next address after the end of the directory. loadaddr is then aligned to the next 2K address, and the members of LOADLIB PROJECT2 are installed. If ALIGN is not specified, then loadaddr is the next available address.


The PAGE Parameter: -p

Use the PAGE parameter (-p) to cause members to be aligned to a page offset from the beginning of the segment. The following example requests alignment to the beginning of the fifteenth 4K page from the beginning of the segment:

GENCSEG MYDCSS -p15

Each page of memory requested by the PAGE parameter equals 4K bytes. Note that the PAGE option cannot make loadaddr point to a lower address.


The SPACE Parameter: -s

Use the SPACE parameter (-s) to add an n K value to loadaddr, where n can be between 1 and 256 inclusive. The following example indicates that loadaddr should be incremented by 1K after installing LOADLIB PROJECT and before installing PROJECT2:

GENCSEG MYDCSS -lPROJECT -s1 -lPROJECT2

If you do not specify SPACE, loadaddr is incremented only by the size of the member being loaded.


Calculating the Total Segment Size

Upon completion, GENCSEG reports the total size of the segment in bytes. This value includes the total size of the directory, the members installed, and the amount added by the SPACE, PAGE, and ALIGN parameters.


Chapter Contents

Previous

Next

Top of Page

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.