llvm: Split BITCODE_LD_FLAGS
Split across the two linking steps for instrumentation purposes.
This commit is contained in:
parent
79f9fd0612
commit
9f6977d22d
3 changed files with 9 additions and 6 deletions
|
@ -126,7 +126,7 @@ do
|
||||||
clean_module $n $m "relink"
|
clean_module $n $m "relink"
|
||||||
if [ "${STATIC_LIBS}"!="" ]; then
|
if [ "${STATIC_LIBS}"!="" ]; then
|
||||||
STATIC_LIBS=`echo ${STATIC_LIBS} | sed -e "s/\ /\\\ /g"`
|
STATIC_LIBS=`echo ${STATIC_LIBS} | sed -e "s/\ /\\\ /g"`
|
||||||
LDFLAGS_PLACEHOLDER="BITCODE_LD_FLAGS.$n=${STATIC_LIBS}"
|
LDFLAGS_PLACEHOLDER="BITCODE_LD_FLAGS_1ST.$n=${STATIC_LIBS}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
env "`echo ${LDFLAGS_PLACEHOLDER}`" MKBITCODE=yes \
|
env "`echo ${LDFLAGS_PLACEHOLDER}`" MKBITCODE=yes \
|
||||||
|
|
|
@ -74,11 +74,13 @@ OPTFLAGS?= -disable-opt \
|
||||||
|
|
||||||
# Whitout -Wl,--no-ctors-in-init-array, golds moves the constructors out of
|
# Whitout -Wl,--no-ctors-in-init-array, golds moves the constructors out of
|
||||||
# .ctors into .init_array, which is bad on intel.
|
# .ctors into .init_array, which is bad on intel.
|
||||||
BITCODE_LD_FLAGS?= \
|
BITCODE_LD_FLAGS_1ST?= \
|
||||||
-Wl,--no-ctors-in-init-array \
|
-Wl,--no-ctors-in-init-array \
|
||||||
-Wl,-plugin=${GOLD_PLUGIN} \
|
-Wl,-plugin=${GOLD_PLUGIN} \
|
||||||
-Wl,-plugin-opt=-disable-opt \
|
-Wl,-plugin-opt=-disable-opt \
|
||||||
-Wl,-plugin-opt=-disable-inlining \
|
-Wl,-plugin-opt=-disable-inlining
|
||||||
|
|
||||||
|
BITCODE_LD_FLAGS_2ND?=${BITCODE_LD_FLAGS_1ST}
|
||||||
|
|
||||||
.ifdef CONFIG_SMP
|
.ifdef CONFIG_SMP
|
||||||
SMP_FLAGS += -DCONFIG_SMP
|
SMP_FLAGS += -DCONFIG_SMP
|
||||||
|
|
|
@ -580,7 +580,8 @@ ${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS}
|
||||||
CLEANFILES+= ${_P}.opt.bcl ${_P}.bcl ${_P}.bcl.o
|
CLEANFILES+= ${_P}.opt.bcl ${_P}.bcl ${_P}.bcl.o
|
||||||
|
|
||||||
OPTFLAGS.${_P}?= ${OPTFLAGS}
|
OPTFLAGS.${_P}?= ${OPTFLAGS}
|
||||||
BITCODE_LD_FLAGS.${_P}+= ${BITCODE_LD_FLAGS}
|
BITCODE_LD_FLAGS_1ST.${_P}+= ${BITCODE_LD_FLAGS_1ST}
|
||||||
|
BITCODE_LD_FLAGS_2ND.${_P}+= ${BITCODE_LD_FLAGS_2ND}
|
||||||
|
|
||||||
${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \
|
${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \
|
||||||
${LIBCRTEND} ${_DPADD.${_P}}
|
${LIBCRTEND} ${_DPADD.${_P}}
|
||||||
|
@ -592,7 +593,7 @@ ${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \
|
||||||
${OBJS.${_P}} ${LLVM_LINK_ARGS} ${_LDADD.${_P}:N-shared} \
|
${OBJS.${_P}} ${LLVM_LINK_ARGS} ${_LDADD.${_P}:N-shared} \
|
||||||
${_LDSTATIC.${_P}} ${_PROGLDOPTS} \
|
${_LDSTATIC.${_P}} ${_PROGLDOPTS} \
|
||||||
-Wl,-r \
|
-Wl,-r \
|
||||||
${BITCODE_LD_FLAGS.${_P}} \
|
${BITCODE_LD_FLAGS_1ST.${_P}} \
|
||||||
-Wl,-plugin-opt=emit-llvm
|
-Wl,-plugin-opt=emit-llvm
|
||||||
|
|
||||||
${_P}.opt.bcl: ${_P}.bcl ${LLVM_PASS}
|
${_P}.opt.bcl: ${_P}.bcl ${LLVM_PASS}
|
||||||
|
@ -611,7 +612,7 @@ ${_P}: ${_P}.bcl.o
|
||||||
-L${DESTDIR}/usr/lib \
|
-L${DESTDIR}/usr/lib \
|
||||||
${_LDSTATIC.${_P}} -o ${.TARGET} \
|
${_LDSTATIC.${_P}} -o ${.TARGET} \
|
||||||
${.TARGET}.bcl.o ${_PROGLDOPTS} ${_LDADD.${_P}} \
|
${.TARGET}.bcl.o ${_PROGLDOPTS} ${_LDADD.${_P}} \
|
||||||
${BITCODE_LD_FLAGS.${_P}} \
|
${BITCODE_LD_FLAGS_2ND.${_P}} \
|
||||||
-Wl,--allow-multiple-definition
|
-Wl,--allow-multiple-definition
|
||||||
.endif # !commands(${_P})
|
.endif # !commands(${_P})
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue