From 5094f7d540ff2f8ccbb3b78a0962a07ffa5960cb Mon Sep 17 00:00:00 2001 From: Maxim Ostapenko Date: Thu, 6 Jul 2017 16:05:00 +0000 Subject: asan.h (asan_sanitize_allocas_p): Declare. gcc/ * asan.h (asan_sanitize_allocas_p): Declare. * asan.c (asan_sanitize_allocas_p): New function. (handle_builtin_stack_restore): Bail out if !asan_sanitize_allocas_p. (handle_builtin_alloca): Likewise. * cfgexpand.c (expand_used_vars): Do not add allocas unpoisoning stuff if !asan_sanitize_allocas_p. * params.def (asan-instrument-allocas): Add new option. * params.h (ASAN_PROTECT_ALLOCAS): Define. * opts.c (common_handle_option): Disable allocas sanitization for KASan by default. gcc/testsuite/ * c-c++-common/asan/kasan-alloca-1.c: New test. * c-c++-common/asan/kasan-alloca-2.c: Likewise. From-SVN: r250032 --- gcc/opts.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'gcc/opts.c') diff --git a/gcc/opts.c b/gcc/opts.c index 7460c2b..7555ed5 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -1909,6 +1909,9 @@ common_handle_option (struct gcc_options *opts, opts_set->x_param_values); maybe_set_param_value (PARAM_ASAN_STACK, 0, opts->x_param_values, opts_set->x_param_values); + maybe_set_param_value (PARAM_ASAN_PROTECT_ALLOCAS, 0, + opts->x_param_values, + opts_set->x_param_values); maybe_set_param_value (PARAM_ASAN_USE_AFTER_RETURN, 0, opts->x_param_values, opts_set->x_param_values); -- cgit v1.1