Re: [Gc] atomic_ops: bugfix for Solaris x86/amd64
ivmai at mail.ru
Tue Feb 2 22:44:54 PST 2010
Ian Wienand <ian at wienand.org> wrote:
> Do you think this will fix the build problem at ?
No, my patch deals nothing with sparc.
I see the problem of : If you compile for old sparc (I mean not v9) then use -D AO_NO_SPARC_V9.
If you can't replicate that problem then you are compiling on sparcv9, right? (OS means nothing here, only the compiler and CPU matter.)
> I tried building libatomic-ops on a sparc I have available through
> Debian, and can't replicate that problem.
>  https://buildd.debian.org/fetch.cgi?&pkg=libatomic-ops&ver=1.2%2Bcvs20091005-1&arch=sparc&stamp=1258294998&file=log
> 2010/2/2 Ivan Maidanski <ivmai at mail.ru>:
> > Hi!
> > I've done 2 changes (for Solaris, fr the code that has been adopted from the gcc's case by myself half a year ago):
> > - fixed "xchg" operand size in AO_test_and_set_full() (I intentionally don't use "b" suffix as there has been some problems with "xchgb" mnemonic in some Sun CC assembler versions - anyway "xchg %al, ..." and "xchgb %al, ..." are equivalent);
> > - commented out AO_compare_double_and_swap_double_full (+ its AO_HAVE_...) because it hasn't been tested, might be wrong, and tickles a bug in some Sun CC versions (some assertion is violated in a register allocation function in "Sun CC 5.10" with -O1 or high; on the other hand, "Sun Ceres CC 5.10" has no problems with the code); also, __PIC__ macro is never predefined by Sun CC.
More information about the Gc