Friday Jul 29, 2011

Studio 12.3 (Beta) released

Oracle Solaris Studio 12.3 Beta release is now available for download (here). Please note that this is an open program; anyone can join in and being a gold-level participant; just accept the click through agreement on the page.

Studio 12.3 has a number of enhancements over previously releases (many of which I hope to elaborate on, in future blogs), among them:

    Support for upcoming SPARC T4 chip. Single thread performance has been improved in very significant ways and the compiler takes advantage of every new instruction and performance attribute in the chip.
    Support for upcoming Intel SandyBridge chip, in particular full support for the new AVX instruction set
    A new tool, called Code Analyzer, which identifies code vulnerabilities, memory access errors and areas of code uncoverage
    Significant improvements to Performance Analyzer including Application Concurrency Graphs and Multi-process application profiling
    Remote capabilities in IDE and other graphical tools so they can be used on Windows, Mac and non-Solaris platforms to connect to Solaris and Linux servers
You can learn more about these and other features in some detail here.

Learn more:

    Beta README : This document outlines systems and hardware requirements, instructions for installation, and new and EOL features in this release

Monday Dec 13, 2010

Mapping of Sun Studio information to (new) Oracle Solaris Studio locations

As Sun integration into Oracle progressively "matures", the differences between Sun's approach to product management and Oracle's approach are becoming clearer. Sun customers need a transition path to get to the Oracle model, so I am hoping that the following table is a useful way to capture these differences.
Here is my understanding of upto-date mapping of how these services have changed and where to find additional information about the transition of content and services.
Further Reading
Product Name
Sun Studio 12 xxx
Oracle Solaris Studio 12 xxx

Studio landing page
Oracle Studio Product page
Use this shorthand vanity URL:
Articles, Technical papers, tutorials
Sun Developer Network (SDN)
Oracle Technical Network (OTN)
Studio OTN page is here
Discussion Forums
Studio Forums are here
Forums FAQ is here
Sun Download Center (SDLC)
Oracle Software Downloads
Studio is available here

Licensed usage
Software was generally free to download and use in development and deployment
Software is free to  download for development; support required for deployment
\*See Comment below
Is Studio free
Studio was free for developers; support was encouraged for ability to file escalations
Patches were free to download
Studio is free for developers both in development and deployment
Patch download only with support
\*See Comment below
Support stages
EOL= Last day product could be ordered
EOSL = usually support was EOL+5 years
Lifetime support stages:
Premier support
Extended support
Sustaining support (for life)
Read more about it here
Patch download/support location
My Oracle Support (MOS)
Start here with planning migratio to MOS
\*Comment: The distinction I was trying to draw between Studio licenses and other Oracle SW is this:
You can use Oracle SW freely in development environments but using it in a deployment (aka production) environments requires a support contract. eg. you can use Solaris freely to develop applications, but if you want to put it on production systems, you need a support contract.
As opposed to this, Studio can be used freely both on development and production systems and you can also ship the runtime libraries that are licensed with Studio in your applications and deploy those applications. You need a support contract if you need support services and/or to download patches. See the following for more details
I should add that this isnt the official word on this, just my interpretation of it; many of the links posted here are indeed the official sites to go to for this information and should provide the necessary channels for this purpose.

Monday Nov 22, 2010

Studio Video recording of LISA 2010 BOF now posted

I conducted a BOF at LISA 2010 (Wednesday, Nov 10 at 9pm). It was kind of late at night, and the crowd was thin and its always tough to follow up a DTrace BOF for popularity, anyway, but I was blown away by the general enthusiasm of the attendees to stay engaged in late evening BOFs. My special thanks to all those who attended.

The two part video from that event is posted at the Oracle Solaris Video blog site now. Take a look.
Unfortunately, the slides could not be uploaded at the same time. I will find a way to make the slides available.

Friday Sep 10, 2010

Sun Studio Product Release Names from the past 20 years

Product Name

Release Version

Release Year


Oracle Solaris Studio
First release as Oracle
Sun Studio
12 update 1

Sun Studio

Sun Studio

Sun Studio
64-bit x86; Solaris 10
Sun Studio

Sun Studio
Re-enter x86 market
Sun ONE Studio Compiler Collection
Only the compilers here
Sun ONE Studio
SPARC only; NetBeans based IDE
Forte Developer
6 update 2
c99 support
Forte Developer
6 update 1
Also: Sun Workshop
Forte Developer
Also: Sun Workshop
Sun Workshop
New C++ Standard
Sun Workshop
Fortran Only
Sun Workshop
Also: SPARCworks 4.2
SunSoft Workshop
Also: SPARCworks 4.0; last Ada release
SunSoft Workshop
Fortran 90 release
Also: SunSoft Workshop 1.0; SunOS 4.x; last Pascal release

SunOS 4.x, first on x86
First release on Solaris
Ansi C; Distro on CD
Sun Compilers
First unbundled rel (from OS)

A couple of points here to add. This list is for entertainment purposes(historical? hysterical?) only. Many of our enterprise customers have been along for this ride during much of Studio history and this list might bring a smile to their faces and/or help them understand any gaps. For years, I used to put up a slide in my presos called Whats in a Rose? Our product names over the years with these names to get over such questions as: Is Forte a different product, etc. This list is a more complete enumeration of that effort. The creativity of our marketing machinery(!) should not get in the way of our users understanding the maturity and long history of the product line.

Its pretty amazing that we got 23 separate, full releases (not patches, not updates-dont let the names fool you) in 20 years; that is an amazing cadence. Equally amazing is that the basic charter has not changed much over the years at all:
  • Support new hardware and squeeze the most performance out of the latest features (pipelines, cache, chip and instruction characteristics)
  • Support new OS features like /proc, Hardware counters, page size, processor affinity, DTrace, rtld, etc
  • Tune math libraries and algebraic solvers for the latest HW micro-architecture
  • Provide State of the Art optimizations
  • Provide the broadest range of tools: Command-line, standalone GUIs and IDE and integrate them (test together, work together) in one product line
  • Bring the latest GUI technologies
  • Provide enterprise grade support
Few people remember that:
  • Studio predates SPARC. Sun Compilers (and then SPARCcompilers) worked on x86, Motorola and then SPARC
  • Studio predates Solaris. Notice the two releases SC0.0 and SC1.0 before Solaris 2.0 was born (back in those days Solaris 1.0 referred to Berkeley/BSD based SunOS 4.x. Equivalently, SunOS 5.x referred to Solaris).
  • Even though Solaris was released in 1992, Studio had two more releases on SunOS 4.x, until it stabilized completely to be the platform of choice for most of our customers (around Solaris 2.3)
  • Sun's last Pascal release was in 1994 (though there was a Y2K patch issued in 1999!) and the last Ada release was in 1995.
The official support and component matrix along with official Sun/Oracle support dates and policies is found here; please refer to this to get your questions answered.
It was a fun exercise for me to look at the past. Hope you enjoyed it too.

Wednesday Sep 08, 2010

Oracle Solaris Studio 12.2 released!

Oracle Solaris Studio 12.2 is the latest release of compilers and tools, available on Solaris 10 (SPARC and x86), OEL, RHEL and SuSE and has several highlights worth noting:
  • This is the first release of Studio under the Oracle banner. That said, it continues a long tradition of excellence in performance, features and productivity diligently nurtured by previous releases under the Sun Studio, Sun Workshop, Forte Developer banners.
    • For those of you who are new to the Sun product lines, Studio has always played an important part in various parts of the Oracle Hardware, Software stack:
      • Oracle database was always built optimized with Studio (for the past 15+ years as Sun's ISV partner) and recommended Studio for ProC and plugins
      • PeopleSoft, Siebel, Hyperion and JD Edwards was built optimized with Studio from long before these became part of the Oracle family.
      • Java VM has always built with Studio from Day 1 and has recommended it for Native Code Development
      • Solaris has, of course, been built from Day 1 with Sun compilers and these have played a critical part in developing the best application ecosystem around Solaris (differentiating it from HP/UX, IBM-AIX and Linuxes, whose combined #apps dont match upto Solaris)
      • Pretty much every single Sun system Hardware Benchmarking announcement that involved CPU crunching involved Studio compilers (exception: early x86/Opteron announcements on Linux when Studio wasnt on Linux yet)
  • Features:
    • Optimized for Sun Systems:
      • Support for latest SPARC and x86 Hardware systems. In particular, optimizations for SPARC64-VII, UltraSPARC-T2 (Plus), Intel Xeon 7500 processor series (Nehalem-EX) and the Intel Xeon 5600 processor series (Westmere-EP)
      • Math libraries and solvers tuned for each microarchitecture
      • Enhanced MT, OpenMP and MPI support throughout the toolchain.
    • Optimized for Solaris:
      • Tools that take advantage of latest Solaris features such as Dlight (a new tool) and features exposed for profiling (Performance Analyzer)
      • Solaris Binary Compatibility Guarantee with industry's only stable C++ ABI
    • Optimized for Developers:
      • Innovative new tools: A new memory debugger (Discover) and a new code coverage tool (Uncover).
      • OK, not new but pretty much unknown so a plug here wont hurt: dbxtool is now back as a standalone tool (since Studio 12 update 1)
      • Enhancements to existing tools, such as OCD (optimized code debugging), and improvements in application profiling and observability (Performance Analyzer).
      • Several enhancements to the Studio IDE to improve developer productivity, which I've detailed in a previous blog here and especially here.
  • New and enhanced support offering covered under two development bundles (here). Check out the support pages here.
So, heres what you can do today to get more familiar with it:

It doesnt hurt to reiterate the overall architectural graphic, so here it is again:

Oracle Solaris Studio at a glance

Wednesday Sep 01, 2010

Dbxtool over the years in pictures

I have taken some screenshots of the various DBXtool versions that I described in a previous blog. Heres a slideshow based on those screenshots. Enjoy!

Monday Aug 30, 2010

Oracle Solaris Studio: Did you know? dbxtool is back

I'm seeing as I hear more and more from customers that few of them are aware that DBXtool has come back as an independent, standalone tool in Studio. I would hate for this lovely tool to be Studio's best kept secret , so this blog is a note to get the word out, but while I'm at it, let us look at it in somewhat greater depth.

History of Dbxtool: OK, its inevitable that the re-emergence of DBXtool is tied to past history. So, lets peek a bit at the last 20 years. I remember back from the mid to late 80s when Sun's introduction of a desktop Windowing system called SunView featured a graphical debugger called dbxtool. dbxtool was a simple, easy to use interface to the source-level debugger, dbx. [I am amazed that you can still find references to it on the web!]. Personally, I found dbxtool to be a huge productivity enhancer and used it more than any other graphical productivity application (other than perhaps email!). In particular, I remember cool commands like "button expand" that let you create your own buttons in the panel. In the early 90s, Sunview evolved into a short-lived but very interesting project called NeWS. But more significantly, as Sun upgraded to the Open Look feel, dbxtool was rewritten for the new look-and-feel, so that events like Breakpoint-controls and Execution, Stack and Data display properties all had their own menus. From here on, dbxtool (now called simply: Debugger) was increasingly integrated into a programming environment which included editors-of-choice (vi, xemacs, nedit), a source browser, a build system and a source code management system (called Teamware). The debugger could still be invoked individually, if so desired, but it was all in the context of a larger toolset called Workshop. Workshop was an immensely popular product in the mid 90s for Sun's developer tools offering and to this day, many of Sun's enterprise customers fondly remember it.
But Sun was also undergoing a lot of change (particularly: Java, in this context) and in a quest to get a state-of-the-art IDE and to allow programmers to use the same tools for Java and C/C++, Sun bought a Czech company called NetBeans. This IDE had its own strong notion of workflow, learning much from the Microsoft and Borland models of tightly-integrated edit-compile-debug cycle support. The tools were all tightly integrated and Workshop went through three more name changes before finally settling in on the Sun Studio name(Workshop -> Forte Developer -> Sun ONE Studio -> Sun Studio). The Workshop group integrated C/C++ language support into NetBeans and thus made this offering equally complete and competitive for C/C++ users as well.
Since the late 90s and throughout this decade, the debugger has lived inside the (NetBeans-based) Studio IDE. Which is great. However, not everyone in Unix likes an IDE. In particular, many of them want simple, standalone tools. Make, SCCS/TeamWare, Source Browser etc. all evolved in Unix/Solaris from this strong need. So, despite a fairly strong undercurrent of demand for a lightweight, standalone tool for debugging, this has been available only through the IDE. Finally, in 2009, Studio released a standalone debugger, dbxtool to satisfy this constant demand.

What is in Dbxtool? Three things are different from the debugger in IDE. First, dbxtool is standalone and only loads the modules needed for debugging (and thus has faster startup and is lighter in memory usage). Second, dbxtool can be used to directly act upon a binary without having to create a project. Finally, you can embed dbxtool invocation into shell scripts and driver programs (via ss_attach) and do "dbx-specific" things like debug corefiles, debug process-ids without an executable, etc. Thus dbxtool more closely mimics the functionality in dbx, while preserving the advantages and convenience of graphical look-and-feel.
In dbxtool, you can look at stack traces, register dumps, [dis]assembly of corresponding source, watchpoints, multiple thread execution states, examining variables, and perform extensive expression evaluation.
Among other things that you might not know about, Dbxtool does runtime memory checking, allows for multiple sessions and does remote debugging (Solaris/Linux Client to Solaris/Linux server).

Read more about it from the manpage here . Or from the dbxtool video screencast here.

Finally, here is a screenshot of dbxtool:

Tuesday Jul 20, 2010

Solaris Studio Express Feedback program will end in a week

The customer feedback program for Solaris Studio Express 6/10 will end on 7/27. This is the last week to send your feedback through a quick survey

Please take a few minutes to send us your feedback.

Monday Jul 12, 2010

Watch Oracle Solaris Studio on OTN TechCast Live tomorrow: July 13th @10:00am

Join Don Kretsch, Senior Director- Software Development (and my boss) as he talks about What Is New and Cool With Oracle Solaris Studio in an OTN TechCast.
[TechCast Live are fireside chats; with Justin Kestelyn ( Editor-in-chief of OTN Blog ) and Oracle executives and experts that focus on new trends and technologies in Application Development.]

Don will talk about performance of C, C++, and Fortran compilers for Oracle Solaris and Linux, along with advanced multicore tools for parallel thread performance analysis, debugging and performance libraries. Don will also demo the latest features of the product, based on the recently released Studio Express release (download here to try it and give feedback).
If you miss the live TechCast, you can always rejoin later and watch it here from the archives

Wednesday Jun 09, 2010

Sun Studio 12 update 1 is not a patch update release of SS12

A quick note on the confusion about whether Sun Studio 12 update 1 is a patch-update release of Sun Studio 12 or not.
This particular naming convention has been a source of some major confusion for some customers, so let me come out and say it straight:
"Sun Studio 12 update 1 is NOT a patch update to Sun Studio 12".
They are in fact independent releases (much like Sun Studio 12 and Sun Studio 11 were).
Think of SS12u1 as SS13:
  • Like an independent release, you can install it alongside SS12 in a different partition.
  • Patches made for SS12u1 do NOT apply to SS12
  • Patches made to SS12 have been rolled into SS12u1 as bugfixes, but from the date of SS12u1 release (June 2009) these two maintenance source trees have diverged
  • If an ISV (Oracle apps are included in this) requests a certain patch level for Sun Studio 12 or for Sun Studio 12 update 1, do not assume you can use Sun Studio 12 update 1 instead. You cannot.
  • If an ISV (or other support document) states that "Sun Studio 12 patch xxxxx-nn or higher" is supported or required, do not assume that Sun Studio 12 update 1 will suffice instead, since as you've seen here, those two dont really have anything in common.
This issue gets particularly confusing because Solaris rolls its patches into update releases, so effectively Solaris 10 update 6 (eg) has all the patches created upto a certain cutoff date. Sun Studio does not do this and has never actually produced patch-update releases in the past in this sense.

Tuesday Jun 08, 2010

Required Patch Table for OSSX and SS12u1

The following is the required Patches table for certain features in Oracle Solaris Studio and Sun Studio 12 update 1

Patch Description SPARC x86 Nevada Delivery Primary Issues Resolved
Patch for assembler 118683-05 119961-07 SUNWsprot
libxprof extended for tcov support
Shared library patch for C++ 119963-15 119964-15 SUNWlibC

istreambuf_iterator::operator!= and == fail with -features=no%rvalueref options which adds new entry points to
Microtasking libraries (libmtsk) patch 120753-08 120754-08 SUNWlibm
SUNWlibmsr snv_138

new/improved environment variables
enhanced OpenMP debugging

From Sun Studio 12 update 1
OpenMP 3.0 Support
-xreduction causes a race-condition leading to SEGV or BUSERR in libc free() code
ld Patch 127127-11 kernel patch
Prefered solution is Solaris 10 Update 5
127128-11 kernel patch
Prefered solution is Solaris 10 Update 5
snv_52 From Sun Studio 12 update 1
The linker patch is required in order for compiler annotations to work.
Enhancements to the linker support interface needed.
        To keep from losing compiler annotations, i.e. -xannotate=yes (the default), impacts Cool Tools:binopt, bit, discover
        -xipo parallel makes on both pre and post u5 machines may fail - mysql build is an example.
kernel patch N/A (x86 only) 137112-01 kernel patch
Prefered solution is Solaris 10 Update 6
snv_76 From Sun Studio 12 update 1
dbx hangs with "Unexpected SIGTRAP" on x86

Nevada Delivery Column indicates which build of Solaris Nevada / OpenSolaris contains this fix. If you have a later build, you dont need to get the patch.

Package Name explanation:
SUNWlibC: Shared library patch for C++
SUNWlibm: Math & Microtasking Library Headers & Lint Files (Usr)
SUNWlibmr: Math Library Lint Files (Root)
SUNWlibms: Math & Microtasking Libraries (Usr)
SUNWlibmsr: Math & Microtasking Libraries (Root)
SUNWsprot: Solaris Bundled tools (includes libxprof)
SUNWxcurt: XCU4 Compliant Versions of make and sccs utilities
SUNWcpp: Solaris cpp

Monday Jun 07, 2010

End of life (EOL) features announced in OSS Express 6/10

The following features were declared as candidates for future removal (EOL= End of Life). Note that EOL does not mean that they WILL be removed in a future release; rather that they MAY be removed. This declaration is made so users can plan on alternatives and remove dependence on these features
  • libcx
    • This library is now considered obsolete. The contents of libcx are available in the system library libc
  • Interval BLAS (IBLAS) library
    • The Interval BLAS library (libsuniperf} was provided for users of interval arithmetic and is no longer used.
  • Fortran 77 Libraries
    • The Fortran 77 compiler is no longer supported so these libraries not needed. Full Fortran 77 compatibility is provided by the Fortran 95 libraries.
  • Runtime Checking in the dbx Debugger
    • Runtime checking (RTC) lets you automatically detect runtime errors, such as memory access errors and memory leak, in a C, C++, or Fortran application during the development phase. It also lets you monitor memory usage.
    • Much of the data generated by runtime checking is now available through the Memory Error Discovery Tool (Discover), which is included in the Oracle Solaris Studio Express 6/10 release.
  • -compat=4 option in the C++ compiler
    • The -compat=4 option sets the C++ compiler to compatibility mode. That is, it sets language and binary compatibility to that of the 4.0.1, 4.1, and 4.2 compilers. It sets the __cplusplus preprocessor macro to 1 and the __SUNPRO_CC_COMPAT preprocessor macro to 4.
    • The default value for the -compat option is 5, which sets language and binary compatibility to ANSI/ISO standard mode.

Friday Jun 04, 2010

Oracle Solaris Studio Express now available

Oracle Solaris Studio Express is now available for download and Customer feedback. OSS Express is the latest release of compilers and tools, available on Solaris 10 (SPARC and x86), OEL, RHEL and SuSE and has several highlights worth noting:
  • Support for latest SPARC and x86 Hardware systems. In particular, optimizations for SPARC64-VII, UltraSPARC-T2 (Plus), Intel Xeon 7500 processor series (Nehalem-EX) and the Intel Xeon 5600 processor series (Westmere-EP)
  • Innovative new tools: A new memory debugger (Discover) and a new code coverage tool (Uncover).
  • Enhancements to existing tools, such as OCD (optimized code debugging), and improvements in application profiling and observability (Performance Analyzer).
  • Several enhancements to the Studio IDE to improve developer productivity, including:
    • Profiling displays for C++ projects (with minimal overhead!) plus New Microstate Accounting indicator, Thread Map view, Hot Spots view, Memory Leaks view, Sync Problems view
    • Integrated support of popular Qt library and tools
    • More refactorings and code generation in the C/C++ editor
    • Macro expansion view to analyze preprocessor output
    • Faster synchronization during remote development
    • Support for gdbserver attach and easier attaching to already running processes
So, heres what you can do today to get more familiar with it:

In subsequent blog entries, I am going to try and cover these in more details. For now, the following graphic is worth the next thousand words, highlighting various aspects of development support in one broad stroke.

Thursday Jun 03, 2010

Oracle Solaris (Sun) Studio at ISC 2010

International SuperComputing Conference, that congregation of ultimate-geeks, celebrated 25 years this week in Hamburg, Germany. It is perhaps the largest HPC event of the year. Sun / Oracle Solaris Studio was well-represented there with a poster and a full talk.

Some highlights of the event are noted below:
  • Record number of attendees (about 1800), presenters (225) and exhibitors (151)
  • A new list of  Top500 SuperComputer sites was released at the same time.
  • Sun (Oracle) now has 4 of the Top15 and 10 of the Top100 systems installed with over 250,000 installed cores and 2.5 petaFlop of performance. The highest ranked system is Texas Advanced Computing Center/Univ. of Texas at #10 and Sandia Labs at #11
  • There will be an ISC Cloud Conference in the same location in October. This clearly understates the importance of Cloud Computing to HPC and the Supercomputing community.
This is the poster that represented Oracle Message Passing Toolkit. I figured you might find the graphic instructive. The poster highlights the Open MPI library, along with Performance/MPI Analyzer Tool, which together with Oracle Solaris (Sun) Studio constitute High Performance MPI support for x64 and SPARC systems.

Monday Apr 19, 2010

New Video: Building High Quality C/C++ Applications using Oracle Solaris Studio

Don Kretsch (Sr. Director, Oracle Solaris Studio Engineering) delivered this presentation as part of Sun TechDays 2009, in Brazil. This was recorded as part of other Sun TechDay recordings and has now been made available for general use in its entirety at the Oracle Solaris Video blog (yes, there is an ipod/iphone download available as well).

Don talks about Building High Quality C/C++ Applications using (Sun) Oracle Solaris Studio tools. His talk covers performance/optimizations, parallelisation support, tools for multithread and parallel programming and IDE features and focusses on the need for parallelisation in the context of emerging powerful multicore processors.

We have tried to get these out for many years now, so its great to see this is finally happening at this site!


I have worked with Sun and Oracle for 25 years now; in compilers and tools organization for most of these years followed by a couple of years in Cloud Computing. I am now in ISV Engineering, where our primary task is to improve synergy between Oracle Sun Systems and our rich ISV ecosystem


« July 2016
Interesting Links