Removed almost all traces of libkern.a. The objects that were in

libkern.a are now specified by listing their source files in
files.${MACHINE}.  The list is machine-dependent to save space.
All the necessary object for each machine must be linked into the
kernel in case an lkm wants one.
This commit is contained in:
Bruce Evans 1995-12-26 13:58:31 +00:00
parent 432889653c
commit 62394a63c8
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=13031
10 changed files with 53 additions and 179 deletions

View File

@ -1,5 +1,5 @@
# $Id: Makefile,v 1.2 1994/08/02 07:38:17 davidg Exp $
# $Id: Makefile,v 1.3 1994/08/25 13:54:28 paul Exp $
SUBDIR= ${MACHINE}/boot libkern
SUBDIR= ${MACHINE}/boot
.include <bsd.subdir.mk>

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.27 1995/12/23 16:46:31 davidg Exp $
* $Id: support.s,v 1.28 1995/12/24 08:10:43 davidg Exp $
*/
#include "assym.s" /* system definitions */
@ -938,22 +938,3 @@ ___bb_init_func:
movl 4(%esp),%eax
movl $1,(%eax)
ret
/*
* Pull in everything in libkern for LKM's
*/
.globl ___umoddi3
.globl ___moddi3
.globl ___udivdi3
.globl ___divdi3
.globl _inet_ntoa
.globl _random
.globl _scanc
.globl _skpc
.globl _strcat
.globl _strncmp
.globl _strncpy
.globl _strcmp
.globl _strcpy
.globl ___qdivrem

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.27 1995/12/23 16:46:31 davidg Exp $
* $Id: support.s,v 1.28 1995/12/24 08:10:43 davidg Exp $
*/
#include "assym.s" /* system definitions */
@ -938,22 +938,3 @@ ___bb_init_func:
movl 4(%esp),%eax
movl $1,(%eax)
ret
/*
* Pull in everything in libkern for LKM's
*/
.globl ___umoddi3
.globl ___moddi3
.globl ___udivdi3
.globl ___divdi3
.globl _inet_ntoa
.globl _random
.globl _scanc
.globl _skpc
.globl _strcat
.globl _strncmp
.globl _strncpy
.globl _strcmp
.globl _strcpy
.globl ___qdivrem

View File

@ -1,6 +1,6 @@
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.70 1995/11/19 19:49:43 davidg Exp $
# $Id: Makefile.i386,v 1.71 1995/12/16 01:57:17 bde Exp $
#
# Makefile for FreeBSD
#
@ -62,9 +62,9 @@ PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $<
SYSTEM_CFILES= ioconf.c param.c vnode_if.c
SYSTEM_SFILES= ${I386}/i386/locore.s
SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} libkern.a
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS}
SYSTEM_LD_HEAD= @echo loading $@; rm -f $@
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o libkern.a
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
.if ${CFLAGS:M-g} == ""
SYMORDER_EXCLUDE=-x symbols.exclude
.endif
@ -84,30 +84,8 @@ SYSTEM_LD_TAIL= @echo rearranging symbols; \
%CLEAN
# This is slightly different from before in that if you define PROF
# to anything, it will assume profiling. Don't do "PROF=" to turn
# profiling off!
.if exists($S/libkern/obj)
LIBKERNP=$S/libkern/obj
.else
LIBKERNP=$S/libkern
.endif
.if defined(PROF)
LIBKERN=${LIBKERNP}/libkern_p.a
.else
LIBKERN=${LIBKERNP}/libkern.a
.endif
libkern.a: ${LIBKERN}
@rm -f libkern.a
ln -s ${LIBKERN} libkern.a
${LIBKERN}:
@(cd $S/libkern; make)
clean:
rm -f *.o *.s eddep errs genassym kernel libkern.a linterrs \
rm -f *.o *.s eddep errs genassym kernel linterrs \
makelinks param.c symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h ${CLEAN}

View File

@ -1,6 +1,6 @@
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.70 1995/11/19 19:49:43 davidg Exp $
# $Id: Makefile.i386,v 1.71 1995/12/16 01:57:17 bde Exp $
#
# Makefile for FreeBSD
#
@ -62,9 +62,9 @@ PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $<
SYSTEM_CFILES= ioconf.c param.c vnode_if.c
SYSTEM_SFILES= ${I386}/i386/locore.s
SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} libkern.a
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS}
SYSTEM_LD_HEAD= @echo loading $@; rm -f $@
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o libkern.a
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
.if ${CFLAGS:M-g} == ""
SYMORDER_EXCLUDE=-x symbols.exclude
.endif
@ -84,30 +84,8 @@ SYSTEM_LD_TAIL= @echo rearranging symbols; \
%CLEAN
# This is slightly different from before in that if you define PROF
# to anything, it will assume profiling. Don't do "PROF=" to turn
# profiling off!
.if exists($S/libkern/obj)
LIBKERNP=$S/libkern/obj
.else
LIBKERNP=$S/libkern
.endif
.if defined(PROF)
LIBKERN=${LIBKERNP}/libkern_p.a
.else
LIBKERN=${LIBKERNP}/libkern.a
.endif
libkern.a: ${LIBKERN}
@rm -f libkern.a
ln -s ${LIBKERN} libkern.a
${LIBKERN}:
@(cd $S/libkern; make)
clean:
rm -f *.o *.s eddep errs genassym kernel libkern.a linterrs \
rm -f *.o *.s eddep errs genassym kernel linterrs \
makelinks param.c symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h ${CLEAN}

View File

@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
# $Id: files.i386,v 1.119 1995/12/21 20:09:22 julian Exp $
# $Id: files.i386,v 1.120 1995/12/26 12:50:01 bde Exp $
#
aic7xxx_asm optional ahc device-driver \
dependency "$S/dev/aic7xxx/aic7xxx_asm.c" \
@ -193,6 +193,23 @@ i386/linux/linux_sysent.c optional linux
i386/scsi/aic7xxx.c optional ahc device-driver \
dependency "aic7xxx_seq.h"
i386/scsi/bt.c optional bt device-driver
libkern/divdi3.c standard
libkern/inet_ntoa.c standard
libkern/mcount.c optional profiling-routine
libkern/moddi3.c standard
libkern/qdivrem.c standard
libkern/qsort.c standard
libkern/random.c standard
libkern/scanc.c standard
libkern/skpc.c standard
libkern/strcat.c standard
libkern/strcmp.c standard
libkern/strcpy.c standard
libkern/strlen.c standard
libkern/strncmp.c standard
libkern/strncpy.c standard
libkern/udivdi3.c standard
libkern/umoddi3.c standard
gnu/i386/fpemul/div_small.s optional gpl_math_emulate
gnu/i386/fpemul/errors.c optional gpl_math_emulate
gnu/i386/fpemul/fpu_arith.c optional gpl_math_emulate

View File

@ -1,6 +1,6 @@
# Copyright 1990 W. Jolitz
# from: @(#)Makefile.i386 7.1 5/10/91
# $Id: Makefile.i386,v 1.70 1995/11/19 19:49:43 davidg Exp $
# $Id: Makefile.i386,v 1.71 1995/12/16 01:57:17 bde Exp $
#
# Makefile for FreeBSD
#
@ -62,9 +62,9 @@ PROFILE_C= ${CC} -c ${CFLAGS} ${PARAM} $<
SYSTEM_CFILES= ioconf.c param.c vnode_if.c
SYSTEM_SFILES= ${I386}/i386/locore.s
SYSTEM_OBJS= locore.o vnode_if.o ${OBJS} ioconf.o param.o
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS} libkern.a
SYSTEM_DEP= Makefile symbols.exclude symbols.sort ${SYSTEM_OBJS}
SYSTEM_LD_HEAD= @echo loading $@; rm -f $@
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o libkern.a
SYSTEM_LD= @${LD} -Bstatic -Z -T ${LOAD_ADDRESS} -o $@ -X ${SYSTEM_OBJS} vers.o
.if ${CFLAGS:M-g} == ""
SYMORDER_EXCLUDE=-x symbols.exclude
.endif
@ -84,30 +84,8 @@ SYSTEM_LD_TAIL= @echo rearranging symbols; \
%CLEAN
# This is slightly different from before in that if you define PROF
# to anything, it will assume profiling. Don't do "PROF=" to turn
# profiling off!
.if exists($S/libkern/obj)
LIBKERNP=$S/libkern/obj
.else
LIBKERNP=$S/libkern
.endif
.if defined(PROF)
LIBKERN=${LIBKERNP}/libkern_p.a
.else
LIBKERN=${LIBKERNP}/libkern.a
.endif
libkern.a: ${LIBKERN}
@rm -f libkern.a
ln -s ${LIBKERN} libkern.a
${LIBKERN}:
@(cd $S/libkern; make)
clean:
rm -f *.o *.s eddep errs genassym kernel libkern.a linterrs \
rm -f *.o *.s eddep errs genassym kernel linterrs \
makelinks param.c symbols.exclude symbols.sort tags \
vers.c vnode_if.c vnode_if.h ${CLEAN}

View File

@ -1,7 +1,7 @@
# This file tells config what files go into building a kernel,
# files marked standard are always included.
#
# $Id: files.i386,v 1.119 1995/12/21 20:09:22 julian Exp $
# $Id: files.i386,v 1.120 1995/12/26 12:50:01 bde Exp $
#
aic7xxx_asm optional ahc device-driver \
dependency "$S/dev/aic7xxx/aic7xxx_asm.c" \
@ -193,6 +193,23 @@ i386/linux/linux_sysent.c optional linux
i386/scsi/aic7xxx.c optional ahc device-driver \
dependency "aic7xxx_seq.h"
i386/scsi/bt.c optional bt device-driver
libkern/divdi3.c standard
libkern/inet_ntoa.c standard
libkern/mcount.c optional profiling-routine
libkern/moddi3.c standard
libkern/qdivrem.c standard
libkern/qsort.c standard
libkern/random.c standard
libkern/scanc.c standard
libkern/skpc.c standard
libkern/strcat.c standard
libkern/strcmp.c standard
libkern/strcpy.c standard
libkern/strlen.c standard
libkern/strncmp.c standard
libkern/strncpy.c standard
libkern/udivdi3.c standard
libkern/umoddi3.c standard
gnu/i386/fpemul/div_small.s optional gpl_math_emulate
gnu/i386/fpemul/errors.c optional gpl_math_emulate
gnu/i386/fpemul/fpu_arith.c optional gpl_math_emulate

View File

@ -30,7 +30,7 @@
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
*
* $Id: support.s,v 1.27 1995/12/23 16:46:31 davidg Exp $
* $Id: support.s,v 1.28 1995/12/24 08:10:43 davidg Exp $
*/
#include "assym.s" /* system definitions */
@ -938,22 +938,3 @@ ___bb_init_func:
movl 4(%esp),%eax
movl $1,(%eax)
ret
/*
* Pull in everything in libkern for LKM's
*/
.globl ___umoddi3
.globl ___moddi3
.globl ___udivdi3
.globl ___divdi3
.globl _inet_ntoa
.globl _random
.globl _scanc
.globl _skpc
.globl _strcat
.globl _strncmp
.globl _strncpy
.globl _strcmp
.globl _strcpy
.globl ___qdivrem

View File

@ -1,37 +0,0 @@
# @(#)Makefile 7.9 (Berkeley) 6/1/93
# $Id: Makefile,v 1.11 1995/11/08 08:40:09 phk Exp $
.undef NOPROFILE
LIB= kern
CFLAGS+= -I${.CURDIR} -I${.CURDIR}/.. -DKERNEL
# Stuff we call from the kernel
SRCS+= inet_ntoa.c mcount.c qsort.c
SRCS+= random.c scanc.c skpc.c
SRCS+= strcat.c strcmp.c strcpy.c strlen.c strncmp.c strncpy.c
# Stuff GCC generates
SRCS+= divdi3.c udivdi3.c moddi3.c umoddi3.c
SRCS+= qdivrem.c
# Stuff which isn't currently used, if at all..
# SRCS+= bcmp.c ffs.c locc.c rindex.c
# Stuff GCC may need....
# SRCS+= adddi3.c anddi3.c ashldi3.c ashrdi3.c cmpdi2.c
# SRCS+= iordi3.c lshldi3.c lshrdi3.c muldi3.c negdi2.c notdi2.c
# SRCS+= subdi3.c ucmpdi2.c xordi3.c
.if exists(${.CURDIR}/${MACHINE}/Makefile.inc)
.PATH: ${.CURDIR}/${MACHINE}
.include "${.CURDIR}/${MACHINE}/Makefile.inc"
.endif
# mcount cannot be compiled with profiling
mcount.po: mcount.o
cp mcount.o mcount.po
install:
.include <bsd.lib.mk>