1# $OpenBSD: Makefile,v 1.3 2021/05/17 13:54:42 bluhm Exp $ 2 3PROGS = fenv fdump fdfl feget fxproc0 4SRCS_fenv = fenv.S 5LDADD_fenv = -nopie -nostdlib -static 6LDADD_fdfl = -lm 7LDADD_feget = -lm 8LDADD_fxproc0 = -lkvm 9CFLAGS = -O2 ${PIPE} ${DEBUG} 10CFLAGS += -Wformat -Wno-compare-distinct-pointer-types 11WARNINGS = yes 12CLEANFILES = *.out 13 14MODEL != sysctl -n hw.model | tr -c '[:alnum:]' '_' 15ALLOWKMEM != sysctl -n kern.allowkmem 16 17REGRESS_TARGETS += run-regress-fenv 18run-regress-fenv: fenv fdump 19.if ${MODEL:C/.*_AMD_Opteron_.*/opteron/} != opteron 20 # Load FPU environment directly at _start and write it. 21 # Read FPU environment and print it to stdout. 22 ./fenv | ./fdump >fenv.out 23 diff ${.CURDIR}/fenv_t.ok fenv.out 24.else 25 # Early AMD Opteron processors behave differently. 26 @echo SKIPPED 27.endif 28 29REGRESS_TARGETS += run-regress-fdfl 30run-regress-fdfl: fdfl 31 # Print default libm FPU environment to stdout. 32 ./fdfl >fdfl.out 33 diff ${.CURDIR}/fenv_t.ok fdfl.out 34 35REGRESS_TARGETS += run-regress-feget 36run-regress-feget: feget 37.if ${MODEL:C/.*_AMD_Opteron_.*/opteron/} != opteron 38 # Get FPU environment via libm and print it to stdout. 39 ./feget >feget.out 40 diff ${.CURDIR}/fenv_t.ok feget.out 41.else 42 # Early AMD Opteron processors behave differently. 43 @echo SKIPPED 44.endif 45 46REGRESS_TARGETS += run-regress-fxproc0 47run-regress-fxproc0: fxproc0 48.if ${ALLOWKMEM} 49 # Read FPU storage area from proc0 via /dev/mem and print it to stdout. 50 ${SUDO} ./fxproc0 >fxproc0.out 51 diff ${.CURDIR}/fxsave64.ok fxproc0.out 52.else 53 # Set sysctl kern.allowkmem=1 for additional tests. 54 @echo SKIPPED 55.endif 56 57.include <bsd.regress.mk> 58