Makefile revision 1.9
11.9Smrg# $NetBSD: Makefile,v 1.9 2023/08/10 20:44:37 mrg 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.1Skamil.PATH: ${NETBSDSRCDIR}/common/lib/libc/misc 111.4SkamilSRCS.t_ubsan= t_ubsan.c 121.4SkamilSRCS.t_ubsanxx= t_ubsanxx.cpp 131.1Skamil 141.1Skamil.if ${MKSANITIZER:Uno} != "yes" && ${MKLIBCSANITIZER:Uno} != "yes" 151.1Skamil# These tests are designed to be used against micro-UBSan only. 161.8Sandvar# micro-UBSan is used in these tests as a standalone library only. 171.1SkamilCPPFLAGS+= -DENABLE_TESTS 181.4SkamilSRCS.t_ubsan+= ubsan.c 191.4SkamilSRCS.t_ubsanxx+= ubsan.c 201.1SkamilUBSAN_FLAGS= -fsanitize=undefined 211.1SkamilUBSAN_FLAGS+= ${${ACTIVE_CC} == "clang" :? -fsanitize=integer :} 221.1SkamilUBSAN_FLAGS+= ${${ACTIVE_CC} == "clang" :? -fsanitize=nullability :} 231.1SkamilCFLAGS+= ${UBSAN_FLAGS} 241.1SkamilCXXFLAGS+= ${UBSAN_FLAGS} 251.1SkamilCWARNFLAGS+= -Wno-return-type -Wno-strict-aliasing 261.1SkamilCWARNFLAGS.clang+= -Wno-incompatible-pointer-types-discards-qualifiers 271.1SkamilCWARNFLAGS.clang+= -Wno-nullability-completeness 281.1Skamil.endif 291.2SchristosCOPTS.t_ubsan.c += -Wno-stack-protector 301.2SchristosCOPTS.t_ubsanxx.cpp += -Wno-stack-protector 311.7SmrgCOPTS.ubsan.c+= ${${ACTIVE_CC} == "clang" && ${MACHINE_ARCH} == "powerpc":? -O0 :} 321.1Skamil 331.7SmrgCOPTS.t_ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :} 341.7SmrgCOPTS.t_ubsanxx.cpp+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 7:? -Wno-int-in-bool-context :} 351.9SmrgCOPTS.t_ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :} 361.9SmrgCOPTS.t_ubsanxx.cpp+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 12:? -Wno-uninitialized :} 371.3Smrg 381.9SmrgCOPTS.ubsan.c+= ${${ACTIVE_CC} == "gcc" && ${HAVE_GCC:U0} >= 9:? -Wno-builtin-declaration-mismatch :} 391.7Smrg 401.1Skamil.include <bsd.test.mk> 41