Exclude -flto when building *genassym.o
The build process generates *assym.h using nm from *genassym.o (which is in turn created from *genassym.c). When compiling with link-time optimization (LTO) using -flto, .o files are LLVM bitcode, not ELF objects. This is not usable by genassym.sh, so remove -flto from those ${CC} invocations. Submitted by: George Rimar Reviewed by: dim MFC after: 1 month Differential Revision: https://reviews.freebsd.org/D9659
This commit is contained in:
parent
6fec662c86
commit
0e8b3ab348
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=314054
@ -34,7 +34,7 @@ cloudabi64_vdso_blob.o optional compat_cloudabi64 \
|
||||
#
|
||||
linux32_genassym.o optional compat_linux32 \
|
||||
dependency "$S/amd64/linux32/linux32_genassym.c" \
|
||||
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
||||
compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
|
||||
no-obj no-implicit-rule \
|
||||
clean "linux32_genassym.o"
|
||||
#
|
||||
@ -58,7 +58,7 @@ linux32_vdso.so optional compat_linux32 \
|
||||
#
|
||||
ia32_genassym.o standard \
|
||||
dependency "$S/compat/ia32/ia32_genassym.c" \
|
||||
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
||||
compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
|
||||
no-obj no-implicit-rule \
|
||||
clean "ia32_genassym.o"
|
||||
#
|
||||
|
@ -21,7 +21,7 @@ cloudabi32_vdso_blob.o optional compat_cloudabi32 \
|
||||
#
|
||||
linux_genassym.o optional compat_linux \
|
||||
dependency "$S/i386/linux/linux_genassym.c" \
|
||||
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
||||
compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
|
||||
no-obj no-implicit-rule \
|
||||
clean "linux_genassym.o"
|
||||
#
|
||||
@ -45,7 +45,7 @@ linux_vdso.so optional compat_linux \
|
||||
#
|
||||
svr4_genassym.o optional compat_svr4 \
|
||||
dependency "$S/i386/svr4/svr4_genassym.c" \
|
||||
compile-with "${CC} ${CFLAGS:N-fno-common} -c ${.IMPSRC}" \
|
||||
compile-with "${CC} ${CFLAGS:N-flto:N-fno-common} -c ${.IMPSRC}" \
|
||||
no-obj no-implicit-rule \
|
||||
clean "svr4_genassym.o"
|
||||
#
|
||||
|
@ -189,7 +189,7 @@ assym.s: $S/kern/genassym.sh genassym.o
|
||||
NM='${NM}' NMFLAGS='${NMFLAGS}' sh $S/kern/genassym.sh genassym.o > ${.TARGET}
|
||||
|
||||
genassym.o: $S/$M/$M/genassym.c
|
||||
${CC} -c ${CFLAGS:N-fno-common} $S/$M/$M/genassym.c
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} $S/$M/$M/genassym.c
|
||||
|
||||
${SYSTEM_OBJS} genassym.o vers.o: opt_global.h
|
||||
|
||||
|
@ -461,7 +461,7 @@ assym.s: ${SYSDIR}/kern/genassym.sh
|
||||
sh ${SYSDIR}/kern/genassym.sh genassym.o > ${.TARGET}
|
||||
genassym.o: ${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
|
||||
genassym.o: ${SRCS:Mopt_*.h}
|
||||
${CC} -c ${CFLAGS:N-fno-common} \
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} \
|
||||
${SYSDIR}/${MACHINE}/${MACHINE}/genassym.c
|
||||
.endif
|
||||
|
||||
|
@ -71,7 +71,7 @@ ${VDSO}.so: linux${SFX}_locore.o
|
||||
.endif
|
||||
|
||||
linux${SFX}_genassym.o:
|
||||
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
|
||||
|
||||
.if !defined(KERNBUILDDIR)
|
||||
.if defined(KTR)
|
||||
|
@ -44,7 +44,7 @@ linux_support.o: assym.s linux_assym.h
|
||||
${.IMPSRC} -o ${.TARGET}
|
||||
|
||||
linux_genassym.o:
|
||||
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
|
||||
|
||||
.if !defined(KERNBUILDDIR)
|
||||
.if defined(DEBUG)
|
||||
|
@ -22,7 +22,7 @@ svr4_locore.o: svr4_locore.s svr4_assym.h
|
||||
${.IMPSRC} -o ${.TARGET}
|
||||
|
||||
svr4_genassym.o: svr4_genassym.c svr4.h
|
||||
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
|
||||
|
||||
.if !defined(KERNBUILDDIR) && defined(DEBUG)
|
||||
opt_svr4.h:
|
||||
|
@ -71,9 +71,9 @@ svm_support.o:
|
||||
${.IMPSRC} -o ${.TARGET}
|
||||
|
||||
vmx_genassym.o:
|
||||
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
|
||||
|
||||
svm_genassym.o:
|
||||
${CC} -c ${CFLAGS:N-fno-common} ${.IMPSRC}
|
||||
${CC} -c ${CFLAGS:N-flto:N-fno-common} ${.IMPSRC}
|
||||
|
||||
.include <bsd.kmod.mk>
|
||||
|
Loading…
Reference in New Issue
Block a user