Fix incremental build of dtrace probes.
Currently dtrace(1) -Go does not properly rebuild the target if it exists. It results in missing symbols. dtrace -C -x nolibs -G -o usdt.o -s /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/usdt.d tst.usdt.o dtrace: target object (usdt.o) already exists. Please remove the target dtrace: object and rebuild all the source objects if you wish to run the DTrace dtrace: linking process again cc -O2 -pipe -O0 -g -I/root/git/freebsd/cddl/usr.sbin/dtrace/tests/common/json -std=gnu99 -fstack-protector-strong -Qunused-arguments -o tst.usdt.exe.full tst.usdt.o usdt.o tst.usdt.o: In function `main': /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c:56: undefined reference to `__dtrace_bunyan_fake___log__debug' /root/git/freebsd/cddl/contrib/opensolaris/cmd/dtrace/test/tst/common/json/tst.usdt.c:60: undefined reference to `__dtrace_bunyan_fake___log__debug' cc: error: linker command failed with exit code 1 (use -v to see invocation) *** [tst.usdt.exe.full] Error code 1 This is a consequence of r212358. MFC after: 1 week Sponsored by: EMC / Isilon Storage Division
This commit is contained in:
parent
a37536fa6d
commit
be8db63a6d
@ -136,12 +136,15 @@ SRCS:= ${SRCS:S/^${_DSRC}$//}
|
||||
OBJS+= ${_D}.o
|
||||
CLEANFILES+= ${_D}.h ${_D}.o
|
||||
${_D}.o: ${_DSRC} ${OBJS:S/^${_D}.o$//}
|
||||
@rm -f ${.TARGET}
|
||||
${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC}
|
||||
.if defined(LIB)
|
||||
CLEANFILES+= ${_D}.So ${_D}.po
|
||||
${_D}.So: ${_DSRC} ${SOBJS:S/^${_D}.So$//}
|
||||
@rm -f ${.TARGET}
|
||||
${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC}
|
||||
${_D}.po: ${_DSRC} ${POBJS:S/^${_D}.po$//}
|
||||
@rm -f ${.TARGET}
|
||||
${DTRACE} ${DTRACEFLAGS} -G -o ${.TARGET} -s ${.ALLSRC}
|
||||
.endif
|
||||
.endfor
|
||||
|
Loading…
Reference in New Issue
Block a user