git: 0f2d88d1ebbb - main - amd64: Only build aout.ko when COMPAT_FREEBSD32 is enabled
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 07 Dec 2021 00:11:13 UTC
The branch main has been updated by kib:
URL: https://cgit.FreeBSD.org/src/commit/?id=0f2d88d1ebbba796adb0492781b683cbfe25bd2d
commit 0f2d88d1ebbba796adb0492781b683cbfe25bd2d
Author: Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2021-12-06 23:11:10 +0000
Commit: Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2021-12-07 00:10:48 +0000
amd64: Only build aout.ko when COMPAT_FREEBSD32 is enabled
a.out.ko is useless without COMPAT_FREEBSD32, and since vdso support was
added, it requires a header built during depend phase, from the COMPAT
option.
Reported by: glebius
Reviewed by: emaste, markj
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D33311
---
sys/conf/kern.post.mk | 4 ++++
sys/conf/kern.pre.mk | 2 ++
sys/modules/Makefile | 2 ++
3 files changed, 8 insertions(+)
diff --git a/sys/conf/kern.post.mk b/sys/conf/kern.post.mk
index bb25c7277d85..087beb73f9ae 100644
--- a/sys/conf/kern.post.mk
+++ b/sys/conf/kern.post.mk
@@ -50,6 +50,10 @@ MKMODULESENV+= SAN_CFLAGS="${SAN_CFLAGS}"
MKMODULESENV+= GCOV_CFLAGS="${GCOV_CFLAGS}"
.endif
+.if !empty(COMPAT_FREEBSD32_ENABLED)
+MKMODULESENV+= COMPAT_FREEBSD32_ENABLED="yes"
+.endif
+
# Allow overriding the kernel debug directory, so kernel and user debug may be
# installed in different directories. Setting it to "" restores the historical
# behavior of installing debug files in the kernel directory.
diff --git a/sys/conf/kern.pre.mk b/sys/conf/kern.pre.mk
index 6e70513dfdf9..0daf5a54938b 100644
--- a/sys/conf/kern.pre.mk
+++ b/sys/conf/kern.pre.mk
@@ -93,6 +93,8 @@ CFLAGS+= -fno-common
# XXX LOCORE means "don't declare C stuff" not "for locore.s".
ASM_CFLAGS= -x assembler-with-cpp -DLOCORE ${CFLAGS} ${ASM_CFLAGS.${.IMPSRC:T}}
+COMPAT_FREEBSD32_ENABLED!= grep COMPAT_FREEBSD32 opt_global.h || true ; echo
+
KASAN_ENABLED!= grep KASAN opt_global.h || true ; echo
.if !empty(KASAN_ENABLED)
SAN_CFLAGS+= -DSAN_NEEDS_INTERCEPTORS -DSAN_INTERCEPTOR_PREFIX=kasan \
diff --git a/sys/modules/Makefile b/sys/modules/Makefile
index 5fd6625bfb05..150fd405dc47 100644
--- a/sys/modules/Makefile
+++ b/sys/modules/Makefile
@@ -623,7 +623,9 @@ _neta= neta
.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
_agp= agp
+.if ${MACHINE_CPUARCH} == "i386" || !empty(COMPAT_FREEBSD32_ENABLED)
_aout= aout
+.endif
_bios= bios
.if ${MK_SOURCELESS_UCODE} != "no"
_bxe= bxe