diff options
Diffstat (limited to 'gcc-4.9/gcc/toplev.c')
-rw-r--r-- | gcc-4.9/gcc/toplev.c | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc-4.9/gcc/toplev.c b/gcc-4.9/gcc/toplev.c index 4c8c965d2..21e07bc8e 100644 --- a/gcc-4.9/gcc/toplev.c +++ b/gcc-4.9/gcc/toplev.c @@ -1574,9 +1574,18 @@ process_options (void) warn_stack_protect = 0; /* Address Sanitizer needs porting to each target architecture. */ + if ((flag_sanitize & SANITIZE_ADDRESS) - && (targetm.asan_shadow_offset == NULL - || !FRAME_GROWS_DOWNWARD)) + && !FRAME_GROWS_DOWNWARD) + { + warning (0, + "-fsanitize=address and -fsanitize=kernel-address " + "are not supported for this target"); + flag_sanitize &= ~SANITIZE_ADDRESS; + } + + if ((flag_sanitize & SANITIZE_USER_ADDRESS) + && targetm.asan_shadow_offset == NULL) { warning (0, "-fsanitize=address not supported for this target"); flag_sanitize &= ~SANITIZE_ADDRESS; |