diff --git a/lib/libc/sparc64/sys/Makefile.inc b/lib/libc/sparc64/sys/Makefile.inc index f677df19d1ba..8e5901e98b6b 100644 --- a/lib/libc/sparc64/sys/Makefile.inc +++ b/lib/libc/sparc64/sys/Makefile.inc @@ -11,6 +11,9 @@ SRCS+= __sparc_sigtramp_setup.c \ sigcode.S CFLAGS+= -I${.CURDIR}/sparc64/fpu +.if ${MACHINE} == "sun4v" +CFLAGS+= -DSUN4V +.endif MDASM+= brk.S cerror.S exect.S pipe.S ptrace.S sbrk.S setlogin.S sigaction.S diff --git a/lib/libc/sparc64/sys/__sparc_utrap_gen.S b/lib/libc/sparc64/sys/__sparc_utrap_gen.S index 6f6f0e3d2c57..4fb128dd3f6a 100644 --- a/lib/libc/sparc64/sys/__sparc_utrap_gen.S +++ b/lib/libc/sparc64/sys/__sparc_utrap_gen.S @@ -38,6 +38,10 @@ __FBSDID("$FreeBSD$"); #include "assym.s" ENTRY(__sparc_utrap_gen) +#ifdef SUN4V + save + ta %xcc, ST_FPEMU_CONTEXT +#endif sub %sp, UF_SIZEOF, %sp stx %o0, [%sp + SPOFF + CCFSZ + UF_TYPE]