aboutsummaryrefslogtreecommitdiff
path: root/kernel/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/Makefile')
-rw-r--r--kernel/Makefile127
1 files changed, 112 insertions, 15 deletions
diff --git a/kernel/Makefile b/kernel/Makefile
index 2fc5f1d714ac..5a6ae5035498 100644
--- a/kernel/Makefile
+++ b/kernel/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.75 2023/08/03 12:24:46 nia Exp $
+# $NetBSD: Makefile,v 1.96 2025/07/17 19:50:40 kre Exp $
NOMAN= # defined
@@ -7,51 +7,80 @@ NOMAN= # defined
TESTSDIR= ${TESTSBASE}/kernel
TESTS_SUBDIRS+= kqueue
-#TESTS_C= t_epoll
+TESTS_C+= t_cloexec
+TESTS_C+= t_clofork
+#TESTS_C+= t_epoll
+TESTS_C+= t_execregs
TESTS_C+= t_fcntl
+.if ${MKRUMP} != "no"
+TESTS_C+= t_fdrestart
+.endif
+TESTS_C+= t_kauth_pr_47598
+TESTS_C+= t_ksem
TESTS_C+= t_lock
TESTS_C+= t_lockf
-TESTS_C+= t_pty
TESTS_C+= t_memfd_create
TESTS_C+= t_mqueue
+TESTS_C+= t_nanosleep
+TESTS_C+= t_open_pr_57260
TESTS_C+= t_proccwd
+TESTS_C+= t_pty
+TESTS_C+= t_semtimedop
+TESTS_C+= t_signal_and_sp
TESTS_C+= t_sysv
TESTS_C+= t_subr_prf
-TESTS_C+= t_kauth_pr_47598
-TESTS_C+= t_ksem
TESTS_C+= t_sysctl
TESTS_C+= t_timeleft
+.if ${MKRUMP} != "no"
+TESTS_C+= t_unmount
+.endif
TESTS_C+= t_zombie
-TESTS_C+= t_open_pr_57260
-TESTS_SH= t_umount
-TESTS_SH+= t_umountstress
-TESTS_SH+= t_ps_strings
-TESTS_SH+= t_trapsignal
+TESTS_SH= t_fexecve
+TESTS_SH+= t_fpufork
TESTS_SH+= t_interp
TESTS_SH+= t_magic_symlinks
TESTS_SH+= t_nointerpreter
TESTS_SH+= t_origin
TESTS_SH+= t_procpath
-TESTS_SH+= t_fexecve
-TESTS_SH+= t_fpufork
+TESTS_SH+= t_ps_strings
+.if ${MKKMOD} != "no"
+TESTS_SH+= t_setjmp
+.endif
.if ${MKRUMP} != "no"
TESTS_SH+= t_simplehook
.endif
+TESTS_SH+= t_trapsignal
+TESTS_SH+= t_umountstress
+TESTS_SH+= t_umount
BINDIR= ${TESTSDIR}
-PROGS= h_fexecve
+PROGS+= h_cloexec
+PROGS+= h_execregs
+PROGS+= h_execsp_dynamic
+PROGS+= h_execsp_static
+PROGS+= h_fexecve
+PROGS+= h_fpufork
+PROGS+= h_getprocpath
PROGS+= h_ps_strings1
PROGS+= h_ps_strings2
PROGS+= h_segv
-PROGS+= h_getprocpath
-PROGS+= h_fpufork
SCRIPTSDIR= ${TESTSDIR}
SCRIPTS= h_interpreter.sh
+LDADD.t_fdrestart+= -lpthread
+LDADD.t_fdrestart+= -lrumpnet_local
+LDADD.t_fdrestart+= -lrumpnet_net
+LDADD.t_fdrestart+= -lrumpnet_netinet
+LDADD.t_fdrestart+= -lrumpnet
+LDADD.t_fdrestart+= ${LIBRUMPBASE}
+
LDADD.t_mqueue+= -lrt
+LDADD.t_unmount+= -lrumpfs_tmpfs
+LDADD.t_unmount+= ${LIBRUMPBASE}
+
.if (${MKRUMP} != "no") && !defined(BSD_MK_COMPAT_FILE)
TESTS_SUBDIRS+= tty
@@ -68,6 +97,52 @@ LDADD.t_rnd+= -lrumpdev_rnd -lrumpdev ${LIBRUMPBASE}
LDADD.t_timeleft+= -lpthread
CPPFLAGS+= -D_KERNTYPES
+CPPFLAGS.t_unmount.c+= -D_KMEMUSER -D__EXPOSE_MOUNT
+
+.if exists(${.PARSEDIR}/arch/${MACHINE_ARCH})
+ARCHDIR:= ${.PARSEDIR}/arch/${MACHINE_ARCH}
+.else
+ARCHDIR:= ${.PARSEDIR}/arch/${MACHINE_CPU}
+.endif
+.PATH: ${ARCHDIR}
+
+.if exists(${ARCHDIR}/stack_pointer.h)
+CPPFLAGS.t_signal_and_sp.c+= -I${ARCHDIR} -DHAVE_STACK_POINTER_H
+.endif
+
+SRCS.t_signal_and_sp+= t_signal_and_sp.c
+.if exists(${ARCHDIR}/contextspfunc.S)
+CPPFLAGS.t_signal_and_sp.c+= -DHAVE_CONTEXTSPFUNC
+SRCS.t_signal_and_sp+= contextspfunc.S
+.endif
+.if exists(${ARCHDIR}/signalsphandler.S)
+CPPFLAGS.t_signal_and_sp.c+= -DHAVE_SIGNALSPHANDLER
+SRCS.t_signal_and_sp+= signalsphandler.S
+.endif
+.if exists(${ARCHDIR}/threadspfunc.S)
+CPPFLAGS.t_signal_and_sp.c+= -DHAVE_THREADSPFUNC
+SRCS.t_signal_and_sp+= threadspfunc.S
+LDADD.t_signal_and_sp+= -pthread
+.endif
+
+SRCS.h_execsp_dynamic+= h_execsp.c
+SRCS.h_execsp_static+= h_execsp.c
+.if exists(${ARCHDIR}/execsp.S)
+CPPFLAGS.t_signal_and_sp.c+= -DHAVE_EXECSP
+SRCS.h_execsp_dynamic+= execsp.S
+SRCS.h_execsp_static+= execsp.S
+LDFLAGS.h_execsp_dynamic+= -Wl,-e,execsp_start
+LDFLAGS.h_execsp_static+= -Wl,-e,execsp_start
+.else
+CPPFLAGS.h_execsp.c+= -Dexecsp_main=main
+.endif
+LDSTATIC.h_execsp_static= -static
+
+.if ${MACHINE_CPU} == "mips"
+CPPFLAGS.contextspfunc.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips
+CPPFLAGS.execsp.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips
+CPPFLAGS.signalsphandler.S+= -I${NETBSDSRCDIR}/lib/libc/arch/mips
+.endif
.PATH: ${NETBSDSRCDIR}/sys/kern
TESTS_C+= t_extent
@@ -75,6 +150,12 @@ SRCS.t_extent= t_extent.c subr_extent.c
CPPFLAGS.t_extent.c= -D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
CPPFLAGS.subr_extent.c= -D_EXTENT_TESTING -D__POOL_EXPOSE -D_KERNTYPES
+TESTS_C+= t_time_arith
+SRCS.t_time_arith= t_time_arith.c subr_time_arith.c
+CPPFLAGS.t_time_arith.c+= -I${NETBSDSRCDIR}/sys -D_TIME_TESTING
+CPPFLAGS.subr_time_arith.c+= -I${NETBSDSRCDIR}/sys -D_TIME_TESTING
+LDADD.t_time_arith+= -lutil
+
t_subr_prf.c: gen_t_subr_prf ${NETBSDSRCDIR}/sys/kern/subr_prf.c
${HOST_SH} ${.ALLSRC} ${.TARGET}
.if ${MKSANITIZER:Uno} == "yes"
@@ -99,4 +180,20 @@ CLEANFILES+= t_subr_prf.c
LDADD.h_segv+= -lm
+.if exists(arch/${MACHINE_ARCH}/execregs.h)
+CPPFLAGS.t_execregs.c+= -I${ARCHDIR}
+CPPFLAGS.t_execregs.c+= -I${.CURDIR}/../lib/libc/gen # isqemu.h
+CPPFLAGS.t_execregs.c+= -DHAVE_EXECREGS_TEST
+SRCS.t_execregs+= t_execregs.c
+SRCS.t_execregs+= execregs.c
+LDSTATIC.h_execregs= -static
+LDFLAGS.h_execregs+= -Wl,-e,execregs_start
+.else
+SRCS.h_execregs= h_execregs_unimpl.c
+.endif
+
+.if ${MKKMOD} != "no"
+SUBDIR+= setjmp_tester
+.endif
+
.include <bsd.test.mk>