From: Jakub Jelinek Date: Tue, 30 May 2017 07:06:38 +0000 (+0200) Subject: backport: re PR sanitizer/71953 (ICE using address sanitizers with PCH) X-Git-Tag: releases/gcc-5.5.0~316 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=98046ea5a3d92b67d736537729098432fe00bb54;p=thirdparty%2Fgcc.git backport: re PR sanitizer/71953 (ICE using address sanitizers with PCH) Backported from mainline 2016-07-21 Jakub Jelinek PR sanitizer/71953 * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types before builtin_decl_implicit. From-SVN: r248592 --- diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 521d41f82902..a7cb8d67ce19 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,12 @@ +2017-05-30 Jakub Jelinek + + Backported from mainline + 2016-07-21 Jakub Jelinek + + PR sanitizer/71953 + * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types + before builtin_decl_implicit. + 2017-05-29 Eric Botcazou * doc/install.texi (Options specification): Move entry of diff --git a/gcc/asan.c b/gcc/asan.c index 3b5722a4c9a3..06094925caef 100644 --- a/gcc/asan.c +++ b/gcc/asan.c @@ -2129,6 +2129,9 @@ transform_statements (void) tree asan_dynamic_init_call (bool after_p) { + if (shadow_ptr_types[0] == NULL_TREE) + asan_init_shadow_ptr_types (); + tree fn = builtin_decl_implicit (after_p ? BUILT_IN_ASAN_AFTER_DYNAMIC_INIT : BUILT_IN_ASAN_BEFORE_DYNAMIC_INIT); @@ -2138,8 +2141,6 @@ asan_dynamic_init_call (bool after_p) pretty_printer module_name_pp; pp_string (&module_name_pp, main_input_filename); - if (shadow_ptr_types[0] == NULL_TREE) - asan_init_shadow_ptr_types (); module_name_cst = asan_pp_string (&module_name_pp); module_name_cst = fold_convert (const_ptr_type_node, module_name_cst);