Specifications

Red Hat Enterprise Linux to Oracle Solaris Porting Guide
30
C, C++, and Fortran compilers for compiling code at the command line or through the IDE. The
compilers are engineered to work well with the Oracle Solaris Studio debugger (dbx) and include
the ability to optimize code by specifying compiler options.
Libraries to add advanced performance and multithreading capabilities to applications.
The dmake utility for building code in distributed computing environments at the command line or
through the IDE.
The dbx bebugger for finding bugs in code at the command line, through the IDE, or through an
independent graphical interface (dbxtool).
Performance tools that employ Oracle Solaris technologies such as DTrace, which can be used at the
command line or through independent graphical interfaces to find trouble spots in code that might
be diffiuclt to detect by debugging with dbx.
Together, all these tools enable building, debugging, and tuning applications for high performance on
Oracle Solaris running on Oracle’s Sun systems.
Standards Adherence
If the application to be ported has strict requirements for adherence to standards, Oracle Solaris Studio
is the way to go. The native C compiler (cc) available in Oracle Solaris Studio is in full compliance
with the ISO/IEC 9899:1999 standard, while the C++ compiler (CC) supports the ISO International
Standard for C++ (ISO IS 14882:2003). The Fortran compiler ( f95) conforms to part one of the
ISO/IEC 1539-1:1997 Fortran standards document. This compiler also provides a Fortran 77
compatibility mode that accepts most legacy Fortran 77 source code. The Oracle Solaris Studio
compilers support OpenMP, IEEE floating point, and C99, and they adhere to IEEE 754.
If the application to be ported does not have strict requirements for adherence to standards, additional
performance gains can be achieved by using optimization flags that enable building higher-performing
binaries. For example, the C compiler option -fns allows nonstandard floating-point truncation.
The -fast macro available in Oracle Solaris Studio is the easiest way to generate an optimized
binary for specific targeted hardware. (A word of caution: The -fast macro implies fns.)
Useful Tools
Many useful tools are available on Oracle Solaris 11 that not only help generate high-performing
binaries but also help isolate difficult-to-detect code issues, for example, the following Oracle Solaris
Studio tools:
Performance Analyzer can be used not only to analyze application performance but also to determine
what parts of a program are candidates for improvement and to help identify performance hotspots.
Thread Analyzer can be used to detect difficult-to-detect code issues in multithreaded programs.
For example, it helps detect data races and deadlock conditions.
D-light is a plug-in for Oracle Solaris Studio 12.x, which offers instrumentation that takes advantage
of the DTrace debugging and performance analysis functionality in Oracle Solaris.