summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2011-04-10 02:54:48 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2011-04-10 02:54:48 +0000
commit3d2e287aa2a2d0da7647f7a0a54d7da9292eaf50 (patch)
tree79fef314b0ab11e533112c0abf7e5960c4ec2744
parentcdd2ab625167a130f977afbb4b14292d419a20f0 (diff)
'kernel libraries' always get in the way of the build process. Teach
autoconf how to find the spmath files.
-rw-r--r--sys/arch/hppa/conf/Makefile.hppa15
-rw-r--r--sys/arch/hppa/conf/files.hppa37
-rw-r--r--sys/arch/hppa/spmath/Makefile31
-rw-r--r--sys/arch/hppa/spmath/Makefile.inc41
4 files changed, 38 insertions, 86 deletions
diff --git a/sys/arch/hppa/conf/Makefile.hppa b/sys/arch/hppa/conf/Makefile.hppa
index 4add2e09d8a..821b913ccc3 100644
--- a/sys/arch/hppa/conf/Makefile.hppa
+++ b/sys/arch/hppa/conf/Makefile.hppa
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.hppa,v 1.63 2010/12/30 18:49:30 deraadt Exp $
+# $OpenBSD: Makefile.hppa,v 1.64 2011/04/10 02:54:45 deraadt Exp $
# For instructions on building kernels consult the config(8) and options(4)
# manual pages.
@@ -51,17 +51,6 @@ CFLAGS+= -mpa-risc-2-0
CFLAGS+= -mpa-risc-1-1
.endif
-.if ${IDENT:M-DFPEMUL} != ""
-CFLAGS+= -msoft-float -mdisable-fpregs
-HPPA= ${_machdir}
-.include "${_machdir}/spmath/Makefile.inc"
-.ifndef PROF
-LIBSPMATH= ${SPMATH}
-.else
-LIBSPMATH= ${SPMATH_PROF}
-.endif
-.endif
-
.if ${IDENT:M-DDDB_STRUCT}
DB_STRUCTINFO= db_structinfo.h
.else
@@ -88,7 +77,7 @@ NORMAL_S= ${CC} ${AFLAGS} ${CPPFLAGS} -c $<
# ${SYSTEM_LD_HEAD}
# ${SYSTEM_LD} swapxxx.o
# ${SYSTEM_LD_TAIL}
-SYSTEM_HEAD= locore.o param.o ioconf.o ${LIBSPMATH}
+SYSTEM_HEAD= locore.o param.o ioconf.o
SYSTEM_DEP= Makefile ${SYSTEM_HEAD} ${OBJS}
SYSTEM_LD_HEAD= @rm -f $@
SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_HEAD} vers.o $${OBJS}'; \
diff --git a/sys/arch/hppa/conf/files.hppa b/sys/arch/hppa/conf/files.hppa
index 3637105496e..f5e7d0cbcee 100644
--- a/sys/arch/hppa/conf/files.hppa
+++ b/sys/arch/hppa/conf/files.hppa
@@ -1,4 +1,4 @@
-# $OpenBSD: files.hppa,v 1.87 2011/01/02 14:01:18 matthieu Exp $
+# $OpenBSD: files.hppa,v 1.88 2011/04/10 02:54:46 deraadt Exp $
#
# hppa-specific configuration info
@@ -340,3 +340,38 @@ file lib/libkern/xordi3.c
file lib/libkern/arch/hppa/milli.S
file lib/libkern/arch/hppa/spcopy.S
+# fpu emulation
+file arch/hppa/spmath/dfadd.c fpemul
+file arch/hppa/spmath/dfcmp.c fpemul
+file arch/hppa/spmath/dfdiv.c fpemul
+file arch/hppa/spmath/dfmpy.c fpemul
+file arch/hppa/spmath/dfrem.c fpemul
+file arch/hppa/spmath/dfsqrt.c fpemul
+file arch/hppa/spmath/dfsub.c fpemul
+file arch/hppa/spmath/divsfm.c fpemul
+file arch/hppa/spmath/divsfr.c fpemul
+file arch/hppa/spmath/divsim.c fpemul
+file arch/hppa/spmath/divsir.c fpemul
+file arch/hppa/spmath/divufr.c fpemul
+file arch/hppa/spmath/divuir.c fpemul
+file arch/hppa/spmath/fcnvff.c fpemul
+file arch/hppa/spmath/fcnvfx.c fpemul
+file arch/hppa/spmath/fcnvfxt.c fpemul
+file arch/hppa/spmath/fcnvxf.c fpemul
+file arch/hppa/spmath/frnd.c fpemul
+file arch/hppa/spmath/mpyaccs.c fpemul
+file arch/hppa/spmath/mpyaccu.c fpemul
+file arch/hppa/spmath/mpys.c fpemul
+file arch/hppa/spmath/mpyscv.c fpemul
+file arch/hppa/spmath/mpyu.c fpemul
+file arch/hppa/spmath/mpyucv.c fpemul
+file arch/hppa/spmath/sfadd.c fpemul
+file arch/hppa/spmath/sfcmp.c fpemul
+file arch/hppa/spmath/sfdiv.c fpemul
+file arch/hppa/spmath/sfmpy.c fpemul
+file arch/hppa/spmath/sfrem.c fpemul
+file arch/hppa/spmath/sfsqrt.c fpemul
+file arch/hppa/spmath/sfsub.c fpemul
+file arch/hppa/spmath/divu.S fpemul
+file arch/hppa/spmath/impys.S fpemul
+file arch/hppa/spmath/impyu.S fpemul
diff --git a/sys/arch/hppa/spmath/Makefile b/sys/arch/hppa/spmath/Makefile
deleted file mode 100644
index 7592ec23e3b..00000000000
--- a/sys/arch/hppa/spmath/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-# $OpenBSD: Makefile,v 1.5 2006/11/29 10:40:44 mickey Exp $
-
-LIB= spmath
-NOPIC=
-
-SRCS= dfadd.c dfcmp.c dfdiv.c dfmpy.c dfrem.c dfsqrt.c dfsub.c divsfm.c \
- divsfr.c divsim.c divsir.c divu.S divufr.c divuir.c fcnvff.c fcnvfx.c \
- fcnvfxt.c fcnvxf.c frnd.c impys.S impyu.S mpyaccs.c mpyaccu.c mpys.c \
- mpyscv.c mpyu.c mpyucv.c sfadd.c sfcmp.c sfdiv.c sfmpy.c \
- sfrem.c sfsqrt.c sfsub.c
-
-MACHINE= ${XMACHINE}
-MACHINE_ARCH= ${XMACHINE_ARCH}
-
-# Files to clean up
-CLEANFILES+= ${LIB}.o ${LIB}.po
-
-install:
-
-.include <bsd.lib.mk>
-
-${LIB}.o:: ${OBJS}
- @echo building standard ${LIB} library
- @rm -f ${LIB}.o
- @${LD} -r -o ${LIB}.o `${LORDER} ${OBJS} | tsort`
-
-${LIB}.po:: ${POBJS}
- @echo building profiled ${LIB} library
- @rm -f ${LIB}.po
- @${LD} -r -o ${LIB}.po `${LORDER} ${POBJS} | tsort`
-
diff --git a/sys/arch/hppa/spmath/Makefile.inc b/sys/arch/hppa/spmath/Makefile.inc
deleted file mode 100644
index 1451eba1958..00000000000
--- a/sys/arch/hppa/spmath/Makefile.inc
+++ /dev/null
@@ -1,41 +0,0 @@
-# $OpenBSD: Makefile.inc,v 1.5 2002/02/04 22:17:56 mickey Exp $
-#
-# NOTE: $S must correspond to the top of the 'sys' tree
-# $HPPA must correspond to the top of hppa tree
-
-SPMATHDIR= ${HPPA}/spmath
-
-SPMATHDST?= ${.OBJDIR}/lib/spmath
-
-SPMATH= ${SPMATHDST}/spmath.o
-SPMATH_PROF= ${SPMATHDST}/spmath.po
-
-SPMATHMAKE= \
- cd ${SPMATHDIR} && MAKEOBJDIR=${SPMATHDST} ${MAKE} \
- CC='${CC}' CFLAGS='${CFLAGS}' \
- CPPFLAGS='${CPPFLAGS:S@^-I.@-I../../.@g}'\
- AS='${AS}' AFLAGS='${AFLAGS}' \
- LD='${LD}' STRIP='${STRIP}' \
- CPP='${CPP}' STRIP='${STRIP}' AR='${AR}' \
- NM='${NM}' LORDER='${LORDER}' \
- XMACHINE='${MACHINE}' XMACHINE_ARCH='${MACHINE_ARCH}' \
-
-${SPMATH}: .NOTMAIN __always_make_spmath
- @echo making sure the spmath library is up to date...
- @${SPMATHMAKE} spmath.o
-
-${SPMATH_PROF}: .NOTMAIN __always_make_spmath
- @echo making sure the profiled spmath library is up to date...
- @${SPMATHMAKE} spmath.po
-
-clean:: .NOTMAIN __always_make_spmath
- @echo cleaning the spmath library objects
- @${SPMATHMAKE} clean
-
-depend:: .NOTMAIN __always_make_spmath
- @echo depending the spmath library objects
- @${SPMATHMAKE} depend
-
-__always_make_spmath: .NOTMAIN
- -mkdir -p ${SPMATHDST}
-