diff options
author | Konstantin Belousov <kib@FreeBSD.org> | 2021-09-13 21:40:02 +0000 |
---|---|---|
committer | Konstantin Belousov <kib@FreeBSD.org> | 2021-09-21 17:20:15 +0000 |
commit | 0f6829488ef32142b9ea1c0806fb5ecfe0872c02 (patch) | |
tree | 0bc415690dfa53f088cd3fa0d6de5f07dd37455e | |
parent | 9151abe323034275014dcfffb4a793bc5032bf87 (diff) | |
download | src-0f6829488ef32142b9ea1c0806fb5ecfe0872c02.tar.gz src-0f6829488ef32142b9ea1c0806fb5ecfe0872c02.zip |
linux32: add a hack to avoid redefining the type of the savefpu tag
when compiling in amd64 kernel environment with -m32. This is a temporal
workaround for some future proper (but unclear) fix.
Reviewed by: jhb, markj
Tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
Differential revision: https://reviews.freebsd.org/D31954
-rw-r--r-- | sys/modules/linux/Makefile | 2 | ||||
-rw-r--r-- | sys/x86/include/fpu.h | 2 |
2 files changed, 3 insertions, 1 deletions
diff --git a/sys/modules/linux/Makefile b/sys/modules/linux/Makefile index 373ec3dcae91..6c95a548bffb 100644 --- a/sys/modules/linux/Makefile +++ b/sys/modules/linux/Makefile @@ -60,7 +60,7 @@ 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 +VDSOFLAGS=-DCOMPAT_FREEBSD32 -DCOMPAT_LINUX32 -D__M32_BROKEN_MODULE_HACK__ -m32 .else VDSOFLAGS=-mregparm=0 .endif diff --git a/sys/x86/include/fpu.h b/sys/x86/include/fpu.h index 313a03ea55c9..bb8533d599dd 100644 --- a/sys/x86/include/fpu.h +++ b/sys/x86/include/fpu.h @@ -123,10 +123,12 @@ struct savexmm { } __aligned(16); #ifdef __i386__ +#ifndef __M32_BROKEN_MODULE_HACK__ union savefpu { struct save87 sv_87; struct savexmm sv_xmm; }; +#endif /* __M32_BROKEN_MODULE_HACK__ */ #else /* Floating point context. (amd64 fxsave/fxrstor) */ struct savefpu { |