git: b0fa09a0a7e3 - main - linux(4): Fix amd64 gcc build.

Dmitry Chagin dchagin at FreeBSD.org
Mon Jul 26 19:28:37 UTC 2021


The branch main has been updated by dchagin:

URL: https://cgit.FreeBSD.org/src/commit/?id=b0fa09a0a7e30f301cc58750dedb3d88ec39992d

commit b0fa09a0a7e30f301cc58750dedb3d88ec39992d
Author:     Dmitry Chagin <dchagin at FreeBSD.org>
AuthorDate: 2021-07-26 19:28:21 +0000
Commit:     Dmitry Chagin <dchagin at FreeBSD.org>
CommitDate: 2021-07-26 19:28:21 +0000

    linux(4): Fix amd64 gcc build.
    
    Do not specify memory model and mregparm for amd64, it's only
    available on IA-32 architecture.
    
    Reported by:            jhb, jrtc27
    MFC after:              2 weeks
---
 sys/modules/linux/Makefile   | 8 +++++---
 sys/modules/linux64/Makefile | 2 +-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile
index bf4449e0012e..373ec3dcae91 100644
--- a/sys/modules/linux/Makefile
+++ b/sys/modules/linux/Makefile
@@ -60,19 +60,21 @@ linux${SFX}_assym.h: linux${SFX}_genassym.o
 	sh ${SYSDIR}/kern/genassym.sh linux${SFX}_genassym.o > ${.TARGET}
 
 .if ${MACHINE_CPUARCH} == "amd64"
-VDSOFLAGS=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 -m32 -mcmodel=small
+VDSOFLAGS=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 -m32
+.else
+VDSOFLAGS=-mregparm=0
 .endif
 
 linux${SFX}_locore.o: linux${SFX}_assym.h assym.inc
 	${CC} -c -x assembler-with-cpp -DLOCORE -fPIC -pipe -O2 -Werror \
-	-msoft-float -mregparm=0 \
+	-msoft-float \
 	-fno-common -nostdinc -fasynchronous-unwind-tables \
 	-fno-omit-frame-pointer -foptimize-sibling-calls ${VDSOFLAGS} \
 	-fno-stack-protector -I. -I${SYSDIR} -I${SRCTOP}/include \
 	    ${.IMPSRC} -o ${.TARGET}
 
 linux${SFX}_vdso_gtod.o: linux_vdso_gtod.inc ${VDSODEPS}
-	${CC} -c -fPIC -pipe -O2 -Werror -msoft-float -mregparm=0 \
+	${CC} -c -fPIC -pipe -O2 -Werror -msoft-float \
 	-fno-common -nostdinc -fasynchronous-unwind-tables \
 	-fno-omit-frame-pointer -foptimize-sibling-calls ${VDSOFLAGS} \
 	-fno-stack-protector -I. -I${SYSDIR} -I${SRCTOP}/include \
diff --git a/sys/modules/linux64/Makefile b/sys/modules/linux64/Makefile
index b85203a9ce93..17192b4f18aa 100644
--- a/sys/modules/linux64/Makefile
+++ b/sys/modules/linux64/Makefile
@@ -31,7 +31,7 @@ linux_assym.h: linux_genassym.o
 	sh ${SYSDIR}/kern/genassym.sh linux_genassym.o > ${.TARGET}
 
 .if ${MACHINE_CPUARCH} == "amd64"
-VDSOFLAGS=-mregparm=0 -mcmodel=small -msoft-float
+VDSOFLAGS=-mcmodel=small -msoft-float
 VDSODEPS=linux_vdso_gettc_x86.inc
 .elif ${MACHINE_CPUARCH} == "aarch64"
 # The Linux uses tiny memory model, but our ld does not know about


More information about the dev-commits-src-main mailing list