The AEST utility translates OpenVMS Alpha executable and shareable
images into functionally equivalent OpenVMS I64 system images. AEST
also allows you to analyze OpenVMS Alpha images to assess their
translatability.
Format
AEST[/qualifier,...] image[.EXE]
1 /AIIF
Instructs AEST to use the specified Alpha Image Information File (AIIF)
when translating current image. Normally, AEST forms the translated
image references by adding the suffix _AV to Alpha image names.
The /AIIF qualifier allows you to change this behavior.
Default: None
Format
/[NO]AIIF=(filespec[,filespec...])
1.1 – Qualifier Values
filespec
Identifies a file specification for the .AIIF file.
1.2 – Description
Alpha Image Information File (.AIIF file) contains the information used
by AEST to renames the image references in the Alpha file that is
currently translated. Such files are used to relink the translated image
against the different shareable images and to modify fixup information.
The .AIIF file describes the properties of a shareable image's exported
interface, that is, the precise locations that are described in the
image's symbol vector. These files contain mapping between Alpha and
I64 entry points.
The /NOAIIF qualifier tells AEST not to use the specified AIIF file,
even if it is found.
AEST searches for .AIIF files in the following locations and
in the following order:
1. The directory or directories specified as values to the
/AIIF qualifier in the AEST command line.
2. Locations specified by logical names. The logical name for each AIIF
file must be formed appropriately from the shareable image list plus
the extension (.AIIF). For example, for the dynamic image SYS$PUBLIC_VECTORS,
the appropriate logical name would be SYS$PUBLIC_VECTORS.AIIF.
3. The current directory.
4. The directory pointed to by the SYS$LIBRARY logical name.
AIIF file syntax:
C-style multiline comments are allowed in any place in the file.
The following delimiters are allowed between fields of file line:
o ' '
o '\t'
o ','
Two type of lines are allowed for .AIIF files:
1. The first type of line is needed for reassigning the old symbol vector index of
a linked library to a new symbol vector index and probably in another library.
Use the following format for this purpose:
old_symv_idx new_symv_idx [, "new_name"]
Where:
Argument Description Usage
-------- ----------- -----
old_symv_idx old symbol vector (as decimal)
index
new_symv_idx new symbol vector (as decimal)
index
new_name optional, newly (as ASCII, must be enclosed in
linked library double quotation marks (" "))
2. The second type of line is needed for assigning new GSMATCH fields for
newly linked libraries. Use the following format for this purpose:
"name" match_ctl minor_id major_id
Where:
Argument Description Usage
-------- ----------- -----
name Name of newly (as ASCII, must be enclosed in
linked library double quotation marks (" "))
match_ctl matching (as decimal). Identifies the match
algorithm used by the image activator.
Specify one of the following values:
0 - ALWAYS
1 - EQUAL
2 - LEQUAL
minor_id minor id (as decimal)
major_id mahor id (as decimal)
2 /AUDIT
Instructs AEST to analyze the input image and to summarize its
migration characteristics, but not to perform image translation.
Note that, by default, AEST performs an audit before it translates
the image, but it does not print verbose information into list file.
Default: /NOAUDIT
Format
/AUDIT
2.1 – Description
The summary specifies:
o Whether the image is translatable
o Source language or languages of the image (if known)
The audit summary is a one-line description of an image's migration
characteristics that may help you decide what migration option to choose
for the image.
3 /EXECUTABLE
Enables the creation of a translated image and, optionally, includes
a file specification.
Default: /EXECUTABLE
Format
/EXECUTABLE [=filespec]
3.1 – Qualifier Values
filespec
Defines the file specification for the translated image.
3.2 – Description
By default, AEST creates a translated image unless the command
line specifies qualifiers that are incompatible (the /AUDIT
qualifier, for example), and as long as AEST does not encounter
error conditions that prevent image translation. If AEST issues
ERROR or FATAL messages, it does not create a translated image.
If you do not provide a file specification, AEST writes the
translated image to the current directory and names it by
appending _AV to the input image's file name. For example,
if the name of the OpenVMS Alpha image is PROGRAM.EXE, the default
name of the translated image is PROGRAM_AV.EXE.
NOTE
A file name cannot exceed 39 characters in length. Because
of this limitation, AEST truncates any input image file name
that exceeds 36 characters to append the characters _AV.
4 /INTERPRET
Controls whether image's code should be translated or just interpreted
in run-time.
Default: /NOINTERPRET
Format
/INTERPRET
4.1 – Description
AEST tries to find, parse, and translate as much Alpha code as possible to
minimize the need for interpreting Alpha code at run time. By default, AEST
uses the EISD$V_EXE ISD flag to translate all code that it finds in image
sections marked as "executable".
If you specify /INTERPRET, AEST still analyzes all the code found in "executable"
Alpha image sections and creates corresponding structures in the resulting I64
image, but it did not generate corresponding I64 code. This minimizes the AEST
execution time and virtual memory required for translation.
Note that run-time performance of a translated image using /INTERPRET will be
slower than one where the code is translated.
5 /LIST
Requests a list file and, optionally, specifies a file name.
Default: /LIST
Format
/LIST [=filespec]
5.1 – Qualifier Values
filespec
Identifies a file specification for the list file.
5.2 – Description
If you do not specify a file specification, AEST writes the list
file to the current directory, names it by appending _AV to the
input image's file name, and uses the extension LIS. For example,
if the input image is SIEVE.EXE, the default list file is called
SIEVE_AV.LIS.
6 /DEBUG
Controls whether the translated image invokes the OpenVMS
Debugger.
Default: The default is /DEBUG if the input image was linked with
the /DEBUG qualifier or /NODEBUG if the input image was linked
with /NODEBUG.
Format
/DEBUG
6.1 – Description
By using the /[NO]DEBUG qualifier, you can change the level as follows:
o Use /NODEBUG to create a translated image that does not invoke
the debugger.
o Use the /DEBUG qualifier to create a translated image
that invokes the debugger. /DEBUG forces traceback.
7 /DUMP
Instructs AEST to print information about the source Alpha image, the
resulting I64 image, and possibly some internal information into a
listing file.
Default: /DUMP=NONE
Format
/DUMP=(list)
7.1 – Qualifier Values
list
This is one or a combination of:
ALPHA[=list], IA64[=list], INTERNAL[=list].
For a more details see Description section.
7.2 – Description
/DUMP instructs AEST to print information about the source Alpha image,
the resulting I64 image, and possibly some internal information into a
listing file.
If /DUMP is specified it is equivalent to:
/DUMP=(ALPHA=ALL,IA64=ALL,INTERNAL=NONE)
The following formats are allowed for /DUMP qualifier:
Format
/DUMP=(ALPHA[=keywords])
Default: ALL
Keywords:
NONE prevents printing of source (Alpha) image information
ALL default, prints all information listed below, except
for code
HEADERS prints image headers
SECTIONS prints list of image sections
SHR_IMAGES prints list of shared images referred by the translated
image
FIXUPS prints list of fixups
RELOCATIONS prints list of relocations
SYMB_VECTOR prints contents of symbol vector (if present)
SYMB_TABLE prints contents of symbol table (if present)
INSTRUCTIONS prints Alpha code instructions
BLOCKS prints Alpha code basic blocks with instructions
ENTRY_POINTS prints list of found entry points
VERBOSE adds some verbosity to listing, particularly section list
will contain more information
Format
/DUMP=(IA64[=keywords])
Default: ALL
Keywords:
NONE prevents printing of translated image information
ALL default, prints all information listed below
(except for BUNDLES)
HEADERS prints translated image headers (in internal representation)
SEGMENTS prints brief list of translated image segments
SHR_IMAGES prints list of shared images referred by the translated
image
FIXUPS prints list of fixups
RELOCATIONS prints list of relocations
SYMB_VECTOR prints contents of symbol vector (if present)
SYMB_TABLE prints contents of symbol table (if present)
BUNDLES prints generated I64 code
BLOCKS prints Alpha Basic blocks together with correspondent I64
bunldes. Initialization code (and other generated I64 code)
is printed as well.
TII prints TIE Information structures
TRANS_VECTOR prints transfer vector
GOT prints Global Offset Table contents
Format
/DUMP=(INTERNAL[=keywords])
This qualifier is intended for problem solving purposes only.
Normally you will not need the corresponding printouts.
Default: ALL
Keywords:
NONE prevents printing
ALL prints all information below
INTFIX prints internal fixups (do not appear in translated image)
INTSYM prints internal symbols (do not appear in translated image)
FDS prints list of function descriptors generated by translator.
8 /VERBOSE
Instructs AEST to produce all verbose messages
Default: /NOVERBOSE
Format
/VERBOSE