svn commit: r354096 - head/sys/conf
Mark Johnston
markj at FreeBSD.org
Fri Oct 25 20:15:05 UTC 2019
Author: markj
Date: Fri Oct 25 20:15:04 2019
New Revision: 354096
URL: https://svnweb.freebsd.org/changeset/base/354096
Log:
Apply kernel module linker scripts to firmware files.
Use a separate make variable to specify the linker script so that it is
only applied at link time and not during intermediate generation of .fwo
files.
This ensures that the .text padding inserted by the amd64 linker script
is applied to the stub module load handlers embedded in firmware
modules.
Reviewed by: kib
MFC after: 2 weeks
Sponsored by: Netflix
Differential Revision: https://reviews.freebsd.org/D22125
Modified:
head/sys/conf/kmod.mk
Modified: head/sys/conf/kmod.mk
==============================================================================
--- head/sys/conf/kmod.mk Fri Oct 25 20:09:42 2019 (r354095)
+++ head/sys/conf/kmod.mk Fri Oct 25 20:15:04 2019 (r354096)
@@ -242,8 +242,8 @@ EXPORT_SYMS?= NO
CLEANFILES+= export_syms
.endif
-.if !defined(FIRMWS) && exists(${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH})
-_LDFLAGS+=-T ${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH}
+.if exists(${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH})
+LDSCRIPT_FLAGS?= -T ${SYSDIR}/conf/ldscript.kmod.${MACHINE_ARCH}
.endif
.if ${__KLD_SHARED} == yes
@@ -251,7 +251,8 @@ ${KMOD}.kld: ${OBJS}
.else
${FULLPROG}: ${OBJS}
.endif
- ${LD} -m ${LD_EMULATION} ${_LDFLAGS} -r -d -o ${.TARGET} ${OBJS}
+ ${LD} -m ${LD_EMULATION} ${_LDFLAGS} ${LDSCRIPT_FLAGS} -r -d \
+ -o ${.TARGET} ${OBJS}
.if ${MK_CTF} != "no"
${CTFMERGE} ${CTFFLAGS} -o ${.TARGET} ${OBJS}
.endif
More information about the svn-src-all
mailing list