HP Fortran for OpenVMS
User Manual


Previous Contents Index

2.7.5 Compilation Summary Section

The final entries on the compiler output listing are the compiler qualifiers and compiler statistics.

The body of the compilation summary contains information about OPTIONS statement qualifiers (if any), FORTRAN command line qualifiers, and compilation statistics.

"Compilation Statistics" shows the machine resources used by the compiler.

Example 2-7 shows a sample compilation summary.

Example 2-7 Sample Compilation Summary

COMMAND QUALIFIERS 
 
  /ADDRESSING_MODEL=NORMAL 
  /ALIGNMENT=(COMMONS=(NONATURAL,PACKED,NOSTANDARD,NOMULTILANGUAGE), 
                       RECORDS=NATURAL,NOSEQUENCE) 
  /ANNOTATIONS=(NOCODE,NODETAIL,NOFEEDBACK,NOINLINING,NOLINKAGES, 
                NOLOOP_TRANSFORMS,NOLOOP_UNROLLING,NOPREFETCHING, 
                NOSHRINKWRAPPING,NOSOFTWARE_PIPELINING,NOTAIL_CALLS) 
  /ARCHITECTURE=GENERIC 
  /ASSUME=(ACCURACY_SENSITIVE,ALTPARAM,NOBUFFERED_IO,NOBYTERECL, 
           NODUMMY_ALIASES,NOF77RTL,NOFP_CONSTANT,NOINT_CONSTANT, 
           NOMINUS0,PROTECT_CONSTANTS,NOSOURCE_INCLUDE,NOUNDERSCORE) 
  /NOAUTOMATIC 
  /NOBY_REF_CALL 
  /CCDEFAULT=DEFAULT 
  /CHECK=(NOARG_TEMP_CREATED,NOBOUNDS,FORMAT,NOFP_EXCEPTIONS,OUTPUT_CONVERSION, 
          NOOVERFLOW,POWER,NOUNDERFLOW,NOARG_INFO,NOFP_MODE) 
  /CONVERT=NATIVE 
  /DEBUG=(NOSYMBOLS,TRACEBACK) 
  /NODEFINE 
  /DOUBLE_SIZE=64 
  /NOD_LINES 
  /ERROR_LIMIT=30 
  /NOEXTEND_SOURCE 
  /F77 
  /NOFAST 
  /FLOAT=IEEE_FLOAT 
  /GRANULARITY=QUADWORD 
  /IEEE_MODE=DENORM_RESULTS 
  /INTEGER_SIZE=32 
  /MACHINE_CODE 
  /MATH_LIBRARY=ACCURATE 
  /NOMODULE 
  /NAMES=UPPERCASE 
  /OPTIMIZE=(INLINE=SPEED,LEVEL=4,NOLOOPS,PIPELINE,TUNE=GENERIC,UNROLL=0) 
  /NOPAD_SOURCE 
  /REAL_SIZE=32 
  /NORECURSIVE 
  /REENTRANCY=NONE 
  /ROUNDING_MODE=NEAREST 
  /NOSEPARATE_COMPILATION 
  /SEVERITY=(WARNING=WARNING) 
  /SHOW=(NODICTIONARY,NOINCLUDE,MAP,NOPREPROCESSOR) 
  /SOURCE_FORM=FREE 
  /STANDARD=NONE 
  /NOSYNCHRONOUS_EXCEPTIONS 
  /NOSYNTAX_ONLY 
  /NOTIE 
  /VMS 
  /WARNINGS=(ALIGNMENT,NOARGUMENT_CHECKING,NODECLARATIONS,GENERAL,GRANULARITY,NOIGNORE_LOC, 
             NOTRUNCATED_SOURCE,UNCALLED,UNINITIALIZED,NOUNUSED,USAGE) 
  /NOANALYSIS_DATA 
  /NODIAGNOSTICS 
  /INCLUDE=FORT$INCLUDE: 
  /LIST=GEMI64$DKA100:[JBISHOP.BUG]SIMPLE.LIS;1 
  /OBJECT=GEMI64$DKA100:[JBISHOP.BUG]SIMPLE.OBJ;1 
  /NOLIBRARY 
 
COMPILER: HP Fortran V8.0-xxxxx-xxxxx 
 
COMPILATION STATISTICS 
 
  CPU time:          0.13 seconds 
  Elapsed time:      1.06 seconds 
  Pagefaults:         720 
  I/O Count:           28 


Chapter 3
Linking and Running HP Fortran Programs

This chapter describes:

3.1 Linker Overview

The primary functions of the linker are to allocate virtual memory within the executable image, to resolve symbolic references among object modules being linked, to assign values to relocatable global symbols, to perform relocation, and to perform any requested special-purpose tasks. The linker creates an executable or shareable image that you can run on an OpenVMS system.

For any HP Fortran program unit, the object file generated by the compiler may contain calls and references to HP Fortran run-time procedures, which the linker locates automatically in the default system object libraries, such as IMAGELIB.OLB.

For More Information:

On linker capabilities, default system object libraries, and detailed descriptions of LINK command qualifiers and options, see the HP OpenVMS Linker Utility Manual.

3.2 LINK Command Qualifiers and Messages

The LINK command initiates the linking of the object file. The command has the following form:

LINK[/command-qualifiers] file-spec[/file-qualifiers]...

/command-qualifiers

Specify output file options.

file-spec

Specifies the input object file to be linked.

/file-qualifiers

Specify input file options.

In interactive mode, you can issue the LINK command without a file specification. The system then requests the file specifications with the following prompt:


_File:

You can enter multiple file specifications by separating them with commas (,) or plus signs (+). When used with the LINK command, the comma has the same effect as the plus sign; a single executable image is created from the input files specified. If no output file is specified, the linker produces an executable image with the same name as that of the first object file and with a file type of EXE.

Table 3-1 lists the linker qualifiers of particular interest to HP Fortran users.

Table 3-1 LINK Command Qualifiers
Function Qualifiers Defaults
Request output file, define a file specification, and specify whether to create an executable or shareable image. /EXECUTABLE[= file-spec]
/SHAREABLE[= file-spec]
(see Section 3.2.1.1)
/EXECUTABLE= name.EXE
where name is the name
of the first input file.
/NOSHAREABLE
Allow the executable image to interoperate with nonnative shared libraries. /[NO]NATIVE_ONLY
(see Section 3.2.1.2)
/NATIVE_ONLY (see Section 3.2.1)
Request and specify the contents of an image map (memory allocation) listing. /BRIEF
/[NO]CROSS_REFERENCE
/FULL
/[NO]MAP
(see Section 3.2.1.3)
/NOCROSS_REFERENCE
/NOMAP (interactive)
/MAP= name.MAP (batch)
where name is the name
of the first input file.
Specify the amount of debugging information. /[NO]DEBUG
/[NO]TRACEBACK
(see Section 3.2.2)
/NODEBUG
/TRACEBACK
Indicate the type of input files and request the inclusion of only certain object modules. /INCLUDE=(module-name...)
/LIBRARY
/SELECTIVE_SEARCH
as positional qualifier: /SHAREABLE
(see Section 3.2.3)
Not applicable
Request or disable the searching of default user libraries and system libraries. /[NO]SYSLIB
/[NO]SYSSHR
/[NO]USERLIBRARY[=table]
/SYSLIB
/SYSSHR
/USERLIBRARY=ALL
Indicate that an input file is a linker options file. /OPTIONS
(see Section 3.2.5)
Not applicable
Request a symbol table. /[NO]SYMBOL_TABLE[= file-spec]
(see Section 3.2.4)
/NOSYMBOL_TABLE

3.2.1 Linker Output File Qualifiers

You can use qualifiers on the LINK command line to control the output produced by the linker. You can also specify whether traceback and debugging information is included. (The /DEBUG and /TRACEBACK qualifiers are described in Section 3.2.2.)

Linker output consists of an image file and, optionally, a map file. The qualifiers that control image and map files are described under the headings that follow.

3.2.1.1 Image File Qualifiers

The LINK command /[NO]EXECUTABLE and /[NO]SHAREABLE qualifiers control whether the linker creates an executable image, a shareable image, or no image file.

For More Information:

3.2.1.2 /NATIVE_ONLY Qualifier

The FORTRAN command /[NO]TIE qualifier and the LINK command /[NO]NATIVE_ONLY qualifier together control whether procedure signature block (PSB) information is placed in the executable image.

The image activator uses the procedure signature block (PSB) information in the executable image to build jackets that allow calls (interoperability) with translated VAX shareable images on Alpha systems, and translated Alpha images on I64 systems. To allow interoperability with translated shareable images, you must:

The following command combination creates an executable image for translated image interoperability:


$ FORTRAN/TIE file 
$ LINK/NONATIVE_ONLY file 

Unless you need the PSB information for calls to translated shareable images, avoid placing PSB information in the executable image to minimize its size for performance reasons.

The default for the FORTRAN command, /NOTIE, results in the PSB information not being placed in the object module. The default for the LINK command, /NATIVE_ONLY, results in the linker not passing any PSB information present in the object module into the executable image.

For example, the following command combination creates a executable image for native use only (no PSB information in the executable image):


$ FORTRAN/TIE file 
$ LINK file 

The FORTRAN /TIE qualifier places the PSB information in the object module. By default, the linker does not propagate the PSB information, if found in the object module, to the executable image (default is /NATIVE_ONLY). The same object module might be retained and used in a different application that requires interoperability.

For More Information:

On interoperability, see Section B.6 and the manuals Migrating an Application from OpenVMS VAX to OpenVMS Alpha and Porting Applications from HP OpenVMS Alpha to HP OpenVMS Industry Standard 64 for Integrity Servers.

3.2.1.3 Map File Qualifiers

The LINK command /MAP qualifier and its associated qualifiers indicate whether an image map file is to be generated and, if so, the amount of information to be included in the image map file.

The map qualifiers are specified as follows:

/[NO]MAP[=file-spec]
  • /BRIEF
  • /CROSS_REFERENCE
  • /FULL

In interactive mode, the default is to suppress the map; in batch mode, the default is to generate the map.

If you do not include a file specification with the /MAP qualifier, the map file has the name of the first input file and a file type of MAP. It is stored on the default device in the default directory.

The /BRIEF and /FULL qualifiers define the amount of information included in the map file. They function as follows:

If neither /BRIEF nor /FULL is specified, the map file, by default, contains a summary of the image's characteristics, a list of contributing object modules (as produced by /BRIEF), and a list of global symbols and values, in symbol-name order.

You can use the /CROSS_REFERENCE qualifier with either the default or /FULL map qualifiers to request cross-reference information for global symbols. This cross-reference information indicates the object modules that define or refer to global symbols encountered during linking. The default is /NOCROSS_REFERENCE.

For More Information:

On image maps, see the HP OpenVMS Linker Utility Manual.

3.2.2 /DEBUG and /TRACEBACK Qualifiers

The /DEBUG qualifier includes the debugger and places local symbol information (contained in the object modules) in the executable image. The default is /NODEBUG.

When you use the /TRACEBACK qualifier, run-time error messages are accompanied by a symbolic traceback. This shows the sequence of calls that transferred control to the program unit in which the error occurred. If you specify /NOTRACEBACK, this information is not produced. The default is /TRACEBACK.

If you specify /DEBUG, the traceback capability is automatically included, and the /TRACEBACK qualifier is ignored.

For More Information:

3.2.3 Linker Input File Qualifiers

The LINK command input file qualifier /LIBRARY identifies the input file as a library file. The LINK command /INCLUDE qualifier specifies the names of one or more object modules in a library to be used as input files. The /SELECTIVE_SEARCH qualifier indicates that only symbols referenced from previous input files be taken from the specified file's list of global symbols, rather than all of the input file's global symbols.

To specify a shareable image as an input file, place the /SHAREABLE positional qualifier after the file specification in a link options file. In contrast to the /SHAREABLE qualifier you use on a LINK command line to create a shareable image, the /SHAREABLE positional qualifier in a link options file specifies a shareable image input file.

Input files can be object files, previously linked shareable files, or library files.

For More Information:

3.2.4 Linker Symbol Table Qualifier

The /SYMBOL_TABLE qualifier requests that the symbol table be written to a file.

The qualifier has the following form:

/SYMBOL_TABLE=file-spec

If you omit the file name, the linker uses a default file type of STB.

3.2.5 Linker Options File Qualifier

The /OPTIONS qualifier identifies a file as a linker options file, which contains additional information about the current link operation.

The qualifier has the following form:

file-spec/OPTIONS

The file specification is usually a file with default file type of OPT.

You can use an options file to specify additional information to the linker, including a shared image as input to the linker, declare universal symbols, and other features.

For more information on using an OPTIONS file, see the HP OpenVMS Linker Utility Manual.

3.2.6 Other Linker Qualifiers

This chapter discusses the more frequently used linker qualifiers. Other linker qualifiers specify additional libraries to be searched or to prevent default libraries from being searched, control image section characteristics and placement, creation of a global symbol table, and other linker operations.

HP Fortran programs should not be linked with certain linker qualifiers, such as /SYSTEM and /PROTECT.


Previous Next Contents Index