Index: Mk/Features/sanitize.mk =================================================================== --- /dev/null +++ Mk/Features/sanitize.mk @@ -0,0 +1,24 @@ +# Sanitize Support +# +# In order to enable it, add to your to your make.conf: +# - For all ports (not advised): WITH_SANITIZE=yes +# - For a specified port: WITH_SANITIZE_PORTS+=ftp/curl +# In order to replace the default asan by others, like msan as example: +# SANITIZE_FLAGS="memory" +# + +.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 Index: Mk/bsd.port.mk =================================================================== --- Mk/bsd.port.mk +++ Mk/bsd.port.mk @@ -1016,7 +1016,7 @@ # 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