re PR go/56320 (Several libgo tests FAIL on 64-bit Solaris/x86)
authorIan Lance Taylor <ian@gcc.gnu.org>
Wed, 20 Feb 2013 19:45:10 +0000 (19:45 +0000)
committerIan Lance Taylor <ian@gcc.gnu.org>
Wed, 20 Feb 2013 19:45:10 +0000 (19:45 +0000)
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

libgo/runtime/lfstack.c

index 00b60081e88b40af6e6b14917a1ead561179d28c..230ed87c43f74560ceab20f5ab267975c97b395d 100644 (file)
 #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