"Ian Lance Taylor" <[EMAIL PROTECTED]> writes:


"Chad Attermann" <[EMAIL PROTECTED]> writes:

I can not confirm that it was the i386 code included in the gcc build
but it appears that way from the signature.  Is this perhaps a problem
with the way that gcc 3.4.3 shipping with Solaris 10 x86 was built?
Should it have opted for the i486 version instead that does not use
spin-locks?

Yes, barring the extremely unlikely case that you need to run a plain
i386, you should use the i486 code from libstdc++-v3/config/cpu/i486.
There are various difficulties with the i386 atomicity code.
Fortunately the i486 was released almost 20 years ago, and it's
generally safe to use the i486 instructions today.

Ian

Running at least i486 code would make sense on AMD Opteron processors. I am shocked that the gcc version shipped by Sun Microsystems would be compiled for i386. I compiled my own version of gcc 4.2.2 n the same platform and it too appears to have used i386 code. Perhaps the gcc build configuration process for Solaris is flawed? Regardless I will be attempting to build a new version today that is forced to use the i486 code. Would apprecite if you have any tips.

Thanks,

Chad.

Reply via email to