diff --git a/tests/sys/capsicum/Makefile b/tests/sys/capsicum/Makefile --- a/tests/sys/capsicum/Makefile +++ b/tests/sys/capsicum/Makefile @@ -43,6 +43,12 @@ NO_SHARED.$p= SRCS.$p= mini-me.c .endfor +.if ${MK_ASAN} != "no" || ${MK_UBSAN} != "no" +# mini-me.o is linked into a static binary so we can't use sanitizers. +# Note: We have to set CFLAGS here since it will be built as part of +# _PROGS_COMMON_OBJS and therefore NO_SHARED.$p does not disable ASAN/UBSAN. +CFLAGS.mini-me.c+= -fno-sanitize=address -fno-sanitize=undefined +.endif BINDIR= ${TESTSDIR} diff --git a/usr.sbin/rpcbind/tests/Makefile b/usr.sbin/rpcbind/tests/Makefile --- a/usr.sbin/rpcbind/tests/Makefile +++ b/usr.sbin/rpcbind/tests/Makefile @@ -14,4 +14,12 @@ WARNS?= 3 +.if ${MK_ASAN} != "no" +# Work around "error: duplicate symbol: getifaddrs" when building with ASAN. +# The ASAN interceptors also define getifaddrs, but we want to prefer the local +# stub symbol here, so using a shared sanitizer runtime moves the local +# definition first in the symbol resolution order. +LDFLAGS+=-shared-libasan +.endif + .include