Fix macOS build with all sanitizers enabled.

This commit is contained in:
bruvzg 2021-04-16 00:08:02 +03:00
parent 75875c0685
commit a79cc0d772
No known key found for this signature in database
GPG Key ID: 009E1BFE42239B95
3 changed files with 4 additions and 16 deletions

View File

@ -156,7 +156,7 @@ def configure(env):
if env["use_llvm"]: if env["use_llvm"]:
env.Append( env.Append(
CCFLAGS=[ CCFLAGS=[
"-fsanitize=nullability-return,nullability-arg,function,nullability-assign,implicit-integer-sign-change,implicit-signed-integer-truncation,implicit-unsigned-integer-truncation" "-fsanitize=nullability-return,nullability-arg,function,nullability-assign,implicit-integer-sign-change"
] ]
) )
else: else:

View File

@ -35,7 +35,6 @@ def get_opts():
BoolVariable("separate_debug_symbols", "Create a separate file containing debugging symbols", False), BoolVariable("separate_debug_symbols", "Create a separate file containing debugging symbols", False),
BoolVariable("use_ubsan", "Use LLVM/GCC compiler undefined behavior sanitizer (UBSAN)", False), BoolVariable("use_ubsan", "Use LLVM/GCC compiler undefined behavior sanitizer (UBSAN)", False),
BoolVariable("use_asan", "Use LLVM/GCC compiler address sanitizer (ASAN)", False), BoolVariable("use_asan", "Use LLVM/GCC compiler address sanitizer (ASAN)", False),
BoolVariable("use_lsan", "Use LLVM/GCC compiler leak sanitizer (LSAN)", False),
BoolVariable("use_tsan", "Use LLVM/GCC compiler thread sanitizer (TSAN)", False), BoolVariable("use_tsan", "Use LLVM/GCC compiler thread sanitizer (TSAN)", False),
] ]
@ -132,7 +131,7 @@ def configure(env):
env["AS"] = basecmd + "as" env["AS"] = basecmd + "as"
env.Append(CPPDEFINES=["__MACPORTS__"]) # hack to fix libvpx MM256_BROADCASTSI128_SI256 define env.Append(CPPDEFINES=["__MACPORTS__"]) # hack to fix libvpx MM256_BROADCASTSI128_SI256 define
if env["use_ubsan"] or env["use_asan"] or env["use_lsan"] or env["use_tsan"]: if env["use_ubsan"] or env["use_asan"] or env["use_tsan"]:
env.extra_suffix += "s" env.extra_suffix += "s"
if env["use_ubsan"]: if env["use_ubsan"]:
@ -142,23 +141,12 @@ def configure(env):
] ]
) )
env.Append(LINKFLAGS=["-fsanitize=undefined"]) env.Append(LINKFLAGS=["-fsanitize=undefined"])
if env["use_llvm"]: env.Append(CCFLAGS=["-fsanitize=nullability-return,nullability-arg,function,nullability-assign"])
env.Append(
CCFLAGS=[
"-fsanitize=nullability-return,nullability-arg,function,nullability-assign,implicit-integer-sign-change,implicit-signed-integer-truncation,implicit-unsigned-integer-truncation"
]
)
else:
env.Append(CCFLAGS=["-fsanitize=bounds-strict"])
if env["use_asan"]: if env["use_asan"]:
env.Append(CCFLAGS=["-fsanitize=address,pointer-subtract,pointer-compare"]) env.Append(CCFLAGS=["-fsanitize=address,pointer-subtract,pointer-compare"])
env.Append(LINKFLAGS=["-fsanitize=address"]) env.Append(LINKFLAGS=["-fsanitize=address"])
if env["use_lsan"]:
env.Append(CCFLAGS=["-fsanitize=leak"])
env.Append(LINKFLAGS=["-fsanitize=leak"])
if env["use_tsan"]: if env["use_tsan"]:
env.Append(CCFLAGS=["-fsanitize=thread"]) env.Append(CCFLAGS=["-fsanitize=thread"])
env.Append(LINKFLAGS=["-fsanitize=thread"]) env.Append(LINKFLAGS=["-fsanitize=thread"])

View File

@ -113,7 +113,7 @@ def configure(env):
if env["use_llvm"]: if env["use_llvm"]:
env.Append( env.Append(
CCFLAGS=[ CCFLAGS=[
"-fsanitize=nullability-return,nullability-arg,function,nullability-assign,implicit-integer-sign-change,implicit-signed-integer-truncation,implicit-unsigned-integer-truncation" "-fsanitize=nullability-return,nullability-arg,function,nullability-assign,implicit-integer-sign-change"
] ]
) )
else: else: