diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-07-21 18:17:58 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-07-21 18:17:58 +0200 |
commit | 185faecb556ca1343c84f72649e361ed39d943d2 (patch) | |
tree | de1552f3c6535426ce4f9d195ddf9aedbc518693 | |
parent | f5a459a4392cacb1750c09bd2ecee8455d12af12 (diff) | |
download | gcc-185faecb556ca1343c84f72649e361ed39d943d2.zip gcc-185faecb556ca1343c84f72649e361ed39d943d2.tar.gz gcc-185faecb556ca1343c84f72649e361ed39d943d2.tar.bz2 |
re PR sanitizer/71953 (ICE using address sanitizers with PCH)
PR sanitizer/71953
* asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types
before builtin_decl_implicit.
From-SVN: r238596
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/asan.c | 5 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0757c89..221a147 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2016-07-21 Jakub Jelinek <jakub@redhat.com> + + PR sanitizer/71953 + * asan.c (asan_dynamic_init_call): Call asan_init_shadow_ptr_types + before builtin_decl_implicit. + 2016-07-21 James Greenhalgh <james.greenhalgh@arm.com> * optabs.c (emit_condiitonal_move): Short circuit for identical @@ -2159,6 +2159,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); @@ -2168,8 +2171,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); |