diff --git a/platform/switch_sparc_sun_gcc.h b/platform/switch_sparc_sun_gcc.h index 5c672056..113de52a 100644 --- a/platform/switch_sparc_sun_gcc.h +++ b/platform/switch_sparc_sun_gcc.h @@ -55,7 +55,11 @@ slp_switch(void) * * Then put the stack pointer into stackref. */ __asm__ volatile ( +#ifdef __sparcv9 + "flushw\n\t" +#else "ta %1\n\t" +#endif "mov %%sp, %0" : "=r" (stackref) : "i" (ST_FLUSH_WINDOWS));