Boost logo

Boost :

Subject: Re: [boost] Boost trunk on Solaris 10 sparc
From: Matchek (maciej_at_[hidden])
Date: 2012-03-09 16:22:13


2012/3/5 Peter Dimov <pdimov_at_[hidden]>

> The problem here is that basically all Sparcs currently in existence
> support the V9 instruction set, but the GCC architecture macros denote an
> ABI and not an instruction set, and the V9 ABI is 64 bit. When you compile
> with -mcpu=v9 -m32, which enables the CAS instruction but still compiles
> for 32 bit and the V8 ABI, __sparcv8 is set. So there's no way to
> determine, on the basis of the predefined macros, whether shared_ptr should
> use CAS or not.

Thanks for the explanation. I got it to build by specifying exactly that,
-mcpu=v9 -m32, which resulted in v8+ binaries.

For those interested, here's my set of Boost packages compiled on Solaris
10, for sparc and intel architectures:

http://buildfarm.opencsw.org/experimental.html#boost

Here's the build recipe:
https://gar.svn.sourceforge.net/svnroot/gar/csw/mgar/pkg/boost/branches/boost-gcc/Makefile

Each shared library is in a separate package, so if you build something
depending on Boost, you only need to depend on a small package instead of a
big bundle. There are 32-bit and 64-bit libraries, under /opt/csw/gxx/lib
and /opt/csw/gxx/lib/{sparcv9,amd64}.

If anyone's interested in trying them, I'll be happy to get feedback.

Maciej


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk