Index: include/Makefile =================================================================== --- include/Makefile +++ include/Makefile @@ -324,6 +324,9 @@ .if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64" _MARCHS+= x86 .endif +.if ${MACHINE_CPUARCH} == "amd64" && ${MK_LIB32} == "yes" +_MARCHS+= i386 +.endif META_TARGETS+= compat stage_includes: ${SHARED} Index: sys/amd64/include/asm.h =================================================================== --- sys/amd64/include/asm.h +++ sys/amd64/include/asm.h @@ -35,6 +35,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_ASM_H_ #define _MACHINE_ASM_H_ Index: sys/amd64/include/asmacros.h =================================================================== --- sys/amd64/include/asmacros.h +++ sys/amd64/include/asmacros.h @@ -39,6 +39,11 @@ * $FreeBSD$ */ +#if defined(__i386__) && !defined(LOCORE) +/* Don't try to include when building vdso32 */ +#include +#endif + #ifndef _MACHINE_ASMACROS_H_ #define _MACHINE_ASMACROS_H_ Index: sys/amd64/include/atomic.h =================================================================== --- sys/amd64/include/atomic.h +++ sys/amd64/include/atomic.h @@ -27,6 +27,10 @@ * * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_ATOMIC_H_ #define _MACHINE_ATOMIC_H_ Index: sys/amd64/include/counter.h =================================================================== --- sys/amd64/include/counter.h +++ sys/amd64/include/counter.h @@ -28,6 +28,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef __MACHINE_COUNTER_H__ #define __MACHINE_COUNTER_H__ Index: sys/amd64/include/cpu.h =================================================================== --- sys/amd64/include/cpu.h +++ sys/amd64/include/cpu.h @@ -35,6 +35,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_CPU_H_ #define _MACHINE_CPU_H_ Index: sys/amd64/include/cpufunc.h =================================================================== --- sys/amd64/include/cpufunc.h +++ sys/amd64/include/cpufunc.h @@ -38,6 +38,10 @@ * used in preference to this. */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_CPUFUNC_H_ #define _MACHINE_CPUFUNC_H_ Index: sys/amd64/include/db_machdep.h =================================================================== --- sys/amd64/include/db_machdep.h +++ sys/amd64/include/db_machdep.h @@ -26,6 +26,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_DB_MACHDEP_H_ #define _MACHINE_DB_MACHDEP_H_ Index: sys/amd64/include/fpu.h =================================================================== --- sys/amd64/include/fpu.h +++ sys/amd64/include/fpu.h @@ -40,6 +40,10 @@ * W. Jolitz 1/90 */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_FPU_H_ #define _MACHINE_FPU_H_ Index: sys/amd64/include/gdb_machdep.h =================================================================== --- sys/amd64/include/gdb_machdep.h +++ sys/amd64/include/gdb_machdep.h @@ -28,6 +28,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_GDB_MACHDEP_H_ #define _MACHINE_GDB_MACHDEP_H_ Index: sys/amd64/include/ieeefp.h =================================================================== --- sys/amd64/include/ieeefp.h +++ sys/amd64/include/ieeefp.h @@ -37,6 +37,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_IEEEFP_H_ #define _MACHINE_IEEEFP_H_ Index: sys/amd64/include/in_cksum.h =================================================================== --- sys/amd64/include/in_cksum.h +++ sys/amd64/include/in_cksum.h @@ -34,6 +34,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_IN_CKSUM_H_ #define _MACHINE_IN_CKSUM_H_ 1 Index: sys/amd64/include/md_var.h =================================================================== --- sys/amd64/include/md_var.h +++ sys/amd64/include/md_var.h @@ -31,6 +31,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_MD_VAR_H_ #define _MACHINE_MD_VAR_H_ Index: sys/amd64/include/param.h =================================================================== --- sys/amd64/include/param.h +++ sys/amd64/include/param.h @@ -41,6 +41,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#else + #ifndef _AMD64_INCLUDE_PARAM_H_ #define _AMD64_INCLUDE_PARAM_H_ @@ -167,3 +171,4 @@ #endif #endif /* !_AMD64_INCLUDE_PARAM_H_ */ +#endif/* !__i386__ */ Index: sys/amd64/include/pcpu.h =================================================================== --- sys/amd64/include/pcpu.h +++ sys/amd64/include/pcpu.h @@ -28,6 +28,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PCPU_H_ #define _MACHINE_PCPU_H_ Index: sys/amd64/include/pcpu_aux.h =================================================================== --- sys/amd64/include/pcpu_aux.h +++ sys/amd64/include/pcpu_aux.h @@ -30,6 +30,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PCPU_AUX_H_ #define _MACHINE_PCPU_AUX_H_ Index: sys/amd64/include/pmap.h =================================================================== --- sys/amd64/include/pmap.h +++ sys/amd64/include/pmap.h @@ -44,6 +44,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PMAP_H_ #define _MACHINE_PMAP_H_ Index: sys/amd64/include/pmc_mdep.h =================================================================== --- sys/amd64/include/pmc_mdep.h +++ sys/amd64/include/pmc_mdep.h @@ -34,6 +34,10 @@ /* Machine dependent interfaces */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PMC_MDEP_H #define _MACHINE_PMC_MDEP_H 1 Index: sys/amd64/include/proc.h =================================================================== --- sys/amd64/include/proc.h +++ sys/amd64/include/proc.h @@ -32,6 +32,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PROC_H_ #define _MACHINE_PROC_H_ Index: sys/amd64/include/profile.h =================================================================== --- sys/amd64/include/profile.h +++ sys/amd64/include/profile.h @@ -32,6 +32,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_PROFILE_H_ #define _MACHINE_PROFILE_H_ Index: sys/amd64/include/runq.h =================================================================== --- sys/amd64/include/runq.h +++ sys/amd64/include/runq.h @@ -28,6 +28,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_RUNQ_H_ #define _MACHINE_RUNQ_H_ Index: sys/amd64/include/segments.h =================================================================== --- sys/amd64/include/segments.h +++ sys/amd64/include/segments.h @@ -36,6 +36,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_SEGMENTS_H_ #define _MACHINE_SEGMENTS_H_ Index: sys/amd64/include/sf_buf.h =================================================================== --- sys/amd64/include/sf_buf.h +++ sys/amd64/include/sf_buf.h @@ -28,6 +28,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_SF_BUF_H_ #define _MACHINE_SF_BUF_H_ Index: sys/amd64/include/vmparam.h =================================================================== --- sys/amd64/include/vmparam.h +++ sys/amd64/include/vmparam.h @@ -43,6 +43,10 @@ * $FreeBSD$ */ +#ifdef __i386__ +#include +#endif + #ifndef _MACHINE_VMPARAM_H_ #define _MACHINE_VMPARAM_H_ 1