patch applied (ghc-6.6/ghc): use " lock cmpxchg" instead of " lock/cmpxchg"

Simon Marlow simonmarhaskell at gmail.com
Tue Nov 21 06:25:11 EST 2006


Wolfgang Thaller wrote:
>> Fri Nov 17 03:44:29 PST 2006  Simon Marlow <simonmar at microsoft.com>
>>   * use "lock cmpxchg" instead of "lock/cmpxchg"
>>   I'm not sure where the latter version came from, but it apparently
>>   doesn't generate a legal instruction on Solaris.
>>
>>     M ./includes/SMP.h -1 +1
> 
> 
> It came from Mac OS X.
> 
>> Sun Mar  5 19:48:20 PST 2006  wolfgang.thaller at gmx.net
>>   * Use Darwin-compatible x86 assembly syntax in SMP.h (lock/ cmpxchg 
>> with a slash)
>>
>>     M ./ghc/includes/SMP.h -1 +1
> 
> 
> Apple's assembler doesn't accept the "lock cmpxchg" syntax, only  
> "lock/cmpxchg" and "lock\ncmpxchg". So does that leave "lock \ncmpxchg", 
> or is that a Mac-only thing, and we need #ifdefs?

Unfortunately, finding a version that works requires a 3-way synchronisation 
between you, me and Christian Meader :-)

lock\ncmpxchg works here.  Christian, does it work for you?

Cheers,
	Simon


More information about the Cvs-ghc mailing list