applied SPARC patch (freedesktop bug 1898)
diff --git a/src/mesa/sparc/sparc.c b/src/mesa/sparc/sparc.c
index d0c6bba..7f99ead 100644
--- a/src/mesa/sparc/sparc.c
+++ b/src/mesa/sparc/sparc.c
@@ -165,7 +165,7 @@
 	disp_addr = (unsigned long) &_glapi_Dispatch;
 
 	while (insn_ptr < end_ptr) {
-#if defined(__sparc_v9__) && !defined(__linux__)
+#if (defined(__sparc_v9__) && (!defined(__linux__) || defined(__linux_sparc_64__)))
 		insn_ptr[0] |= (disp_addr >> (32 + 10));
 		insn_ptr[1] |= ((disp_addr & 0xffffffff) >> 10);
 		__glapi_sparc_icache_flush(&insn_ptr[0]);