Makefile revision 1.12
11.12Snia# $NetBSD: Makefile,v 1.12 2025/11/21 18:34:12 nia Exp $
21.1Skamil
31.1Skamil.include <bsd.own.mk>
41.1Skamil
51.1SkamilTESTSDIR=	${TESTSBASE}/lib/libc/misc
61.1Skamil
71.1SkamilTESTS_C+=	t_ubsan
81.1SkamilTESTS_CXX+=	t_ubsanxx
91.1Skamil
101.10Snia.if ${MACHINE_ARCH} == "sparc64"
111.10SniaTESTS_C+=	t_vis
121.11Snia.if ${ACTIVE_CC} == "gcc"
131.10SniaCOPTS.t_vis.c+=	-mvis
141.12Snia.elif ${ACTIVE_CC} == "clang"
151.12SniaCOPTS.t_vis.c+=	-no-integrated-as -Xassembler -Av9a
161.10Snia.endif
171.11Snia.endif
181.10Snia
191.1Skamil.PATH:		${NETBSDSRCDIR}/common/lib/libc/misc
201.4SkamilSRCS.t_ubsan=	t_ubsan.c
211.4SkamilSRCS.t_ubsanxx=	t_ubsanxx.cpp
221.1Skamil
231.1Skamil.if ${MKSANITIZER:Uno} != "yes" && ${MKLIBCSANITIZER:Uno} != "yes"
241.1Skamil# These tests are designed to be used against micro-UBSan only.
251.8Sandvar# micro-UBSan is used in these tests as a standalone library only.
261.1SkamilCPPFLAGS+=		-DENABLE_TESTS
271.4SkamilSRCS.t_ubsan+=		ubsan.c
281.4SkamilSRCS.t_ubsanxx+=	ubsan.c
291.1SkamilUBSAN_FLAGS=		-fsanitize=undefined
301.1SkamilUBSAN_FLAGS+=		${${ACTIVE_CC} == "clang" :? -fsanitize=integer :}
311.1SkamilUBSAN_FLAGS+=		${${ACTIVE_CC} == "clang" :? -fsanitize=nullability :}
321.1SkamilCFLAGS+=		${UBSAN_FLAGS}
331.1SkamilCXXFLAGS+=		${UBSAN_FLAGS}
341.1SkamilCWARNFLAGS+=		-Wno-return-type -Wno-strict-aliasing
351.1SkamilCWARNFLAGS.clang+=	-Wno-incompatible-pointer-types-discards-qualifiers
361.1SkamilCWARNFLAGS.clang+=	-Wno-nullability-completeness 
371.1Skamil.endif
381.2SchristosCOPTS.t_ubsan.c += -Wno-stack-protector
391.2SchristosCOPTS.t_ubsanxx.cpp += -Wno-stack-protector
401.7SmrgCOPTS.ubsan.c+=    ${${ACTIVE_CC} == "clang" && ${MACHINE_ARCH} == "powerpc":? -O0 :}
411.1Skamil
421.7SmrgCOPTS.t_ubsan.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :}
431.7SmrgCOPTS.t_ubsanxx.cpp+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :}
441.9SmrgCOPTS.t_ubsan.c+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :}
451.9SmrgCOPTS.t_ubsanxx.cpp+=	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :}
461.3Smrg
471.9SmrgCOPTS.ubsan.c+=    	${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-builtin-declaration-mismatch :}
481.7Smrg
491.1Skamil.include <bsd.test.mk>
50