38 /VAX
Alpha and VAX systems. Directs the linker to produce an OpenVMS VAX image. The default action, when neither /ALPHA nor /VAX is specified, is to create an OpenVMS VAX image on an OpenVMS VAX system and to create an OpenVMS Alpha image on an OpenVMS Alpha system. Format /VAX
38.1 – Qualifier Values
None.
38.2 – Option Descriptions
39 – BASE
VAX systems only. Specifies the base address (starting address) that you want the linker to assign to the image. Format BASE=address
39.1 – Option Values
address The address at which you want the image based. You can express the number in decimal (%D), octal (%O), or hexadecimal (%X) notation. If the address specified is not divisible by 512, the linker automatically adjusts it upward to the next multiple of 512, that is, to the next highest page boundary. Do not attempt to base an image linked with a larger page size (specified using the /BPAGE qualifier). The linker bases shareable images at address 0, by default, and bases system images at address %X80000000, by default.
40 – CASE_SENSITIVE
Directs the linker to preserve the mixture of uppercase and lowercase characters used in character string arguments to linker options. Format CASE_SENSITIVE=YES/NO CASE_SENSITIVE=NO (default)
40.1 – Option Values
YES Enables case sensitivity. You can use any mixture of uppercase and lowercase characters when specifying the keyword YES. NO Disables case sensitivity. Note that you must use only uppercase characters when specifying the keyword NO because case sensitivity is enabled and the linker does not accept mixed case in keywords.
41 – CLUSTER
Directs the linker to create a cluster. (The linker groups input files into clusters before processing their contents.) Format CLUSTER=cluster-name[,base-address[,pfc[,file-spec[,...]]]]
41.1 – Option Values
cluster-name The name you want assigned to the cluster. base-address The base virtual address for the cluster. If you omit the base- address value, you must still enter the comma. On I64 systems, the base address must be omitted. For Alpha linking, it is illegal to specify a base address for a cluster when creating a shareable image. pfc (page fault cluster) The number of pagelets read into memory by the operating system when the initial page fault occurs for a page in the cluster. If you do not specify the pfc parameter, the operating system uses the default value established by the system parameter PFCDEFAULT. If you omit the page fault cluster value, you must still enter the comma. file-spec The file you want the linker to place in the cluster. Note that you should not specify in the LINK command itself any file that you specify with the CLUSTER= option (unless you want to include two copies of the file in the final image).
42 – COLLECT
Directs the linker to place the specified program section (or program sections) into the specified cluster. Format COLLECT=cluster-name[/ATTRIBUTES=(RESIDENT,INITIALIZATION_CODE)],psect-name[,...]
42.1 – Option Values
cluster-name Name of the cluster. psect-name Name of the program sections (psects) you want placed in the cluster.
42.2 – Qualifier
42.2.1 /ATTRIBUTES
For I64 and Alpha linking, directs the linker to mark the cluster 'cluster-name' with the indicated qualifier keyword value. Attributes set by this qualifier are only evaluated by the loader. This qualifier is used to build OpenVMS drivers. See Writing OpenVMS Alpha Device Drivers in C for guidelines for using this qualifier. Qualifier Values RESIDENT Marks the cluster 'cluster-name' as RESIDENT so that the segment (I64) or image section (Alpha) created from that cluster has the RESIDENT flag set. This will cause the loader to map the segment or image section into non-paged memory. INITIALIZATION_CODE Marks the cluster 'cluster-name' as INITIALIZATION_CODE so that the segment (I64) or image section (Alpha) created from that cluster has the INITALCOD flag set. The initialization code will be executed by the loader. This keyword is specifically intended for use with program sections from modules SYS$DOINIT and SYS$DRIVER_INIT in STARLET.OLB.
43 – DZRO_MIN
Alpha and VAX systems. Specifies the minimum number of contiguous, uninitialized pages that the linker must find in an image section before it can extract the pages from the image section and place them in a newly created demand-zero image section. By creating demand-zero image sections (image sections that do not contain initialized data), the linker can reduce the size of images. Format DZRO_MIN=number-of-pages
43.1 – Option Values
number-of-pages Specifies the minimum number of contiguous pages. For VAX linking, the linker, by default, uses a minimum of 5 pages. Each VAX page equals 512 bytes. For Alpha linking, the linker, by default, uses a minimum of 1 page. The size of an Alpha page is CPU-specific. The initial set of Alpha systems uses an 8 KB page. The page size used is that of the current link operation. (See the /BPAGE qualifier.) The number of pages must be equal to or greater than the value specified in the parameter.
44 – GSMATCH
Sets match control parameters for a shareable image and specifies the match algorithm. This option allows you to control whether executable images that link with a shareable image must be relinked each time the shareable image is updated and relinked. Format GSMATCH=keyword,major-id,minor-id GSMATCH=EQUAL,link-time-derived-major-id,link-time-derived-minor-id (default)
44.1 – Option Values
keyword Identifies the match algorithm used by the image activator. Specify one of the following keywords: Keyword Meaning EQUAL Directs the image activator to allow the image to map to the referenced shareable image when one condition is met: o the major and minor ID for the shareable image, as saved at link time in the image file, are equal to the IDs found in the actual shareable image file at activation time. LEQUAL Directs the image activator to allow the image to map to the referenced shareable image when two conditions are met: o the major ID for the shareable image, as saved at link time in the image file, is equal to the major ID found in the actual shareable image file at activation time o the minor ID for the shareable image, as saved at link time in the image file, is less than or equal to the minor ID found in the actual shareable image file at activation time. ALWAYS Directs the image activator to unconditionally allow the image to map to the referenced shareable image: o regardless of the values of the major and minor ID for the shareable image, as saved at link time in the image file, and the values of the IDs found in the actual shareable image file at activation time. Note that you must still specify values for the major ID and minor ID parameters to satisfy the requirements of the option syntax. major-id Specifies the major identification number. minor-id Specifies the minor identification number. When a shareable image is created without specifying a GSMATCH= option, the linker by default creates one. It sets the EQUAL match control and uses portions of the image creation time, as a binary value, for the major and minor IDs. In general this is sufficient to set a unique value for the IDs each time the shareable image is linked. On I64, the linker uses bits 40 through 54 of the binary time value for the major ID and bits 8 through 39 for the minor ID. On Alpha and VAX, the linker uses bits 32 through 46 of the binary time value for the major ID and bits 16 through 31 for the minor ID.
45 – IDENTIFICATION
Sets the image-id field in the image file. The image identification usually holds a version number of the image, but can be used for any text to identify the generated image. Format IDENTIFICATION=id-name
45.1 – Option Values
id-name The maximum length of the identification character string is 15 characters. If the string contains characters other than uppercase and lowercase A through Z, the numerals 0 through 9, the dollar sign, and the underscore, enclose it in quotation marks.
46 – IOSEGMENT
Specifies the amount of space to be allocated for the image I/O segment, which holds the buffers and OpenVMS RMS control information for all files used by the image. Format IOSEGMENT=number-of-pagelets[,[NO]P0BUFS] IOSEGMENT=0,NOP0BUFS (default)
46.1 – Option Values
number-of-pagelets Specifies the number of pagelets (512-byte units) to be allocated for the image I/O segment. By default, the operating system uses the value set by the IMGIOCNT system parameter to determine the size of the image I/O space. [NO]P0BUFS By default, the operating system allocates the I/O segment in the P1 region of the process space and, if additional space is needed, at the end of the P0 region. If you specify NOP0BUFS, you deny OpenVMS RMS additional pages in the P0 region.
47 – ISD_MAX
Alpha and VAX systems. Specifies the maximum number of image sections allowed in the image. Format ISD_MAX=number-of-image-sections ISD_MAX=96 (default, approximate value)
47.1 – Option Values
number-of-image-sections The maximum number of image sections that may be created. You can specify the value in hexadecimal (%X), decimal (%D), or octal (%O) radix. The default is decimal radix.
48 – NAME
Sets the image-name field in the image file. The image name is used on Alpha and VAX systems to resolve self-references in the shareable image list. Format NAME=image-name
48.1 – Option Values
image-name A character string up to 39 characters in length. If the name contains characters other than uppercase and lowercase A through Z, the numerals 0 through 9, the dollar sign, and the underscore, enclose it in quotation marks.
49 – PROTECT
Specifies that the segments (I64) or image sections (Alpha) in one or more clusters in a shareable image should be protected from user-mode or supervisor-mode write access. Format PROTECT=YES/NO PROTECT=NO (default)
49.1 – Option Values
YES Enables protection for all the clusters defined in subsequent lines in the options file by the CLUSTER= option or the COLLECT= option, up to a line containing another PROTECT= option. NO Disables protection for all clusters specified on subsequent lines of a linker options file by the CLUSTER= option or the COLLECT= option, up to the line containing another PROTECT=YES option. Protection is disabled by default.
50 – PSECT_ATTRIBUTE
Specifies the attributes of a program section. Format PSECT_ATTRIBUTE=psect-name,attribute-keyword[,...]
50.1 – Option Values
psect-name Specifies the name of the program section whose attributes you want to set. The name may be a character string up to 31 characters in length. attribute-keyword One or more attributes, identified by a keyword or a number, separated by commas.
51 – RMS_RELATED_CONTEXT
Enables or disables RMS related name context processing. This is also known as file specification "stickiness." The default is to have RMS related name context processing enabled. This default applies at the start of each options file regardless of the setting in a previous options file. The related name context itself (the collection of data structures RMS maintains to supply the most recently specified fields) does not carry over from one linker options file to the next. That is, previously specified fields in the previous options file are not used to fill in absent fields for file specifications in the current options file. Format RMS_RELATED_CONTEXT=YES/NO RMS_RELATED_CONTEXT=YES (default)
51.1 – Option Values
YES Enables RMS related name context processing. If an option RMS_ RELATED_CONTEXT=NO is in effect, its saved related name context is restored. If RMS related name context processing is already enabled, this option has no effect. RMS related name context processing is enabled by default. Therefore command line file specifications are processed with RMS related name context. Also, RMS related name context processing is enabled at the start of each options file. The related name context is limited to a single options file. That is, the saved related name context is cleared at the start of each options file. NO Disables RMS related name context processing. If an option RMS_ RELATED_CONTEXT=YES is in effect, the current name context is saved for a possible future RMS_RELATED_CONTEXT=YES option. If RMS related name context processing is already disabled, specifying RMS_RELATED_CONTEXT=NO has no effect.
52 – STACK
Specifies the size of the user-mode stack. Format STACK=number-of-pagelets STACK=20 (default)
52.1 – Option Values
number-of-pagelets Specifies the size of the stack in pagelets (512-byte units).
53 – SYMBOL
Directs the linker to define an absolute global symbol with the specified name and assign it the specified value. You can use this option to specify a link-time constant. Format SYMBOL=symbol-name,symbol-value
53.1 – Option Values
symbol-name A character string up to 31 characters in length. symbol-value The value you want to assign to the symbol. An absolute global symbol has a fixed numeric value and is therefore not relocatable. Thus, the value must be a number. On I64, the numeric value is a 64-bit value.
54 – SYMBOL_TABLE
I64 and Alpha systems. Specifies whether the linker should include global symbols in a symbol table file produced in a link operation in which a shareable image is created. By default, the linker includes only universal symbols in a symbol table file associated with a shareable image. Format SYMBOL_TABLE=GLOBALS/UNIVERSALS SYMBOL_TABLE=UNIVERSALS (default)
54.1 – Option Values
GLOBALS Specifies that the linker should include global symbols and universal symbols in the symbol table file associated with the shareable image. UNIVERSALS Specifies that the linker should include only universal symbols in the symbol table file associated with the shareable image.
55 – SYMBOL_VECTOR
I64 and Alpha systems. Declares universal symbols in shareable images. Format SYMBOL_VECTOR=([alias/]name=entry-type[,...])
55.1 – Option Values
alias Optionally specifies an alias name for the symbol you want to declare universal. When specified, the alias name appears in the global symbol table (GST) of the image and values associated with the name specified in the symbol-name parameter appear in the symbol vector of the image. Note that you can specify alias names only for symbol vector entries declared using the DATA or PROCEDURE keywords. For more information about symbol vector entry types, see the following table. name Specifies the name of the symbol or the name of a program section in the shareable image that you want to declare universal. entry-type Specifies the type of the symbol vector entry. The following table lists the types of symbol vector entries supported by the linker along with the keyword you use to specify them: Keyword Function DATA Creates a symbol vector entry for data (relocatable or constant). The linker creates an entry for the symbol in the GST of the shareable image. PROCEDURE Creates a symbol vector entry for a procedure and creates an entry for the symbol in the GST of the shareable image. PRIVATE_DATA Creates a symbol vector entry for data; however, the linker does not create an entry for the data in the GST of the shareable image. Thus, the symbol is not available for other modules to link against. PRIVATE_ Creates a symbol vector entry for a procedure; PROCEDURE however, the linker does not create an entry for the procedure in the GST of the shareable image. Thus, the symbol is not available for other modules to link against. PSECT Creates a symbol vector entry for a program section and creates an entry for the program section in the GST of the shareable image. SPARE Use this keyword to create a placeholder. SPARE allows you to preserve the order of the symbol vector entries when you need to create an upwardly compatible shareable image. The SPARE keyword is used alone; it is not preceded by a symbol name and equal sign.
56 – UNIVERSAL
VAX systems only. Declares a symbol in a shareable image as universal, causing the linker to include it in the global symbol table of a shareable image. Format UNIVERSAL=symbol-name[,...]
56.1 – Option Values
symbol-name The name of the symbol or symbols you want to declare universal.