Sun Java Solaris Communities My SDN Account Join SDN
 
Downloads

Linux Compilers Alpha Build 24 Readme

 

Sun Studio Compilers on Linux Technology Preview: Alpha Build 24 Release

Welcome to the Sun Studio Compilers on Linux Technology Preview Program: your opportunity to get a window into our early development process and for shaping future decisions by giving us your feedback.

It is our top most priority to hear what you have to say -- experiment with the bits, participate in forums and let us know what you think. As you can see this is the fourth build of a continuous program and some functionality is still missing or isn't fully implemented yet. Despite these limitations we think that what's available is interesting enough to make it worth downloading the bits. We encourage you to try the bits in a variety of setups (provided, they fit into the minimum requirements, outlined in section 2 below) and experiment with some of the most exciting pieces of technology Sun Studio has to offer, such as:

  • OpenMP (see cc and f95 manpages for the description of -xopenmp command line option)
  • Whole-program interprocedural optimization (see section 6 for Linux specifics and description of the -xipo command line option)
  • World class optimizer (see the description of the -fast command line option).
  • Interval Arithmetic support in Fortran 95.

For the details, check the Sun Studio 11 compiler documentation (man pages and User Guides) at:

http://developers.sun.com/sunstudio/compilers_index.html

or check the SDN forums at:

http://forum.sun.com

chances are you'll find answers in one of these places.

2. System and hardware requirements

This Sun Studio Compilers on Linux Technology Preview is expected to run on any generic x86 system with a minimum requirement being a Pentium III 500-MHz or any AMD64 Opteron or Athlon system. Even though preferred Linux distribution is SuSE Linux Enterprise Server 9, we encourage you to try this preview release on any Linux distribution of your choice, provided it satisfies the minimum requirements of having the 2.6.X Linux kernel and 2.3.3+ glibc.

3. Installing this alpha software preview release

3.1. Make sure that your hardware and Linux distribution satisfies the minimum requirements outlined in section 2.

3.2. If you are running an unpatched SuSE Linux Enterprise Server 9, please follow the instructions on how to install the following two recommended patches:

3.3. Download the latest alpha release from the Sun Download Center to a local scratch directory, such as /var/tmp.

3.4. Unpack the archive into the directory of your choice with the commands:

$ bzcat DOWNLOAD-DIRECTORY/sunstudio-DATE.PLATFORM.tar.bz2 | /bin/tar -xf -

WARNING: Do not install any alpha releases over a production or Early Access installation of Sun Studio 10 or Sun Studio 11 for Linux. Typically, production installations of Sun Studio 10 are to /opt/sun/sunstudio10 or /opt/sun/sunstudio11. Be sure to install these alpha releases in an area separate from these installations.

3.5. Now update your PATH and MANPATH shell variables to the installation and documentation directories or modify your home directory's .cshrc file (for C shell) or .profile file (for Bourne or Korn shells) to make these changes permanent.

If you use csh:

% setenv PATH installpath/bin:$PATH
% setenv MANPATH installpath/man:$MANPATH

If you use sh (or ksh):

% PATH=installpath/bin:$PATH; export PATH
% MANPATH=installpath/man:$MANPATH; export MANPATH

3.6. If you want to use the IDE we recommend our cutting edge development project -- The Netbeans C/C++ Development Pack. The Netbeans C/C++ Development Pack is a set of add-on NetBeans modules providing basic editing and building of C and C++ applications. Its open source development model makes it the hottest NetBeans project for anybody interested in shaping the future of the next generation C/C++ development experience.

Visit http://cnd.netbeans.org for more information.

4. Update Notification

The Update Notification feature periodically checks www.sun.com and communicates available changes related to your Sun Studio software, including patches and major software updates.

To view the current contents of the update file from the IDE, choose Help ->  View update information.

To initiate contact with the server and get updated information, choose Help ->  Check now for updates.

From the command line, you can view the update file at ~/.sunstudio/user_info/latest_updates.html.

If Update Notification is not able to check for updates and your system is on a network with a HTTP proxy server, you can set proxy server information by doing the following:

  1. Choose Tools ->  Setup Wizard.
  2. In the wizard, select the Use HTTP Proxy Server checkbox.
  3. Type the proxy host name in the Proxy Server Name field and the port number in the Port field.
  4. Click Finish.
You can also set the proxy server information using the ALL_PROXY environment variable; for example, setenv ALL_PROXY myproxy:8080

Note: You must exit and restart the IDE for the proxy server information to be recognized by the IDE.

To disable Update Notification, set the SUNW_NO_UPDATE_NOTIFY environment variable to any value other than false.

Usage information is communicated during the Update Notification process. This information is used by Sun Microsystems to improve future Sun Studio software releases. This information is anonymous and cannot be associated to any individual or organization.

5. Using the -xipo command line flag

You must specifiy -xipo both at compile time and link time. Failure to specify -xipo at link time on Linux could result in significantly large executable files.

6. Source Code for libelf and ld

Source code for libelf version 0.8.6 can be found at the following URL:
http://directory.fsf.org/libs/misc/libelf.html

Source code for ld version 2.16.1 (part of binutils) can be found at the following URL:
http://ftp.gnu.org/gnu/binutils/


 

Build 24 Changes/Fixes

  • -xpagesize*, -Xlist*, -Xs options disabled on Linux with a proper warning
  • C compiler: support for __typeof__ gcc extension
  • C compiler: support for value returning blocks gcc extension
  • C, C++, F95 compilers: -m32 and -m64 flags added, alternative to -xarch for selecting 32/64bit compilation
  • Thread local storage support for multithreaded apps
  • C compiler: GCC __attribute__ syntax implemented, "visibility" and "aligned" attributes semantics implemented
  • C++ compiler: GCC __attribute__ syntax implemented, "pure" attribute semantics implemented
  • OpenMP support fixed - libmtsk coredump issues resolved
  • suncc, sunCC, sunf90, sunf77, sunf95, sunc89, sunc99, sunas compiler driver nicknames added to SUNWspro/bin
  • C++ compiler: stlport4 and rw7 libraries built and packaged
  • C compiler: long long used in strict c89 compliance mode is now a warning, not a fatal error
  • f95 compiler: intervals library ported, interval support is enabled for Fortran
(Last updated June 27 2006)