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 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.
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.
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.
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.
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.
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.
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.
Copyright © 2001
by SAS Institute Inc., Cary, NC, USA. All rights reserved.