Jakub Jelinek <ja...@redhat.com> writes:

> 2012-12-05  Jakub Jelinek  <ja...@redhat.com>
>
>       * asan.c (asan_init_shadow_ptr_types): Move earlier in the file.
>       Call initialize_sanitizer_builtins at the end.
>       (asan_pp_string): Use TREE_TYPE (shadow_ptr_types[0])
>       as character type instead of char_type_node.
>       (asan_emit_stack_protection): Call asan_init_shadow_ptr_types
>       if shadow_ptr_types isn't initialized.
>       (asan_protect_global): Return true for STRING_CSTs except those
>       created by asan_pp_string.
>       (count_string_csts, add_string_csts): New functions.
>       (struct asan_add_string_csts_data): New type.
>       (asan_finish_file): Clear flag_asan at the beginning, restore at the
>       end.  Traverse constant_pool_htab () to look for protected
>       STRING_CSTs.  Don't call initialize_sanitizer_builtins,
>       instead call asan_init_shadow_ptr_types if shadow_ptr_types isn't
>       initialized yet.
>       (asan_instrument): Don't call initialize_sanitizer_builtins.
>       * varasm.c (output_constant_def_contents): If STRING_CST should be
>       asan protected, align it sufficiently and emit padding after it.
>       (categorize_decl_for_section): If flag_asan, don't put STRING_CSTs
>       that should be asan protected into mergeable sections.  For
>       -fmerge-all-constants, ignore it for -fmudflap or if decl is
>       asan protected.

This seems OK to me, thanks.

-- 
                Dodji

Reply via email to