Going on the Redhat thread regarding this issue
(https://bugzilla.redhat.com/show_bug.cgi?id=679489), one can find the
following comment
> Jakub Jelinek 2011-02-22 19:53:22 EST
> Could be "+m" (ret) too, but I think the "=m" + "m" variant should cover even
> prehistoric buggy gccs while "+m" mig
Or how about this version ? Here I use the + modifier and I don't put any
constraints on the input line.
static inline int32_t opal_atomic_add_32(volatile int32_t* v, int i)
{
int ret = i;
__asm__ __volatile__(
SMPLOCK "xaddl %1,%0"
: "+m" (*v),
Jay,
Thanks for the code. The code you pointed out is only used during configure, so
I don't think is that critical. However, we use similar code deep into our
voodoo assembly generation, for opal_atomic_add_32 and opal_atomic_sub_32.
So if I understand your statement the correct version of the
Thanks. I've applied the patch and will start the process of pushing it
to the next 1.5 release.
Brian
On 2/23/11 11:04 AM, "Jay Fenlason" wrote:
>I was recently handed
>https://bugzilla.redhat.com/attachment.cgi?id=480307
>for which a kindly GCC expert attached the enclosed patch. Apparentl