mxr - DECmigrate: MIPS Translator Runtime Environment
The MIPS Translator Runtime Environment, mxr, supports binary executables produced by DECmigrate (mx). When you execute the output executable on an Alpha system running Tru64 UNIX, mxr is automatically invoked either as a shared image or as a shared library. The mxr environment provides the translated executable with any MIPS or ULTRIX resources it requires to run.
In cases where there is no Tru64 UNIX translation for an ULTRIX
supports the executable by emulating that
operation. In addition,
provides feedback, enabling
to retranslate the executable, eliminate some or all instances
of emulation, and improve run-time performance.
The mxr environment does not support certain ULTRIX operations. See the release notes for the unsupported ULTRIX operation. The mxr environment only supports executables that were translated by mx.
environment only supports
programs or OMAGIC executions if the
executable was translated using the
option (the default)
command. In addition,
only supports non-finite numbers if the executable was translated with the
option to the
This section describes situations when the translated executable fails at runtime, runs but produces different results than the original executable, or runs slowly.
If an executable runs properly on an ULTRIX system but fails when translated and run on a Tru64 UNIX system, check the following: File Names: Some executables read the name with which they were invoked to determine operating behavior. To enable these executables to run properly on a Tru64 UNIX system, ensure that the file names match the original names of the files on the ULTRIX system. Restore filenames as necessary. Missing Files: See if there are any files that need to be moved to the Tru64 UNIX system. Some executables require certain files to exist at specific places in the file system, and fail when that is not true. For example, many X clients require files in /usr/lib/X11/app-defaults and /usr/lib/X11/uid. Translated MicroFocus COBOL programs attempt to access the file /usr/lib/cobol/rts32, and abort if that file is not present.
If you set the MXR_GENERATE_FEEDBACK environment variable and the executable creates or extends a .hif file when executing, this means mxr discovered new entry points while executing the executable. Retranslating the executable allows mx to access the entry points and improve the speed of the executable. Do the following: Delete or remove the translated executable. You do not need it to create the next version. Copy only the .hif file to the system and directory containing both mx and the original input executable. Be sure the name of the .hif file is executable.hif, where executable is the file name of the input executable. Retranslate the original input executable using mx.
Error messages are described in the DECmigrate User's Guide.
The severity levels are as follows:
Informational message. Not displayed unless
Warning message. Warning messages are displayed unless
is set. A warning usually results
in the specified operation, such as syscall, returning an error status, but
the translated program continues to run.
Fatal error message. Always displayed if an error occurs.
Error messages cause immediate termination of the translated program.
The mxr environment modifies its behavior if any of the following environment variables are set when you execute a translated executable: Generate a .hif file to use as feedback for a subsequent retranslation. This is overridden by the -nohifs option in mx. See the FEEDBACK section. Redirect mxr input/output through an xterm window. This is useful for separating mxr diagnostic messages. Print all debugging output in detailed form. Prints program header information and "unrecognized error tag" messages. Prints program load/execute progress. Prints program exit details and homing map. Prints signal details. Prints ioctl() details. Prints brk() details. Prints computed branch details. Suppress all mxr output except for fatal errors. Note: You may be suppressing nonfatal error messages that indicate you are using an unsupported feature. The executable still runs, but its function is unpredictable. Trace all system calls. If no system calls are specified, all system calls are traced. If any system calls are specified or if the word ``all'' appears in the list, only those calls are traced. Preceding a system call name with a hyphen (-) forces it not to be traced. The list is scanned left-to-right. Separate the system call names with commas (,). For example:
The following is an excerpt from the terminal output of an executable that needs to be retranslated by mx with the -F option. The opcodes stt (type=stt) and ldt (type=ldt) are the ones in error.
 piston:person> dxpsview quilt.ps Unaligned access pid=419 <mxr> va=10041624 reg=4 type=stt pc=58cbd8 ra=58c8f0 Unaligned access pid=419 <mxr> va=1004161c reg=2 type=ldt pc=58cbd8 ra=58c8f0
The run-time support for executables translated using the
option to the
command. Resides on the Tru64 UNIX
system, and called in as a shared library by the translated executable.
The runtime support for executables translated using the
The default name of the translated output file.
DECmigrate User's Guide