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:
Ed Maste 2017-02-21 18:59:17 +00:00
parent 6fec662c86
commit 0e8b3ab348
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=314054
8 changed files with 11 additions and 11 deletions

View File

@ -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"
#

View File

@ -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"
#

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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:

View File

@ -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>