Index: sys/conf/kmod.mk =================================================================== --- sys/conf/kmod.mk +++ sys/conf/kmod.mk @@ -220,10 +220,14 @@ ${OBJCOPY} --only-keep-debug ${FULLPROG} ${.TARGET} .endif +.if exists(${SYSDIR}/conf/ldscript.kmod.${MACHINE}) +LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE} +.endif + .if ${__KLD_SHARED} == yes ${FULLPROG}: ${KMOD}.kld ${LD} -m ${LD_EMULATION} -Bshareable -znotext -znorelro ${_LDFLAGS} \ - -o ${.TARGET} ${KMOD}.kld + ${LDSCRIPT_FLAGS} -o ${.TARGET} ${KMOD}.kld .if !defined(DEBUG_FLAGS) ${OBJCOPY} --strip-debug ${.TARGET} .endif @@ -234,16 +238,13 @@ CLEANFILES+= export_syms .endif -.if exists(${SYSDIR}/conf/ldscript.kmod.${MACHINE}) -LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE} -.endif - .if ${__KLD_SHARED} == yes ${KMOD}.kld: ${OBJS} ${BLOB_OBJS} .else +_LDSCRIPT_FLAGS= ${LDSCRIPT_FLAGS} ${FULLPROG}: ${OBJS} ${BLOB_OBJS} .endif - ${LD} -m ${LD_EMULATION} ${_LDFLAGS} ${LDSCRIPT_FLAGS} -r -d \ + ${LD} -m ${LD_EMULATION} ${_LDFLAGS} ${_LDSCRIPT_FLAGS} -r -d \ -o ${.TARGET} ${OBJS} ${BLOB_OBJS} .if ${MK_CTF} != "no" ${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS} ${BLOB_OBJS} Index: sys/conf/ldscript.kmod.i386 =================================================================== --- sys/conf/ldscript.kmod.i386 +++ sys/conf/ldscript.kmod.i386 @@ -28,6 +28,7 @@ */ SECTIONS { + . = SIZEOF_HEADERS; set_pcpu : { *(set_pcpu)