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
This commit is contained in:
Konstantin Belousov 2021-09-14 00:40:02 +03:00
parent 9151abe323
commit 0f6829488e
2 changed files with 3 additions and 1 deletions

View File

@ -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

View File

@ -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 {