sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, [...]): New.
authorJakub Jelinek <jakub@redhat.com>
Fri, 30 May 2014 18:37:05 +0000 (20:37 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 30 May 2014 18:37:05 +0000 (20:37 +0200)
commit40f9f6bb0ead69f2e09b62341e91a0f9643afe3f
tree3326b794ec3e297e31dd9c81d4f4177c48d5ae5f
parent8465be9f1d5755379686743fb33aafbbfd77dfb3
sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N, [...]): New.

* sanitizer.def (BUILT_IN_ASAN_REPORT_LOAD_N,
BUILT_IN_ASAN_REPORT_STORE_N): New.
* asan.c (struct asan_mem_ref): Change access_size type to
HOST_WIDE_INT.
(asan_mem_ref_init, asan_mem_ref_new, get_mem_refs_of_builtin_call,
update_mem_ref_hash_table): Likewise.
(asan_mem_ref_hasher::hash): Hash in a HWI.
(report_error_func): Change size_in_bytes argument to HWI.
Use *_N builtins if size_in_bytes is larger than 16 or not power of
two.
(build_shadow_mem_access): New function.
(build_check_stmt): Use it.  Change size_in_bytes argument to HWI.
Handle size_in_bytes not power of two or larger than 16.
(instrument_derefs): Don't give up if size_in_bytes is not
power of two or is larger than 16.

From-SVN: r211091
gcc/ChangeLog
gcc/asan.c
gcc/sanitizer.def