Sat Nov 28 23:46:39 2009 UTC ()
Add no/op routines for m68000 for the sticky, mask, and round settings.


(christos)
diff -r1.28 -r1.29 src/lib/libc/arch/m68k/gen/Makefile.inc
diff -r0 -r1.1 src/lib/libc/arch/m68k/gen/fpfake.c

cvs diff -r1.28 -r1.29 src/lib/libc/arch/m68k/gen/Makefile.inc (expand / switch to unified diff)

--- src/lib/libc/arch/m68k/gen/Makefile.inc 2006/07/03 12:54:34 1.28
+++ src/lib/libc/arch/m68k/gen/Makefile.inc 2009/11/28 23:46:38 1.29
@@ -1,14 +1,14 @@ @@ -1,14 +1,14 @@
1# $NetBSD: Makefile.inc,v 1.28 2006/07/03 12:54:34 drochner Exp $ 1# $NetBSD: Makefile.inc,v 1.29 2009/11/28 23:46:38 christos Exp $
2 2
3SRCS+= alloca.S fabs.S 3SRCS+= alloca.S fabs.S
4 4
5# Common ieee754 constants and functions 5# Common ieee754 constants and functions
6SRCS+= infinityf_ieee754.c infinity_ieee754.c 6SRCS+= infinityf_ieee754.c infinity_ieee754.c
7SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c 7SRCS+= fpclassifyf_ieee754.c fpclassifyd_ieee754.c
8SRCS+= isinff_ieee754.c isinfd_ieee754.c 8SRCS+= isinff_ieee754.c isinfd_ieee754.c
9SRCS+= isnanf_ieee754.c isnand_ieee754.c 9SRCS+= isnanf_ieee754.c isnand_ieee754.c
10SRCS+= isfinitef_ieee754.c isfinited_ieee754.c 10SRCS+= isfinitef_ieee754.c isfinited_ieee754.c
11SRCS+= signbitf_ieee754.c signbitd_ieee754.c 11SRCS+= signbitf_ieee754.c signbitd_ieee754.c
12 12
13SRCS+= nanf.c 13SRCS+= nanf.c
14 14
@@ -23,26 +23,29 @@ SRCS+= fpclassifyl.c isfinitel.c isinfl. @@ -23,26 +23,29 @@ SRCS+= fpclassifyl.c isfinitel.c isinfl.
23 23
24SRCS+= ashlsi3.S ashrsi3.S \ 24SRCS+= ashlsi3.S ashrsi3.S \
25 lshlsi3.S lshrsi3.S \ 25 lshlsi3.S lshrsi3.S \
26 negdf2.S negsf2.S 26 negdf2.S negsf2.S
27SRCS+= bswap16.S bswap32.S bswap64.S 27SRCS+= bswap16.S bswap32.S bswap64.S
28SRCS+= _lwp.c 28SRCS+= _lwp.c
29 29
30# 68000-based machines build with a libgcc that includes 30# 68000-based machines build with a libgcc that includes
31# much of the (soft)float and integer support that would  31# much of the (soft)float and integer support that would
32# otherwise be compiled here. 32# otherwise be compiled here.
33.if (${MACHINE_ARCH} == "m68000" || ${MKSOFTFLOAT} == "yes") 33.if (${MACHINE_ARCH} == "m68000" || ${MKSOFTFLOAT} == "yes")
34SRCS+= modf_ieee754.c # generic ieee754 version 34SRCS+= modf_ieee754.c # generic ieee754 version
35SRCS+= flt_rounds_softfloat.S 35SRCS+= flt_rounds_softfloat.S
 36.if ${MKSOFTFLOAT} != "yes"
 37SRCS+= fpfake.c
 38.endif
36.else 39.else
37SRCS+= modf.S 40SRCS+= modf.S
38SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \ 41SRCS+= flt_rounds.S fpgetmask.S fpgetround.S fpgetsticky.S fpsetmask.S \
39 fpsetround.S fpsetsticky.S 42 fpsetround.S fpsetsticky.S
40SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \ 43SRCS+= adddf3.S addsf3.S cmpdf2.S cmpsf2.S divdf3.S \
41 divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \ 44 divsf3.S divsi3.S extendsfdf2.S fixdfsi.S fixunsdfsi.S \
42 floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \ 45 floatsidf.S modsi3.S muldf3.S mulsf3.S mulsi3.S \
43 subdf3.S subsf3.S truncdfsf2.S udivsi3.S \ 46 subdf3.S subsf3.S truncdfsf2.S udivsi3.S \
44 umodsi3.S umulsi3.S 47 umodsi3.S umulsi3.S
45.endif 48.endif
46 49
47SRCS+= setjmp.S longjmp.c 50SRCS+= setjmp.S longjmp.c
48SRCS+= _setjmp.S 51SRCS+= _setjmp.S

File Added: src/lib/libc/arch/m68k/gen/fpfake.c
#include <ieeefp.h>

fp_except
fpgetmask(void)
{
	return 0;
}

fp_rnd
fpgetround(void)
{
	return 0;
}

fp_except
fpgetsticky(void)
{
	return 0;
}

fp_except
fpsetmask(fp_except mask)
{
	return 0;
}

fp_rnd
fpsetround(fp_rnd rnd_dir)
{
	return 0;
}

fp_except
fpsetsticky(fp_except sticky)
{
	return 0;
}