mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 12:54:27 +00:00
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:
parent
bd16c274c3
commit
6de0222840
|
@ -1,10 +1,15 @@
|
|||
# $FreeBSD$
|
||||
|
||||
SHLIBDIR?= /lib
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libdtrace/common
|
||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/lib/libgen/common
|
||||
|
||||
PACKAGE= dtrace
|
||||
LIB= dtrace
|
||||
|
||||
SRCS= dt_aggregate.c \
|
||||
dt_as.c \
|
||||
dt_buf.c \
|
||||
|
@ -138,6 +143,11 @@ DSRCS+= regs_aarch64.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
|
||||
|
||||
CLEANFILES= dt_errtags.c dt_names.c
|
||||
|
|
|
@ -30,6 +30,11 @@ CFLAGS+= -DHAVE_ISSETUGID
|
|||
#CFLAGS+= -DNEED_ERRLOC
|
||||
#YFLAGS+= -d
|
||||
|
||||
.if ${MK_DTRACE_ASAN} != "no"
|
||||
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
.endif
|
||||
|
||||
LIBADD= dtrace ctf elf proc spl
|
||||
|
||||
.if ${MK_DTRACE_TESTS} != "no"
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/lockstat
|
||||
|
||||
PACKAGE= dtrace
|
||||
|
@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \
|
|||
-I${SRCTOP}/sys
|
||||
CFLAGS+= -DHAVE_ISSETUGID
|
||||
|
||||
.if ${MK_DTRACE_ASAN} != "no"
|
||||
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
.endif
|
||||
|
||||
CFLAGS+= -DNEED_ERRLOC -g
|
||||
|
||||
#YFLAGS+= -d
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
# $FreeBSD$
|
||||
|
||||
.include <src.opts.mk>
|
||||
|
||||
.PATH: ${SRCTOP}/cddl/contrib/opensolaris/cmd/plockstat
|
||||
|
||||
PACKAGE= dtrace
|
||||
|
@ -26,6 +28,11 @@ CFLAGS+= -I${SRCTOP}/sys/cddl/compat/opensolaris \
|
|||
-I${SRCTOP}/sys
|
||||
CFLAGS+= -DHAVE_ISSETUGID
|
||||
|
||||
.if ${MK_DTRACE_ASAN} != "no"
|
||||
CFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
LDFLAGS+= -fsanitize=address -fsanitize=undefined
|
||||
.endif
|
||||
|
||||
LIBADD= dtrace proc
|
||||
|
||||
.include <bsd.prog.mk>
|
||||
|
|
|
@ -594,6 +594,11 @@ When set, it enforces these options:
|
|||
.It
|
||||
.Va WITHOUT_CTF
|
||||
.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
|
||||
Build and install the DTrace test suite in
|
||||
.Pa /usr/tests/cddl/usr.sbin/dtrace .
|
||||
|
|
|
@ -200,6 +200,7 @@ __DEFAULT_NO_OPTIONS = \
|
|||
CLANG_FORMAT \
|
||||
DETECT_TZ_CHANGES \
|
||||
DISK_IMAGE_TOOLS_BOOTSTRAP \
|
||||
DTRACE_ASAN \
|
||||
DTRACE_TESTS \
|
||||
EXPERIMENTAL \
|
||||
HESIOD \
|
||||
|
|
4
tools/build/options/WITH_DTRACE_ASAN
Normal file
4
tools/build/options/WITH_DTRACE_ASAN
Normal file
|
@ -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.
|
Loading…
Reference in a new issue