Tuesday Dec 19, 2006

Sun Studio Express Program December 2006 Build available


Sun Studio Express Program December 2006 Build available

Want a peek at the latest Sun Studio Compilers and Tools under development from Sun?

The Sun Studio Express Program provides the Sun developer community with an early look at new features and technologies of the Sun Studio Compilers and Tools.  The Sun developer community can assess the benefits of the most current compiler and tools innovations.  Through the Sun Studio forums, the Sun developer community can ask question and give feedback, long before they are released as products.

Wonder if the next revision of the Sun Studio Compilers is going to give your application a performance boost?  Now you can find out.

The December 2006 Build includes a new Integrated Development Environment (IDE). The new Sun Studio IDE is based on NetBeans 5.5.1 and adds many new features. It supports C and C++ projects, and includes appropriate project templates for applications, dynamic and static libraries, and projects with existing code. The IDE includes a C and C++ class browser. The powerful language-aware built-in editor supports code completion. This build also includes C, C++, and Fortran compilers for the Linux platform, and improvements to the previously released Data Race Detection Tool, which has been renamed the Sun Studio Thread Analyzer.

So go check out the Sun Studio Express Program at:
http://developers.sun.com/prodtech/cc/downloads/express.jsp

Some of the other features being introduces with the June 2006 Build include:

  • Sun C compiler accepts the attributes always_inline, noinline, pure, const, malloc and aligned are now supported by the __attributes__ clause.
  • Sun C++ compiler recognizes __typeof__ keyword, __alignof__ expressions, and extern template
  • All Sun compilers (C/C++/Fortran 95) generate DWARF 2 symbolic information on all platforms.
  • Thread Analyzer (formerly known as the Data Race Detection Tool)


Monday Dec 04, 2006

What About Binary Compatibility?

»What will happen if I try to run my application on a newer Solaris OS release?

»What will happen if I try to compile my application using one version of the Sun Studio compilers and link it with libraries compiled with earlier compiler versions?

Important questions to consider, and luckily both Solaris and the Sun Studio compilers guarantee a certain degree of binary compatibility between releases.

Here are some things to keep in mind

  • Binary Compatibility among versions of Solaris:
    Executables created with a supported compiler release on an earlier Solaris OS version will run on later Solaris OS versions. This is part of the Solaris binary compatibility guarantee. Such executables might need the Sun Studio runtime libraries that are part of the compiler with which the executable was created. For example, an executable created using Forte Devloper 6 update 2 on Solaris 2.6, along with the shared runtime libraries of Forte Developer 6 update 2, will run correctly without recompilation or relinking on Solaris 10.

  • Binary Compatibility among object files: 
    Libraries and object files created with an earlier release of a Sun Studio compile can be used when linking with a later versions of that compiler. When you link with a mixed set of object files and libraries created with different versions of the Sun Studio compilers, you must use the latest compiler that produced any of the object files or libraries being linked. For example, a shared object (.so) file created with an FD6u2 compiler can be used when linking with the Sun Studio 11 version of that same compiler.

    There are some important considerations for Fortran 95 with FD6u2:
    • If you compile with the -aligncommon option you should not mix object files produced by Forte Developer 6 update 2 Fortran 95 with objects produced by a later version of the compiler if the common blocks contain either derived types or variables typed with an explicit kind value.
    • Module information files generated by Forte Developer 6 update 2 release f95 compiler are not guaranteed to be compatible with future releases


Specific Questions I get often:


        »Can I compile my application on Solaris 10 and run it on Solaris 9 and Solaris 8?

No.  Might work, but since you compiled it on Solaris 10, it might also be using system interfaces that did not exist on Solaris 8 and 9 or have changed in Solaris 10.

        »Can I compile my application on Solaris 8 and run it on Solaris 9 and Solaris 10?

 Yes!  This is what binary compatibility is all about.  (See above)

        »Can I compile and build my shared library on Solaris 10 and use it on Solaris 9 and Solaris 8?

No.  Might work, but since you compiled it on Solaris 10, it might also be using system interfaces that did not exist on Solaris 8 and 9 or have changed in Solaris 10.

        »If I compile the code in my shared library using the Sun Studio 11 compilers, can my customers who are still using Forte 6 Update 1 compilers link with these shared libraries?

No.  You must always link with the same compiler used to create the newest objects in your application or library.  So, if Sun Studio 11 compilers are used to compile the code in a shared library, Sun Studio 11 compilers must be used when linking with that shared library.
 

About

Douglas is a principal software engineer working as the C compiler project lead and the Oracle Solaris Studio technical lead.

Search

Archives
« December 2006 »
SunMonTueWedThuFriSat
     
1
2
3
5
6
7
8
9
10
11
12
13
14
15
16
17
18
20
21
22
23
24
25
26
27
28
29
30
31
      
Today