11.13Snia# $NetBSD: Makefile,v 1.13 2025/11/21 20:57:22 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.1SkamilCWARNFLAGS+= -Wno-return-type -Wno-strict-aliasing 331.1SkamilCWARNFLAGS.clang+= -Wno-incompatible-pointer-types-discards-qualifiers 341.1SkamilCWARNFLAGS.clang+= -Wno-nullability-completeness 351.1Skamil.endif 361.13SniaCOPTS.t_ubsan.c += -Wno-stack-protector ${UBSAN_FLAGS} 371.13SniaCOPTS.t_ubsanxx.cpp += -Wno-stack-protector ${UBSAN_FLAGS} 381.7SmrgCOPTS.ubsan.c+= ${${ACTIVE_CC} == "clang" && ${MACHINE_ARCH} == "powerpc":? -O0 :} 391.1Skamil 401.7SmrgCOPTS.t_ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :} 411.7SmrgCOPTS.t_ubsanxx.cpp+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :} 421.9SmrgCOPTS.t_ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :} 431.9SmrgCOPTS.t_ubsanxx.cpp+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :} 441.3Smrg 451.9SmrgCOPTS.ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-builtin-declaration-mismatch :} 461.7Smrg 471.1Skamil.include <bsd.test.mk> 48