VMS Help  —  LINK
acceptable parameter values: Keyword Description ALL Directs the linker to search the process, group, and system logical name tables for default user library definitions. This is the default. GROUP Directs the linker to search the group logical name table for default user library definitions. NONE Directs the linker not to search any logical name table; the /USERLIBRARY=NONE qualifier is equivalent to the /NOUSERLIBRARY qualifier. PROCESS Directs the linker to search the process logical name table for default user library definitions. SYSTEM Directs the linker to search the system logical name table for default user library definitions.

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.
Close Help