diff --git a/libgo/runtime/lfstack.c b/libgo/runtime/lfstack.c
index 783595abe7ab4e83421c1ae938035c2034eb6444..00b60081e88b40af6e6b14917a1ead561179d28c 100644
--- a/libgo/runtime/lfstack.c
+++ b/libgo/runtime/lfstack.c
@@ -19,7 +19,10 @@
 
 #if __SIZEOF_POINTER__ == 8 && defined(__sparc__)
 // SPARC64 uses all 64 bits of virtual addresses.  Use low-order three
-bits as ABA counter.
+// bits as ABA counter.
+#undef PTR_BITS
+#undef CNT_MASK
+#undef PTR_MASK
 #define PTR_BITS 0
 #define CNT_MASK 7
 #define PTR_MASK ((0ull-1)<<3)