summaryrefslogtreecommitdiff
path: root/sys/arch/alpha
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2007-11-25 18:25:37 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2007-11-25 18:25:37 +0000
commitfd3cd56c5876d53b6c02e5b0821c0039831c6b6d (patch)
tree3d877f0b245dd0e07d6c535cd77daf7b8459efe5 /sys/arch/alpha
parent98824d13d14295a8c20e3c51cd80ca8e90e5c383 (diff)
libkern, begone. Move to a new mechanism where config(8)'s "file"
directive can select between MI and MD versions of these files. At the same time, adjust the boot programs to pick exactly what they need, instead of the 7 or 8 mechanisms previously used. There will be some fallout from this, but testing it all by myself is a ridiculously slow process; it will be finished in-tree. Various developers were very nice and avoided making fun of me when I was gibbering in the corner..
Diffstat (limited to 'sys/arch/alpha')
-rw-r--r--sys/arch/alpha/conf/Makefile.alpha15
-rw-r--r--sys/arch/alpha/conf/files.alpha13
-rw-r--r--sys/arch/alpha/stand/Makefile4
-rw-r--r--sys/arch/alpha/stand/boot/Makefile15
-rw-r--r--sys/arch/alpha/stand/bootxx/Makefile16
-rw-r--r--sys/arch/alpha/stand/libkern/Makefile5
-rw-r--r--sys/arch/alpha/stand/libkern/Makefile.inc52
-rw-r--r--sys/arch/alpha/stand/netboot/Makefile15
8 files changed, 37 insertions, 98 deletions
diff --git a/sys/arch/alpha/conf/Makefile.alpha b/sys/arch/alpha/conf/Makefile.alpha
index 5435fc97c1f..6a36714be28 100644
--- a/sys/arch/alpha/conf/Makefile.alpha
+++ b/sys/arch/alpha/conf/Makefile.alpha
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile.alpha,v 1.40 2007/11/25 11:23:33 deraadt Exp $
+# $OpenBSD: Makefile.alpha,v 1.41 2007/11/25 18:25:25 deraadt Exp $
# $NetBSD: Makefile.alpha,v 1.27 1996/12/01 06:12:25 jonathan Exp $
# Makefile for OpenBSD
@@ -50,14 +50,6 @@ HOSTED_CC= ${CC}
HOSTED_CPPFLAGS=${CPPFLAGS:S/^-nostdinc$//}
HOSTED_CFLAGS= ${CFLAGS}
-### find out what to use for libkern
-.include "$S/lib/libkern/Makefile.inc"
-.ifndef PROF
-LIBKERN= ${KERNLIB}
-.else
-LIBKERN= ${KERNLIB_PROF}
-.endif
-
# compile rules: rules are named ${TYPE}_${SUFFIX} where TYPE is NORMAL or
# HOSTED}, and SUFFIX is the file suffix, capitalized (e.g. C for a .c file).
@@ -77,7 +69,7 @@ HOSTED_C= ${HOSTED_CC} ${HOSTED_CFLAGS} ${HOSTED_CPPFLAGS} -c $<
# ${SYSTEM_LD_HEAD}
# ${SYSTEM_LD} swapxxx.o
# ${SYSTEM_LD_TAIL}
-SYSTEM_OBJ= locore.o param.o ioconf.o ${OBJS} ${LIBKERN}
+SYSTEM_OBJ= locore.o param.o ioconf.o ${OBJS}
SYSTEM_DEP= Makefile ${SYSTEM_OBJ}
SYSTEM_LD_HEAD= @rm -f $@
SYSTEM_LD= @echo ${LD} ${LINKFLAGS} -o $@ '$${SYSTEM_OBJ}' vers.o; \
@@ -109,6 +101,9 @@ param.c: $S/conf/param.c
param.o: param.c Makefile
${NORMAL_C}
+mcount.o: $S/lib/libkern/mcount.c Makefile
+ ${NORMAL_C_NOP}
+
ioconf.o: ioconf.c
${NORMAL_C}
diff --git a/sys/arch/alpha/conf/files.alpha b/sys/arch/alpha/conf/files.alpha
index c276f5135eb..c979e7e444a 100644
--- a/sys/arch/alpha/conf/files.alpha
+++ b/sys/arch/alpha/conf/files.alpha
@@ -1,4 +1,4 @@
-# $OpenBSD: files.alpha,v 1.82 2007/06/08 22:57:42 jasper Exp $
+# $OpenBSD: files.alpha,v 1.83 2007/11/25 18:25:25 deraadt Exp $
# $NetBSD: files.alpha,v 1.32 1996/11/25 04:03:21 cgd Exp $
#
# alpha-specific configuration info
@@ -355,3 +355,14 @@ include "dev/bluetooth/files.bluetooth"
# Machine-independent 1-Wire drivers
#
include "dev/onewire/files.onewire"
+
+# Machine-dependent libkern components
+file lib/libkern/softfloat.c
+file lib/libkern/arch/alpha/__divl.S
+file lib/libkern/arch/alpha/__divlu.S
+file lib/libkern/arch/alpha/__divq.S
+file lib/libkern/arch/alpha/__divqu.S
+file lib/libkern/arch/alpha/__reml.S
+file lib/libkern/arch/alpha/__remlu.S
+file lib/libkern/arch/alpha/__remq.S
+file lib/libkern/arch/alpha/__remqu.S
diff --git a/sys/arch/alpha/stand/Makefile b/sys/arch/alpha/stand/Makefile
index 3c09a2a57c8..97e08de346e 100644
--- a/sys/arch/alpha/stand/Makefile
+++ b/sys/arch/alpha/stand/Makefile
@@ -1,8 +1,8 @@
-# $OpenBSD: Makefile,v 1.8 2000/11/08 16:01:24 art Exp $
+# $OpenBSD: Makefile,v 1.9 2007/11/25 18:25:29 deraadt Exp $
# $NetBSD: Makefile,v 1.7 1997/04/10 23:03:38 cgd Exp $
.if ${MACHINE} == "alpha"
-SUBDIR= boot bootxx netboot libkern libsa libz
+SUBDIR= boot bootxx netboot libsa libz
.endif
SUBDIR+= setnetbootinfo installboot
diff --git a/sys/arch/alpha/stand/boot/Makefile b/sys/arch/alpha/stand/boot/Makefile
index 29514f0ef7f..035155b6936 100644
--- a/sys/arch/alpha/stand/boot/Makefile
+++ b/sys/arch/alpha/stand/boot/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.15 2005/08/10 16:58:42 todd Exp $
+# $OpenBSD: Makefile,v 1.16 2007/11/25 18:25:29 deraadt Exp $
# $NetBSD: Makefile,v 1.17 1997/04/17 07:27:46 thorpej Exp $
S= ${.CURDIR}/../../../..
@@ -18,6 +18,9 @@ HEADERSIZE_PROG = headersize
CLEANFILES+= vers.c vers.o ${PROG}.sym ${PROG}.nosym ${HEADERSIZE_PROG}
+.PATH: ${S}/lib/libkern/arch/alpha ${S}/lib/libkern
+SRCS+= __divlu.S __remqu.S __reml.S strlen.c bzero.c __divl.S __divqu.S \
+ __remlu.S
DEFNS= -DCOMPAT_UFS -DALPHA_BOOT_ELF
@@ -39,12 +42,6 @@ lint:
.include <bsd.prog.mk>
-### find out what to use for libkern
-KERN_AS= library
-KERNDST= ${.CURDIR}/../libkern/${__objdir}
-.include "${.CURDIR}/../libkern/Makefile.inc"
-LIBKERN= ${KERNLIB}
-
### find out what to use for libz
Z_AS= library
ZDST= ${.CURDIR}/../libz/${__objdir}
@@ -59,9 +56,9 @@ SA_ZLIB= yes
.include "${.CURDIR}/../libsa/Makefile.inc"
LIBSA= ${SALIB}
-${PROG}.sym: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
+${PROG}.sym: ${OBJS} ${LIBSA} ${LIBZ}
sh ${.CURDIR}/newvers.sh ${.CURDIR}/version
${COMPILE.c} vers.c
${LD} -Ttext ${BOOT_RELOC} -N -e start -o ${PROG}.sym \
- ${OBJS} vers.o ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
+ ${OBJS} vers.o ${LIBSA} ${LIBZ} ${LIBSA}
size ${PROG}.sym
diff --git a/sys/arch/alpha/stand/bootxx/Makefile b/sys/arch/alpha/stand/bootxx/Makefile
index c9d82a03846..ffa3957e704 100644
--- a/sys/arch/alpha/stand/bootxx/Makefile
+++ b/sys/arch/alpha/stand/bootxx/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.8 2005/08/10 16:58:42 todd Exp $
+# $OpenBSD: Makefile,v 1.9 2007/11/25 18:25:29 deraadt Exp $
# $NetBSD: Makefile,v 1.12 1997/04/17 07:27:49 thorpej Exp $
S= ${.CURDIR}/../../../..
@@ -17,6 +17,9 @@ HEADERSIZE_PROG = headersize
CLEANFILES+= ${PROG}.sym ${PROG}.nosym ${PROG}.trunc ${HEADERSIZE_PROG}
+.PATH: ${S}/lib/libkern/arch/alpha ${S}/lib/libkern
+SRCS+= bzero.c
+
DEFNS= -DPRIMARY_BOOTBLOCK
DEFNS+= -DALPHA_BOOT_ELF
@@ -40,13 +43,6 @@ lint:
.include <bsd.prog.mk>
-### find out what to use for libkern
-KERN_AS= library
-KERNDST= ${.CURDIR}/../libkern/${__objdir}
-.include "${.CURDIR}/../libkern/Makefile.inc"
-LIBKERN= ${KERNLIB}
-
-${PROG}.sym: ${OBJS} ${LIBKERN}
- ${LD} -Ttext ${BOOT_RELOC} -N -e start -o ${PROG}.sym ${OBJS} \
- ${LIBKERN}
+${PROG}.sym: ${OBJS}
+ ${LD} -Ttext ${BOOT_RELOC} -N -e start -o ${PROG}.sym ${OBJS}
size ${PROG}.sym
diff --git a/sys/arch/alpha/stand/libkern/Makefile b/sys/arch/alpha/stand/libkern/Makefile
deleted file mode 100644
index 87ff5fbe70a..00000000000
--- a/sys/arch/alpha/stand/libkern/Makefile
+++ /dev/null
@@ -1,5 +0,0 @@
-# $OpenBSD: Makefile,v 1.1 1997/05/05 06:01:55 millert Exp $
-
-.include <bsd.obj.mk>
-.include <bsd.dep.mk>
-.include <bsd.subdir.mk>
diff --git a/sys/arch/alpha/stand/libkern/Makefile.inc b/sys/arch/alpha/stand/libkern/Makefile.inc
deleted file mode 100644
index 27c4fb0c431..00000000000
--- a/sys/arch/alpha/stand/libkern/Makefile.inc
+++ /dev/null
@@ -1,52 +0,0 @@
-# $OpenBSD: Makefile.inc,v 1.1 1997/05/05 06:01:56 millert Exp $
-# $NetBSD: Makefile.inc,v 1.22 1996/09/30 15:54:35 ws Exp $
-#
-# NOTE: $S must correspond to the top of the 'sys' tree
-
-KERNDIR= $S/lib/libkern
-
-KERNDST?= ${.OBJDIR}/lib/kern
-KERN_AS?= obj
-
-.if (${KERN_AS} == "library")
-KERNLIB= ${KERNDST}/libkern.a
-KERNLIB_PROF= ${KERNDST}/libkern_p.a
-.else
-KERNLIB= ${KERNDST}/libkern.o
-KERNLIB_PROF= ${KERNDST}/libkern.po
-.endif
-
-KERNMAKE= \
- cd ${KERNDIR} && MAKEOBJDIR=${KERNDST} ${MAKE} \
- CC='${CC}' CFLAGS='${CFLAGS}' \
- AS='${AS}' AFLAGS='${AFLAGS}' \
- LD='${LD}' STRIP='${STRIP}' \
- MACHINE='${MACHINE}' MACHINE_ARCH='${MACHINE_ARCH}' \
- KERNCPPFLAGS='${CPPFLAGS:S@^-I.@-I../../.@g}'
-
-${KERNLIB}: .NOTMAIN __always_make_kernlib
- @echo making sure the kern library is up to date...
-.if (${KERN_AS} == "library")
- @${KERNMAKE} libkern.a
-.else
- @${KERNMAKE} libkern.o
-.endif
-
-${KERNLIB_PROF}: .NOTMAIN __always_make_kernlib
- @echo making sure the profiled kern library is up to date...
-.if (${KERN_AS} == "library")
- @${KERNMAKE} libkern_p.a
-.else
- @${KERNMAKE} libkern.po
-.endif
-
-clean: .NOTMAIN __always_make_kernlib
- @echo cleaning the kern library objects
- @${KERNMAKE} clean
-
-depend: .NOTMAIN __always_make_kernlib
- @echo depending the kern library objects
- @${KERNMAKE} depend
-
-__always_make_kernlib: .NOTMAIN
- @mkdir -p ${KERNDST}
diff --git a/sys/arch/alpha/stand/netboot/Makefile b/sys/arch/alpha/stand/netboot/Makefile
index 29d2ff3a8ef..3c627fc84d6 100644
--- a/sys/arch/alpha/stand/netboot/Makefile
+++ b/sys/arch/alpha/stand/netboot/Makefile
@@ -1,4 +1,4 @@
-# $OpenBSD: Makefile,v 1.7 2006/02/15 12:40:50 mickey Exp $
+# $OpenBSD: Makefile,v 1.8 2007/11/25 18:25:30 deraadt Exp $
# $NetBSD: Makefile,v 1.11 1997/04/17 07:27:50 thorpej Exp $
S= ${.CURDIR}/../../../..
@@ -20,6 +20,9 @@ HEADERSIZE_PROG = headersize
CLEANFILES+= vers.c vers.o ${PROG}.sym ${PROG}.nosym ${HEADERSIZE_PROG}
+.PATH: ${S}/lib/libkern/arch/alpha ${S}/lib/libkern
+SRCS+= bzero.c __divqu.S strlen.S __remqu.S
+
DEFNS= -DPRIMARY_BOOTBLOCK -DALPHA_BOOT_ELF -DSUN_BOOTPARAMS
AFLAGS += -DASSEMBLER ${DEFNS}
@@ -40,12 +43,6 @@ lint:
.include <bsd.prog.mk>
-### find out what to use for libkern
-KERN_AS= library
-KERNDST= ${.CURDIR}/../libkern/${__objdir}
-.include "${.CURDIR}/../libkern/Makefile.inc"
-LIBKERN= ${KERNLIB}
-
### find out what to use for libz
Z_AS= library
ZDST= ${.CURDIR}/../libz/${__objdir}
@@ -60,9 +57,9 @@ SA_ZLIB= yes
.include "${.CURDIR}/../libsa/Makefile.inc"
LIBSA= ${SALIB}
-${PROG}.sym: ${OBJS} ${LIBSA} ${LIBZ} ${LIBKERN}
+${PROG}.sym: ${OBJS} ${LIBSA} ${LIBZ}
sh ${.CURDIR}/newvers.sh ${.CURDIR}/version
${COMPILE.c} vers.c
${LD} -Ttext ${BOOT_RELOC} -N -e start -o ${PROG}.sym \
- ${OBJS} vers.o ${LIBSA} ${LIBZ} ${LIBSA} ${LIBKERN}
+ ${OBJS} vers.o ${LIBSA} ${LIBZ} ${LIBSA}
size ${PROG}.sym