Sun Java Solaris Communities My SDN Account
 
Sun Studio

Sun Studio 10

Features and Benefits
FAQ
Family Comparison
Data Sheet

Compatibility
System Requirements
 
 
 

Following is an overview of the product names, release dates, and compiler version numbers that refer to Sun Studio products going back to 1996. You'll also find answers to some compatibility questions.


Product Identification Table

Product Name Release Date Last Date Orderable Compiler Version Solaris Version Platform
C C++ F90
Sun WorkShop 3.0
12/1996
06/2000
4.2
4.2
1.2*
2.4, 2.5, 2.6, 7
SPARC, x86
Sun WorkShop 5.0
02/1999
08/2001
5.0
5.0
2.0*
2.5.1, 2.6, 7
SPARC, x86
Forte Developer 6
05/2000
08/2001
5.1
5.1
6.0*
2.6, 7, 8
SPARC, x86
Forte Developer 6 update 1
10/2000
12/2001
5.2
5.2
6.1*
2.6, 7, 8
SPARC, x86
Forte Developer 6 update 2
07/2001
N/A
5.3
5.3
6.2*
2.6, 7, 8, 9
SPARC, x86
Sun ONE Studio 7, Compiler Collection
05/2002
12/2003
5.4
5.4
7.0*
7, 8, 9
SPARC
Sun ONE Studio 7, Enterprise Edition for Solaris
10/2002
12/2003
5.4
5.4
7.0*
8, 9
SPARC
Sun Studio 8
03/2004
N/A
5.5
5.5
7.1*
7, 8, 9, 10
SPARC, x86
Sun Studio 9
07/2004
N/A
5.6
5.6
8.0
8, 9, 10
SPARC, x86
Sun Studio 10
01/25/05
N/A
5.7
5.7
8.1
8, 9, 10
SPARC, x86

* Available for SPARC platform only.


Source Code Compatibility

Language
Compatibility
C
Due to its degree of maturity and stability, there have been no source incompatibilities introduced in any product released from Sun WorkShop 3.0 to the present.
C++
The Sun WorkShop 5.0 release was Sun's first release to support the ISO/ANSI C++ standard. As such, there were many source-level incompatibilities between the language that the 5.0 compiler accepted and the language accepted by the Sun WorkShop 3.0 (same as C++4.2) compiler. This is documented in the online C++ Migration Guide included in the release. This document has been updated and included with all of the subsequent releases.
Fortran 90/95
The Sun WorkShop 3.0 and 5.0 releases included a separate FORTRAN 77 compiler. This compiler was in maintenance mode during the Forte Developer 6 releases. Sun has spent significant engineering resources to make a Fortran 90/95 world-class compiler. As of Sun ONE Studio 7, Compiler Collection, Sun no longer supplies a separate FORTRAN 77 compiler. A special compatibility option, "-f77", has been added in order for the Fortran 90/95 compiler to accept language extensions that were available with the FORTRAN 77 compiler.


Binary Code Compatibility

Language
Compatibility
C
The binary interface for the C compiler hasn't changed in years. As such, object files (.o's) compiled with any of the above versions will link with .o's from any other versions.
C++
The binary interface for C++ underwent a major revision in the 5.0 release with the introduction of support for much of the ISO/ANSI C++ standard. Prior to 5.0, Sun's 4.x series of C++ compilers allowed developers to enjoy many enhancements with relatively no effect on the C++ binary interface. In most cases, this resulted in developers being able to mix-and-match .o's created with the different 4.x C++ compilers.

As the numbering implies, the 5.0 release was incompatible with the 4.x generated .o's. The ANSI features couldn't have been implemented without this change. As a migration aid, all compilers after the 4.2 compiler offer a "compatibility" flag (-compat=4) that allows them to generate .o's that will link with 4.2 generated .o's, at the cost of not being able to use the new ANSI features.

Beginning with Sun WorkShop 5.0, any .o's generated with the C++ "compat=5" flag (which is the default) can be linked with .o's compiled by the Forte Developer 6, update 1, or more recent C++ compilers.

Fortran 90/95
The binary interface changed between Sun WorkShop 3.0 (f90 v1.2) and Sun WorkShop 5.0 (f90 v2.0) due to a change in the code generator and I/O library. The module mechanism also changed in this transition--from .M files (one per module) to .mod files (one per source file). There have been no changes in binary compatibility since Sun WorkShop 5.0. If you compile with the -aligncommon option you should not mix Forte Developer 6 update 2 object files with objects produced by the Sun ONE Studio 8 compilers if the common blocks contain either derived types or variables typed with an explicit kind value.


Solaris Operating System Compatibility

The basic rule about compatibility on the Solaris Operating System: If you compile and build on a given version of the Solaris Operating System, you can run the code on that version or on a later version. However you cannot run the code on an earlier version of the Solaris Operating System.

Therefore, you must build your application on the earliest version of the Solaris Operating System that you intend to support.

An additional rule: You are guaranteed to be able to run code on later versions of the Solaris Operating System, provided you use only the supported interfaces of the Solaris Operating System. (If you take advantage of an undocumented feature on one version of the Solaris Operating System, it might not work on a later one.) Use the appcert program to verify that you are using only supported interfaces of the Solaris Operating System.

Compile your code for the lowest platform. Moreover, it matters what options you use-- even within the same Operating System version. For example -xarch and -xtarget lock you into specific arch and targets. Use appcert to certify that your application is clean for "upgrades" to a new Operating System. In general, use the -xO (n=2,3,4) with which you feel most comfortable. Device drivers and other users of "volatile" variables should stick to -xO2; others can use -xO3 and above. Use -xarch with the lowest base value. If you intend the code to be for an UltraSPARC, it is safe to use -xarch=v8plus. For v8 arch, use -xarch=v8.


Java Technology Compatibility

Sun Studio 8 and 9 require the Java 2 Platform, Standard Edition (J2SE) v. 1.4.2_02 to run.

Sun Studio 10 requires the Java[tm] 2 Platform, Standard Edition (J2SE) v. 1.4.2_06 to run.

The J2SE is available as a free download.


LibC Patches

For all operating systems, ensure that you have the latest SUNWlibC patches.


Related Links
 


Oracle is reviewing the Sun product roadmap and will provide guidance to customers in accordance with Oracle's standard product communication policies. Any resulting features and timing of release of such features as determined by Oracle's review of roadmaps, are at the sole discretion of Oracle. All product roadmap information, whether communicated by Sun Microsystems or by Oracle, does not represent a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. It is intended for information purposes only, and may not be incorporated into any contract.