[PATCH 6/9] Use proper membar instructions on SPARC

David Miller davem at davemloft.net
Thu Aug 13 02:00:55 PDT 2009


From: Matt Turner <mattst88 at gmail.com>
Date: Thu, 13 Aug 2009 02:28:53 -0400

> On Thu, Aug 13, 2009 at 1:51 AM, David Miller<davem at davemloft.net> wrote:
>> From: Matt Turner <mattst88 at gmail.com>
>> Date: Thu, 13 Aug 2009 01:45:39 -0400
>>
>>> Cc: David S. Miller <davem at davemloft.net>
>>> Cc: Alan Coopersmith <alan.coopersmith at sun.com>
>>> Signed-off-by: Matt Turner <mattst88 at gmail.com>
>>
>> This breaks 32-bit sparc.
>>
>> It will cause the binaries built to be tagged as needing v8plus or v9
>> instructions.  They therefore won't execute or load on a 32-bit sparc
>> system.
>>
>> That's why I encoded the membars using explicit instruction constants,
>> rather than using the usual mnemonics.
> 
> Surely gcc defines a macro we can check for? Something like __sparcv9
> or __arch64__? What is preferred?

The correct test is something like:

#if defined(__sparc__) && defined(__arch64__)


More information about the xorg-devel mailing list