From 4db3ef4c77b72908fc0d17f8b9fc21941df0976c Mon Sep 17 00:00:00 2001 From: Alex Richardson Date: Sat, 18 Apr 2020 12:54:40 +0000 Subject: [PATCH] More fixes to build the kernel with a compiler that defaults to -fno-common Using the same approach as the last commit for the files used by genassym.sh. Obtained from: CheriBSD --- sys/conf/files.amd64 | 4 ++-- sys/conf/files.i386 | 2 +- sys/modules/linux/Makefile | 2 +- sys/modules/linux64/Makefile | 2 +- sys/modules/vmm/Makefile | 4 ++-- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/sys/conf/files.amd64 b/sys/conf/files.amd64 index 81ce867f7a4..a4684ba3ac3 100644 --- a/sys/conf/files.amd64 +++ b/sys/conf/files.amd64 @@ -38,7 +38,7 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \ # linux32_genassym.o optional compat_linux32 \ dependency "$S/amd64/linux32/linux32_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux32_genassym.o" # @@ -62,7 +62,7 @@ linux32_vdso.so optional compat_linux32 \ # ia32_genassym.o standard \ dependency "$S/compat/ia32/ia32_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "ia32_genassym.o" # diff --git a/sys/conf/files.i386 b/sys/conf/files.i386 index a8f77a7631a..34d355729f0 100644 --- a/sys/conf/files.i386 +++ b/sys/conf/files.i386 @@ -25,7 +25,7 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \ # linux_genassym.o optional compat_linux \ dependency "$S/i386/linux/linux_genassym.c offset.inc" \ - compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \ + compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -fcommon -c ${.IMPSRC}" \ no-obj no-implicit-rule \ clean "linux_genassym.o" # diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index 6570b8d86e3..7065c1f0f6c 100644 --- a/sys/modules/linux/Makefile +++ b/sys/modules/linux/Makefile @@ -78,7 +78,7 @@ ${VDSO}.so: linux${SFX}_locore.o .endif linux${SFX}_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .if !defined(KERNBUILDDIR) .warning Building Linuxulator outside of a kernel does not make sense diff --git a/sys/modules/linux64/Makefile b/sys/modules/linux64/Makefile index 19675b61cde..046eeeda30f 100644 --- a/sys/modules/linux64/Makefile +++ b/sys/modules/linux64/Makefile @@ -53,7 +53,7 @@ linux_support.o: assym.inc linux_assym.h ${.IMPSRC} -o ${.TARGET} linux_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .if !defined(KERNBUILDDIR) .warning Building Linuxulator outside of a kernel does not make sense diff --git a/sys/modules/vmm/Makefile b/sys/modules/vmm/Makefile index 4e430acf93a..9471fc9074d 100644 --- a/sys/modules/vmm/Makefile +++ b/sys/modules/vmm/Makefile @@ -75,9 +75,9 @@ svm_support.o: ${.IMPSRC} -o ${.TARGET} vmx_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} svm_genassym.o: offset.inc - ${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC} + ${CC} -c ${CFLAGS:N-flto:N-fno-common} -fcommon ${.IMPSRC} .include