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