aries.5 (2010 09)
a
ARIES(5) ARIES(5)
(HP Integrity Systems Only)
NAME
ARIES, aries - dynamically and transparently execute PA-RISC HP-UX applications on Integrity systems
running HP-UX
DESCRIPTION
ARIES is a dynamic binary translator which transparently executes 32-bit and 64-bit PA-RISC HP-UX
applications on Integrity systems running HP-UX. The name
ARIES expands to Automatic Recompila-
tion and
Integrated Environment Simulation.
ARIES consists of the following four shared libraries:
/usr/lib/hpux32/pa_boot32.so
/usr/lib/hpux32/aries32.so
/usr/lib/hpux64/pa_boot64.so
/usr/lib/hpux64/aries64.so
aries32.so is the shared library that contains the ARIES dynamic translator for 32-bit applications.
pa_boot32.so is the dynamic loader for aries32.so
. Likewise, aries64.so and
pa_boot64.so are the 64-bit ARIES components.
The HP-UX operating system kernel on Integrity systems recognizes PA-RISC HP-UX executables and
invokes ARIES to dynamically translate and execute the application. For 32-bit PA-RISC HP-UX execut-
ables, the Integrity HP-UX kernel invokes
pa_boot32.so, which loads aries32.so into memory,
relocates it and sets up internal memory segments. aries32.so starts emulation at the program entry
point. Likewise, pa_boot64.so and aries64.so are loaded for 64-bit PA-RISC HP-UX executables.
ARIES consists of two major sub-systems:
• Instruction Set Architecture (ISA) emulation engine
• Environment emulation engine
The ISA emulation engine is comprised of a fast interpreter and a dynamic translator. The interpreter
emulates one instruction at a time. After a sufficient number of iterations over a PA-RISC basic block,
the dynamic translator is invoked to translate the basic block into functionally equivalent IA64 native
code, which is stored in translation buffer. Subsequent references to translated basic blocks do not
require further interpretation or translation.
The environment emulation engine is responsible for the emulation of PA-RISC application’s system calls,
signal delivery, threads management. Interactions among various ARIES sub-systems are controlled and
facilitated by the control system, which also keeps mapping between the PA-RISC application’s basic
block and the translated code block addresses.
PA-RISC HP-UX GDB DEBUGGING SUPPORT
ARIES supports debugging of PA-RISC HP-UX applications on Integrity systems running HP-UX using
the PA-RISC HP-UX
gdb, the GNU debugger.
On Integrity HP-UX systems,
/usr/ccs/bin contains the PA-RISC gdb32 and gdb64 executables. A
symbolic link named /usr/ccs/bin/gdbpa points to /usr/ccs/bin/gdb32
. The Integrity HP-UX
system’s
gdb debugger recognizes the PA-RISC executable being debugged and launches
/usr/ccs/bin/gdbpa under ARIES.
Debugging PA-RISC Applications on Integrity Systems
Use the following steps to debug PA-RISC HP-UX applications on Integrity HP-UX systems using
PA-RISC
gdb:
1. Set the environment variable
PA_DEBUG to 1.
2. Set the environment variable
SHELL to point to a PA-RISC shell, copied from a PA-RISC HP-UX sys-
tem from /usr/bin path.
3. Add
/usr/ccs/bin to the PATH environment variable.
4. Invoke
gdb as:
$
gdb PA-RISC_executable
NOTE: Make sure that the user has write permission on /tmp directory and that there is enough space
to create a temporary file of one page size as obtained by sysconf(_SC_PAGE_SIZE) system call.
HP-UX 11i Version 3: September 2010 − 1 − Hewlett-Packard Company 1