Bridging Minix & llvm-apps repos for instrumentating Minix

Allows instrumentation of Minix components using LLVM passes from
"llvm-apps" repository

In addition, the change does the following:
 1. Move releasetools/generate_gold_plugin.sh to minix/llvm
 2. Move external/bsd/llvm/passes to minix/llvm/passes
 3. libLTO.so, LLVMgold.so and WeakAliasModuleOverride.so files
    now get installed in minix/llvm/bin
This commit is contained in:
Koustubha Bhat
2014-05-06 10:43:42 +02:00
committed by Lionel Sambuc
parent 33c4e94990
commit 5ba302fdea
11 changed files with 566 additions and 16 deletions

View File

@@ -61,8 +61,8 @@ MKRUMP:= no
MKSKEY:= no
MKYP:= no
WEAKALIASOVERRIDEPASS?=${NETBSDSRCDIR}/external/bsd/llvm/passes/lib/WeakAliasModuleOverride.so
GOLD_PLUGIN?=${NETBSDSRCDIR}/external/bsd/llvm/passes/lib/LLVMgold.so
WEAKALIASOVERRIDEPASS?=${NETBSDSRCDIR}/minix/llvm/bin/weak-alias-module-override
GOLD_PLUGIN?=${NETBSDSRCDIR}/minix/llvm/bin/LLVMgold.so
# By default when running LLVM passes:
# - do not run optimization while running LLVM passes

View File

@@ -579,6 +579,9 @@ ${OBJS.${_P}} ${LOBJS.${_P}}: ${DPSRCS}
.if defined(__MINIX) && ${USE_BITCODE:Uno} == "yes"
CLEANFILES+= ${_P}.opt.bcl ${_P}.bcl ${_P}.bcl.o
OPTFLAGS.${_P}?= ${OPTFLAGS}
BITCODE_LD_FLAGS.${_P}+= ${BITCODE_LD_FLAGS}
${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \
${LIBCRTEND} ${_DPADD.${_P}}
${_MKTARGET_LINK}
@@ -589,12 +592,12 @@ ${_P}.bcl: .gdbinit ${LIBCRT0} ${LIBCRTI} ${OBJS.${_P}} ${LIBC} ${LIBCRTBEGIN} \
${OBJS.${_P}} ${LLVM_LINK_ARGS} ${_LDADD.${_P}:N-shared} \
${_LDSTATIC.${_P}} ${_PROGLDOPTS} \
-Wl,-r \
${BITCODE_LD_FLAGS} \
${BITCODE_LD_FLAGS.${_P}} \
-Wl,-plugin-opt=emit-llvm
${_P}.opt.bcl: ${_P}.bcl ${LLVM_PASS}
${_MKTARGET_LINK}
${OPT} ${OPTFLAGS} -o ${.TARGET} ${_P}.bcl
${OPT} ${OPTFLAGS.${_P}} -o ${.TARGET} ${_P}.bcl
${_P}.bcl.o: ${_P}.opt.bcl
${_MKTARGET_LINK}
@@ -608,7 +611,7 @@ ${_P}: ${_P}.bcl.o
-L${DESTDIR}/usr/lib \
${_LDSTATIC.${_P}} -o ${.TARGET} \
${.TARGET}.bcl.o ${_PROGLDOPTS} ${_LDADD.${_P}} \
${BITCODE_LD_FLAGS} \
${BITCODE_LD_FLAGS.${_P}} \
-Wl,--allow-multiple-definition
.endif # !commands(${_P})