--- xc/programs/Xserver/hw/xfree86/loader/loader.c 2005-03-20 00:36:27 -0800 +++ xc/programs/Xserver/hw/xfree86/loader/loader.c 2005-03-20 07:10:32 -0800 @@ -114,7 +114,7 @@ static char freeHandles[MAX_HANDLE]; static int refCount[MAX_HANDLE]; #endif -#if defined(__sparc__) && defined(__GNUC__) && !defined(__FreeBSD__) +#if defined(__sparc__) && defined(__GNUC__) && !defined(__FreeBSD__) && !defined(__linux_sparc_64__) # define SYMFUNCDOT(func) { "." #func, (funcptr)&__sparc_dot_ ## func }, # if !defined(__OpenBSD__) # define SYMFUNCDOT89(func) { "." #func, (funcptr)&func ## _sparcv89 }, @@ -343,7 +343,7 @@ LoaderInit(void) LoaderAddSymbols(-1, -1, dixLookupTab); LoaderAddSymbols(-1, -1, fontLookupTab); LoaderAddSymbols(-1, -1, extLookupTab); -#if defined(__sparc__) && !defined(__FreeBSD__) +#if defined(__sparc__) && !defined(__FreeBSD__) && !defined(__linux_sparc_64__) #ifdef linux if (sparcUseHWMulDiv()) LoaderAddSymbols(-1, -1, SparcV89LookupTab); --- xc/extras/Mesa/src/mesa/sparc/xform.S 2005-03-25 00:26:29 -0800 +++ xc/extras/Mesa/src/mesa/sparc/xform.S 2005-03-25 00:27:44 -0800 @@ -18,7 +18,7 @@ #include "sparc_matrix.h" -#ifdef SVR4 +#if defined(SVR4) || defined(__arch64__) || defined(__linux_sparc_64__) /* Solaris requires this for 64-bit. */ .register %g2, #scratch .register %g3, #scratch --- xc/extras/Mesa/src/mesa/sparc/norm.S 2005-03-25 00:28:59 -0800 +++ xc/extras/Mesa/src/mesa/sparc/norm.S 2005-03-25 00:29:30 -0800 @@ -2,7 +2,7 @@ #include "sparc_matrix.h" -#ifdef SVR4 +#if defined(SVR4) || defined(__arch64__) || defined(__linux_sparc_64__) /* Solaris requires this for 64-bit. */ .register %g2, #scratch .register %g3, #scratch --- xc/extras/Mesa/src/mesa/sparc/clip.S 2005-03-25 00:27:56 -0800 +++ xc/extras/Mesa/src/mesa/sparc/clip.S 2005-03-25 00:28:48 -0800 @@ -25,7 +25,7 @@ #define VEC_SIZE_3 7 #define VEC_SIZE_4 15 -#ifdef SVR4 +#if defined(SVR4) || defined(__arch64__) || defined(__linux_sparc_64__) /* Solaris requires this for 64-bit. */ .register %g2, #scratch .register %g3, #scratch --- xc/programs/Xserver/hw/xfree86/drivers/sunffb/VISmoveImage.s 2005-03-25 00:45:41.000000000 -0800 +++ xc/programs/Xserver/hw/xfree86/drivers/sunffb/VISmoveImage.s 2005-03-25 00:52:31.000000000 -0800 @@ -174,6 +174,11 @@ tgtr: * by machines, not humans. Comments are deliberately left as an exercise * to the occasional reader. */ +#if defined(__arch64__) || defined(__linux_sparc_64__) + .register %g2, #scratch + .register %g3, #scratch +#endif + .text .globl VISmoveImageLR .align 32 --- xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_asm.s.orig 2005-03-25 20:58:18 -0800 +++ xc/programs/Xserver/hw/xfree86/drivers/sunffb/ffb_asm.s 2005-03-25 20:59:45 -0800 @@ -54,6 +54,11 @@ #define SEG_X2 0x04 #define SEG_Y2 0x06 +#if defined(__arch64__) || defined(__linux_sparc_64__) + .register %g2, #scratch + .register %g3, #scratch +#endif + .text .align 32 --- xc/extras/Mesa/src/mesa/sparc/glapi_sparc.S 2005-03-25 15:31:04 -0800 +++ xc/extras/Mesa/src/mesa/sparc/glapi_sparc.S 2005-03-25 15:53:24 -0800 @@ -5,6 +5,14 @@ * sethi/or instruction sequences below at library init time. */ +#if (defined(__sparc_v9__) && (!defined(__linux__) || defined(__linux_sparc_64__))) +.register %g2, #scratch +.register %g3, #scratch +#else +# ifdef __arch64__ +.register %g3, #scratch +# endif +#endif .text .align 32