diff options
author | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-02-20 19:45:10 +0000 |
---|---|---|
committer | Ian Lance Taylor <ian@gcc.gnu.org> | 2013-02-20 19:45:10 +0000 |
commit | aa777e7a23c38690a205ece9ebee9d2d4ad23097 (patch) | |
tree | d2cb694dccc6fef5094447628318832c5ff9dc7c /libgo | |
parent | a0a7b6118a93846178c9dc4799e83b8e973d2392 (diff) | |
download | gcc-aa777e7a23c38690a205ece9ebee9d2d4ad23097.zip gcc-aa777e7a23c38690a205ece9ebee9d2d4ad23097.tar.gz gcc-aa777e7a23c38690a205ece9ebee9d2d4ad23097.tar.bz2 |
re PR go/56320 (Several libgo tests FAIL on 64-bit Solaris/x86)
PR go/56320
runtime: Support Solaris AMD64 in lfstack.
The address space layout is similar on SPARC64 and AMD64 when
running Solaris.
From-SVN: r196179
Diffstat (limited to 'libgo')
-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 00b6008..230ed87 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 |