dtrace: Add WITH_DTRACE_ASAN
See commit 4ae6991228. This version of
the commit avoids inadvertently changing SHLIBDIR for libdtrace.so.
This commit is contained in:
committed by
Mark Johnston
parent
bd16c274c3
commit
6de0222840
@@ -1,10 +1,15 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
|
SHLIBDIR?= /lib
|
||||||
|
|
||||||
|
.include <src.opts.mk>
|
||||||
|
|
||||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common
|
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common
|
||||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common
|
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common
|
||||||
|
|
||||||
PACKAGE= dtrace
|
PACKAGE= dtrace
|
||||||
LIB= dtrace
|
LIB= dtrace
|
||||||
|
|
||||||
SRCS= dt_aggregate.c \
|
SRCS= dt_aggregate.c \
|
||||||
dt_as.c \
|
dt_as.c \
|
||||||
dt_buf.c \
|
dt_buf.c \
|
||||||
@@ -138,6 +143,11 @@ DSRCS+= regs_aarch64.d
|
|||||||
|
|
||||||
YFLAGS+=-d
|
YFLAGS+=-d
|
||||||
|
|
||||||
|
.if ${MK_DTRACE_ASAN} != "no"
|
||||||
|
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
.endif
|
||||||
|
|
||||||
LIBADD= ctf elf proc pthread rtld_db
|
LIBADD= ctf elf proc pthread rtld_db
|
||||||
|
|
||||||
CLEANFILES= dt_errtags.c dt_names.c
|
CLEANFILES= dt_errtags.c dt_names.c
|
||||||
|
|||||||
@@ -30,6 +30,11 @@ CFLAGS+= -DHAVE_ISSETUGID
|
|||||||
#CFLAGS+= -DNEED_ERRLOC
|
#CFLAGS+= -DNEED_ERRLOC
|
||||||
#YFLAGS+= -d
|
#YFLAGS+= -d
|
||||||
|
|
||||||
|
.if ${MK_DTRACE_ASAN} != "no"
|
||||||
|
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
.endif
|
||||||
|
|
||||||
LIBADD= dtrace ctf elf proc spl
|
LIBADD= dtrace ctf elf proc spl
|
||||||
|
|
||||||
.if ${MK_DTRACE_TESTS} != "no"
|
.if ${MK_DTRACE_TESTS} != "no"
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.include <src.opts.mk>
|
||||||
|
|
||||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/lockstat
|
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/lockstat
|
||||||
|
|
||||||
PACKAGE= dtrace
|
PACKAGE= dtrace
|
||||||
@@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \
|
|||||||
-I${SRCTOP}/sys
|
-I${SRCTOP}/sys
|
||||||
CFLAGS+= -DHAVE_ISSETUGID
|
CFLAGS+= -DHAVE_ISSETUGID
|
||||||
|
|
||||||
|
.if ${MK_DTRACE_ASAN} != "no"
|
||||||
|
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
.endif
|
||||||
|
|
||||||
CFLAGS+= -DNEED_ERRLOC -g
|
CFLAGS+= -DNEED_ERRLOC -g
|
||||||
|
|
||||||
#YFLAGS+= -d
|
#YFLAGS+= -d
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
|
.include <src.opts.mk>
|
||||||
|
|
||||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/plockstat
|
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/plockstat
|
||||||
|
|
||||||
PACKAGE= dtrace
|
PACKAGE= dtrace
|
||||||
@@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \
|
|||||||
-I${SRCTOP}/sys
|
-I${SRCTOP}/sys
|
||||||
CFLAGS+= -DHAVE_ISSETUGID
|
CFLAGS+= -DHAVE_ISSETUGID
|
||||||
|
|
||||||
|
.if ${MK_DTRACE_ASAN} != "no"
|
||||||
|
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||||
|
.endif
|
||||||
|
|
||||||
LIBADD= dtrace proc
|
LIBADD= dtrace proc
|
||||||
|
|
||||||
.include <bsd.prog.mk>
|
.include <bsd.prog.mk>
|
||||||
|
|||||||
@@ -594,6 +594,11 @@ When set, it enforces these options:
|
|||||||
.It
|
.It
|
||||||
.Va WITHOUT_CTF
|
.Va WITHOUT_CTF
|
||||||
.El
|
.El
|
||||||
|
.It Va WITH_DTRACE_ASAN
|
||||||
|
Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
|
||||||
|
with address and undefined behavior sanitizers.
|
||||||
|
Requires that Clang be used as the base system compiler
|
||||||
|
and that the runtime support library is available.
|
||||||
.It Va WITH_DTRACE_TESTS
|
.It Va WITH_DTRACE_TESTS
|
||||||
Build and install the DTrace test suite in
|
Build and install the DTrace test suite in
|
||||||
.Pa /usr/tests/cddl/usr.sbin/dtrace .
|
.Pa /usr/tests/cddl/usr.sbin/dtrace .
|
||||||
|
|||||||
@@ -200,6 +200,7 @@ __DEFAULT_NO_OPTIONS = \
|
|||||||
CLANG_FORMAT \
|
CLANG_FORMAT \
|
||||||
DETECT_TZ_CHANGES \
|
DETECT_TZ_CHANGES \
|
||||||
DISK_IMAGE_TOOLS_BOOTSTRAP \
|
DISK_IMAGE_TOOLS_BOOTSTRAP \
|
||||||
|
DTRACE_ASAN \
|
||||||
DTRACE_TESTS \
|
DTRACE_TESTS \
|
||||||
EXPERIMENTAL \
|
EXPERIMENTAL \
|
||||||
HESIOD \
|
HESIOD \
|
||||||
|
|||||||
@@ -0,0 +1,4 @@
|
|||||||
|
Compile userspace DTrace code (libdtrace, dtrace(1), lockstat(1), plockstat(1))
|
||||||
|
with address and undefined behavior sanitizers.
|
||||||
|
Requires that Clang be used as the base system compiler
|
||||||
|
and that the runtime support library is available.
|
||||||
Reference in New Issue
Block a user