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 {