Subject: multi-threaded bus error under Solaris 2.4
Summary: How to best apply the work around asm directive?
Organization: The Whole Earth 'Lectronic Link, Sausalito, CA
I've got a big problem. I've purchased the Workshop 1.1 with SparCompiler C
3.0.1 and am running a SparcLX with Solaris 2.4. Much to my horror and
surpris I read the READMEs in the Workshop for C only to discover a known bug
prevents multiple threads that address unaligned data from running. Thus,
with 300Klines of a software toxic wastedump to port from an X86 to the
Sparc, I'm kind of hosed. My question:
The workaround states that the asm("ta 6") statement should be placed in
the thread entry point. Does this mean that if the thread entry point
invokes 50 functions, each of which address unaligned data structures,
that this assembler directive should be inserted in each function? Or
does this directive, when compiled in the thread at an arbitrary location,
suffice for the entire thread context?
Any clarification on the use of this work around would be greatly appreciated.
Better yet, has Sun released a patch for this problem? What's the patch
To those who know what is not known; The Chronicles of Microwave Jim!