From 26c5b549cf954899e4c383e4f23e0b1c305449b2 Mon Sep 17 00:00:00 2001 From: Martin Liska Date: Mon, 17 Jul 2017 13:44:54 +0200 Subject: [PATCH] Do not allow -fgnu-tm w/ -fsanitize={kernel-,}address (PR sanitizer/81302). 2017-07-17 Martin Liska PR sanitizer/81302 * opts.c (finish_options): Do not allow -fgnu-tm w/ -fsanitize={kernel-,}address. Say sorry. From-SVN: r250271 --- gcc/ChangeLog | 6 ++++++ gcc/opts.c | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index ce0b6cc4ebf..f241a89ad2c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2017-07-17 Martin Liska + + PR sanitizer/81302 + * opts.c (finish_options): Do not allow -fgnu-tm + w/ -fsanitize={kernel-,}address. Say sorry. + 2017-07-17 Bin Cheng PR target/81369 diff --git a/gcc/opts.c b/gcc/opts.c index 0343d6a5e86..3182bc99d65 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -1005,6 +1005,13 @@ finish_options (struct gcc_options *opts, struct gcc_options *opts_set, opts->x_flag_stack_reuse = SR_NONE; } + + if ((opts->x_flag_sanitize & SANITIZE_USER_ADDRESS) && opts->x_flag_tm) + sorry ("transactional memory is not supported with %<-fsanitize=address%>"); + + if ((opts->x_flag_sanitize & SANITIZE_KERNEL_ADDRESS) && opts->x_flag_tm) + sorry ("transactional memory is not supported with " + "%<-fsanitize=kernel-address%>"); } #define LEFT_COLUMN 27 -- 2.30.2