Atomic COMPARE_AND_EXCHANGE (Was: Re: [kaffe] NetBSD/68k asm error!!)

Dalibor Topic robilad@kaffe.org
Mon Dec 8 07:48:02 2003


Hi Tony,

Tony Wyatt wrote:
> Hi Kiyo,
> 
> On  8/12/2003, you wrote:
> 
> 
>>Right. I am (partially) guilty. Usually, deleting optimization can solve
>>this problem. Well, I will make another business trip (this time to
>>west coast), and when I come back to Japan, I will turn my NetBSD
>>system up and check it.
>>
> 
> I don't think it's your fault. If anything, it's mine, since it seems to be
> happening in the area that I patched back in March. However, Dalibor's
> latest patch seems to be doing the job. We're awaiting Riccardo's findings.

Seems to work, the compilation goes on without a hitch, but breaks later 
for another reason. I'll check my patch in.

The patch is a straight rip off out of GNU libc (LGPL licensed, so it's 
GPL compatible), which has atomicity primitives for a number of 
platforms. It may be a good place to look at for other platforms as well.

In the long run (say a few weeks), I'd like to rip out the 
COMPARE_AND_EXCHANGE macro completely, and replace it by the inlined 
functions from libc, if they prove to work.

cheers
dalibor topic