diff options
Diffstat (limited to 'Mk')
-rw-r--r-- | Mk/Features/sanitize.mk | 27 | ||||
-rw-r--r-- | Mk/bsd.port.mk | 2 |
2 files changed, 28 insertions, 1 deletions
diff --git a/Mk/Features/sanitize.mk b/Mk/Features/sanitize.mk new file mode 100644 index 000000000000..6d2e3019705e --- /dev/null +++ b/Mk/Features/sanitize.mk @@ -0,0 +1,27 @@ +# Sanitize Support +# +# Variables that can be used: +# +# WITH_SANITIZE Enable for all ports. +# Sanitizer exits for each bug detected, so it is not +# advisable to enable it globally. +# WITH_SANITIZE_PORTS Enable for specified category/port-name +# SANITIZE_FLAGS Comma-separated list of sanitizers to be enabled +# Default: address +# + +.if !defined(_SANITIZE_MK_INCLUDED) +_SANITIZE_MK_INCLUDED= yes +SANITIZE_Include_MAINTAINER= portmgr@FreeBSD.org + +. if !defined(SANITIZE_UNSAFE) + SANITIZE_FLAGS?= address +. if defined(_INCLUDE_USES_MESON_MK) + MESON_ARGS+= -Db_sanitize=${SANITIZE_FLAGS} +. else + CFLAGS+= -fsanitize=${SANITIZE_FLAGS} + CXXFLAGS+= -fsanitize=${SANITIZE_FLAGS} + LDFLAGS+= -fsanitize=${SANITIZE_FLAGS} +. endif +. endif +.endif diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk index 203b78749fd7..f9eb4aebcb6a 100644 --- a/Mk/bsd.port.mk +++ b/Mk/bsd.port.mk @@ -1016,7 +1016,7 @@ LC_ALL= C # These need to be absolute since we don't know how deep in the ports # tree we are and thus can't go relative. They can, of course, be overridden # by individual Makefiles or local system make configuration. -_LIST_OF_WITH_FEATURES= debug lto ssp pie relro bind_now +_LIST_OF_WITH_FEATURES= bind_now debug lto pie relro sanitize ssp _DEFAULT_WITH_FEATURES= ssp PORTSDIR?= /usr/ports LOCALBASE?= /usr/local |