diff options
Diffstat (limited to 'libgo/runtime/lfstack.c')
-rw-r--r-- | libgo/runtime/lfstack.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/libgo/runtime/lfstack.c b/libgo/runtime/lfstack.c index 00b60081e88..230ed87c43f 100644 --- a/libgo/runtime/lfstack.c +++ b/libgo/runtime/lfstack.c @@ -17,9 +17,10 @@ #define PTR_MASK ((1ull<<PTR_BITS)-1) #define CNT_MASK (0ull-1) -#if __SIZEOF_POINTER__ == 8 && defined(__sparc__) -// SPARC64 uses all 64 bits of virtual addresses. Use low-order three -// bits as ABA counter. +#if __SIZEOF_POINTER__ == 8 && (defined(__sparc__) || (defined(__sun__) && defined(__amd64__))) +// SPARC64 and Solaris on AMD64 uses all 64 bits of virtual addresses. +// Use low-order three bits as ABA counter. +// http://docs.oracle.com/cd/E19120-01/open.solaris/816-5138/6mba6ua5p/index.html #undef PTR_BITS #undef CNT_MASK #undef PTR_MASK |