Translating and
Porting Code Porting source code and translating
executables are two ways you can migrate SunOS SPARC applications to Digital UNIX. You can
also combine the two methods to stage the migration, depending on your application and
system requirements. Perhaps you have source code for some applications but not for
others. Perhaps you are introducing Alpha systems gradually onto your site. Perhaps you
are planning to use SPARC machines as servers for Alpha systems or vice versa.
What are the
requirements for translating and porting to Digital UNIX? Knowing those requirements will
help you understand how to create a mixed 64-bit/32-bit, little-endian/big-endian
environment as you start moving your SunOS SPARC applications to Digital UNIX.
Translatable Code
Requirements
With FreePort
Express, you can move SunOS applications to Digital UNIX immediately, usually with no loss
of performance. The FreePort Express translator can convert most nonprivileged user-mode
executables that run on SunOS Version 4.1.x (Solaris Version 1.x), including
static and dynamic SunOS executables and SunOS shared libraries. Programs that use Xview,
Open Look, Motif, and X11-based window managers all fall into this category.
You cannot
translate a SunOS executable that
- Uses privileged
instructions or system calls
- Is a device driver
- Uses SunView
- Depends on specific
SunOS internal structures
- Depends on system
specific file formats
See the SunOS to
DEC OSF/1 Porting Guide for information about porting these kinds of executables.
To run translated
executables, Digital UNIX activates a run-time environment that automatically compensates
for the differences between the 64-bit/32-bit, big-endian/little-endian architectures.
This means that you can run a translated application on Digital UNIX while you port the
SunOS source code.
Portable Code
Requirements
Because both Digital
UNIX and SunOS are BSD UNIX systems, porting can be as simple as recompiling the source
code. (Digital UNIX also supports System V and the OSF Mach kernel.). If you need to
modify the source code to make it portable, it's usually for one of the following reasons:
- The code makes
assumptions about byte ordering in binary arithmetic values
- The code is sensitive
to the change from a 32-bit to a 64-bit environment
- The code makes use of
operating system extensions
If one or more of
these reasons prevents you from simply recompiling, you must modify the source code and
translate the applications if you need them to run immediately on Digital UNIX.
See also
For detailed
information about modifying your source code to adapt it to the Alpha architecture, see
the DEC OSF/1 SunOS to DEC OSF/1 Porting Guide, which is part of the FreePort
Express kit.
If you have
questions about FreePort Express, send email to fpx-info@scrugs.lkg.dec.com.
|