[csw-maintainers] Solaris Studio vs GCC

Maciej Bliziński maciej at opencsw.org
Thu Mar 15 07:59:06 CET 2012


Ben Walton wrote:
> Excerpts from Peter Bonivart's message of Sun Mar 11 19:21:30 -0400 2012:
> > On Sun, Mar 11, 2012 at 11:48 PM, Ben Walton <bwalton at opencsw.org> wrote:
> 
> > > I understand that performance of the binaries generated by studio
> > > used to be superior, but I don't know if that's still the
> > > case.  Aside from this (possible) win for studio, what are some of
> > > the other reasons we've traditionally preferred it to gcc?
> > 
> > I'd like to switch the _default_ compiler only. :)
> 
> Yes, this is important.  It was implicit in my mind, but it's good to
> be explicit.

If we wanted to do this, we need to plan how to transition. If we
rebuild a C++ library sitting in /opt/csw/lib, we'll break all the
clients that are built with Studio. We probably don't want that.

We need to find a way to automatically check which libraries are built
with Studio and which with GCC (by only looking at the binary and maybe
doing some pattern searches on symbols). This will allow us to assess
the situation better. If the target is to have GCC-built C++ libs in
/opt/csw/lib, it would have to look something like this:

1. Identify all Studio C++ libs and their dependencies
2. Build the GCC versions of these libs into /opt/csw/gxx
3. Rebuild the dependencies using the libs in /opt/csw/gxx
4. Move the Studio libs from /opt/csw/lib to /opt/csw/studio or remove
   them altogether
5. Rebuild the GCC libs into /opt/csw/lib
6. Rebuild the dependencies

It's not a trivial task.

As an alternative, we could see if we can do a gradual migration,
meaning that once we rebuild something, we follow this path. We could
probably come up with a set of checks that would ensure the right order
of operations. But then we'd have a mix of Studio and GCC C++ libraries
in /opt/csw/lib, which could be royally confusing.

Thoughts?

Maciej


More information about the maintainers mailing list