VMS Help  —  ANALYZE  /OBJECT  Description
    The ANALYZE/OBJECT command describes the contents of one or more
    object modules contained in one or more files. It also performs
    a partial error analysis. This analysis determines whether all
    records in an object module conform in content, format, and
    sequence to the specifications of the I64, Alpha, or VAX Object
    Language.

    On OpenVMS I64 systems, the ANALYZE/OBJECT command automatically
    distinguishes I64, Alpha, and VAX objects by examining the format
    of the object modules header.

    ANALYZE/OBJECT is intended primarily for programmers compilers,
    debuggers, or other software involving the operating system's
    object modules. It checks that that the ELF object format (I64)
    or the object language records (VAX and Alpha) generated by
    the object modules are acceptable to the Linker utility, and
    it identifies certain errors in the file. It also provides a
    description of the records in the object file or object module
    library. For more information on the linker and on the Alpha
    and VAX object languages, refer to the VSI OpenVMS Linker Utility
    Manual. Information on the I64 object format will be available in
    a future release.

                                  NOTES

       For I64 images and objects, the Analyze utility determines
       whether the file it analyzes is an image file or object
       file. Although Analyze allows you to specify ANALYZE/IMAGE
       on an ELF object file, use ANALYZE/IMAGE for ELF image files
       and ANALYZE/OJBECT for ELF object files.

       The OpenVMS VAX and OpenVMS Alpha versions of ANALYZE/OBJECT
       are not fully capable of analyzing non-platform objects (for
       example I64 objects on VAX or Alpha).

       The output format of ANALYZE/OBJECT for ELF objects may
       change. Further, the default behavior for analyzing ELF
       objects differs from the behavior for analyzing Alpha or VAX
       objects. For ELF objects, a summary of the major ELF tables
       is displayed. With this information, you can select specific
       sections for further analysis. To locate errors, the entire
       object should be analyzed by selecting all sections.

       When you analyze I64 objects on I64 platforms,
       ANALYZE/OBJECT accepts either VAX- or Alpha-only qualifiers,
       but ignores any effect of these qualifiers.

    The ANALYZE/OBJECT command analyzes the object modules in order,
    record by record, from the first to the last record in the object
    module. Fields in each record are analyzed in order from the
    first to the last field in the record. After the object module
    is analyzed, you should compare the content and format of each
    type of record to the required content and format of that record
    as described by the OpenVMS I64, Alpha, or OpenVMS VAX Object
    Language. This comparison is particularly important if the
    analysis output contains a diagnostic message.

    ANALYZE/OBJECT displays the following information for object
    modules:

    o  Module architecture and type

    o  Module name

    o  Module version

    o  Module creation date and time

    o  Language processor creator

    Linking an object module differs from analyzing an object module.
    The object's contents are not interpreted; rather, only the meta
    information is checked for consistancy. As a result, even if
    the analysis is error free, the linking operation may not be. In
    particular, the analysis does not check the following for VAX and
    Alpha objects:

    o  That data arguments in TIR commands are in the correct format

    o  That "Store Data" TIR commands are storing within legal
       address limits

    Therefore, as a final check, you should still link an object
    module whose analysis is error free.

    If an error is found, however, the first error of the worst
    severity that is discovered is returned. For example, if a
    warning (A) and two errors (B and C) are signaled, then the first
    error (B) is returned as the image exit status, which is placed
    in the DCL symbol $STATUS at image exit.

    ANALYZE/OBJECT uses positional qualifiers; that is, qualifiers
    whose function depends on their position in the command line.
    When a positional qualifier precedes all of the input files in
    a command line, it affects all input files. For example, the
    following command line requests that the analysis include the
    global symbol directory records in files A, B, and C:

    $ ANALYZE/OBJECT/GSD A,B,C

    Conversely, when a positional qualifier is associated with only
    one file in the parameter list, only that file is affected. For
    example, the following command line requests that the analysis
    include the global symbol directory records in file B only:

    $ ANALYZE/OBJECT A,B/GSD,C

    For VAX and Alpha objects, typically, all records in an object
    module are analyzed. However, when the /DBG, /EOM, /GSD, /LNK,
    /MHD, /TBT, or /TIR qualifier is specified, only the record types
    indicated by the qualifiers are analyzed. All other record types
    are ignored.

    By default, the analysis includes all record types unless
    you explicitly request a limited analysis using appropriate
    qualifiers.

                                   NOTE

       For VAX and Alpha End-of-Module (EOM) records and module
       header (MHD) records are always analyzed, no matter which
       qualifiers you specify.

       For I64 objects the Elf header, the section header table
       and the note section are always analyzed, no matter which
       qualifiers you specify.
Close Help