Add --use-asan and --use-ubsan options to build/gen.py Change-Id: I2d06e9f42219b140fe33b979b87df935762efeaf Reviewed-on: https://gn-review.googlesource.com/c/gn/+/15400 Reviewed-by: Takuto Ikuta <tikuta@google.com> Reviewed-by: Petr Hosek <phosek@google.com> Commit-Queue: Roland McGrath <mcgrathr@google.com>
diff --git a/build/gen.py b/build/gen.py index 6c7ac3a..dbf6035 100755 --- a/build/gen.py +++ b/build/gen.py
@@ -164,6 +164,10 @@ help='Enable the use of LTO') args_list.add('--use-icf', action='store_true', help='Enable the use of Identical Code Folding') + args_list.add('--use-asan', action='store_true', + help='Enable the use of AddressSanitizer') + args_list.add('--use-ubsan', action='store_true', + help='Enable the use of UndefinedBehaviorSanitizer') args_list.add('--no-last-commit-position', action='store_true', help='Do not generate last_commit_position.h.') args_list.add('--out-path', @@ -430,6 +434,14 @@ cflags.extend(['-flto', '-fwhole-program-vtables']) ldflags.extend(['-flto', '-fwhole-program-vtables']) + if options.use_asan: + cflags.append('-fsanitize=address') + ldflags.append('-fsanitize=address') + + if options.use_ubsan: + cflags.append('-fsanitize=undefined') + ldflags.append('-fsanitize=undefined') + if not options.allow_warnings: cflags.append('-Werror')