On 9/23/12 5:50 PM, Stefan Teleman wrote:
On Sun, Sep 23, 2012 at 5:23 PM, Stefan Teleman
<stefan.tele...@gmail.com> wrote:
The second URL says this:
<QUOTE>
Due to a change in the implementation of the userland mutexes
introduced by CR 6296770 in KU 137111-01, objects of type mutex_t and
pthread_mutex_t must start at 8-byte aligned addresses. If this
requirement is not satisfied, all non-compliant applications on
Solaris/SPARC may fail with the signal SEGV with a callstack similar
to the following one or with similar callstacks containing the
function mutex_trylock_process.
\*_atomic_cas_64(0x141f2c, 0x0, 0xff000000, 0x1651, 0xff000000, 0x466d90)
set_lock_byte64(0x0, 0x1651, 0xff000000, 0x0, 0xfec82a00, 0x0)
fast_process_lock(0x141f24, 0x0, 0x1, 0x1, 0x0, 0xfeae5780)
</QUOTE>
Here's a link to an official datatype alignment table for SPARCV8:
http://docs.oracle.com/cd/E19205-01/819-5267/bkbkl/index.html
The interesting table is:
Table B–2 Storage Sizes and Default Alignments in Bytes
I see nothing really outstanding here. What is it that I should pay attention
to?
Thanks,
Liviu