Fix macOS build with all sanitizers enabled.
This commit is contained in:
parent
75875c0685
commit
a79cc0d772
|
@ -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:
|
||||||
|
|
|
@ -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"])
|
||||||
|
|
|
@ -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:
|
||||||
|
|
Loading…
Reference in New Issue