Initial asan cleanups
commitecd6ab4529eab90e3c90fff3e9cdba9ae36a49cc
authorJakub Jelinek <jakub@redhat.com>
Thu, 11 Oct 2012 17:20:45 +0000 (11 17:20 +0000)
committerDodji Seketeli <dodji@seketeli.org>
Fri, 9 Nov 2012 13:23:54 +0000 (9 14:23 +0100)
treebadca22f3805de175571a5c6993d3be257e6dfa5
parent128740605a4bcf27b0a50e1f0ad992efe9af9066
Initial asan cleanups

This patch defines a new asan_shadow_offset target macro, instead of
having a mere macro in the asan.c file.  It becomes thus cleaner to
define the target macro for targets that supports asan, namely x86 for
now.  The ASAN_SHADOW_SHIFT (which, along with the asan_shadow_offset
constant, is used to compute the address of the shadow memory byte for
a given memory address) is defined in asan.h.

* toplev.c (process_options): Warn and turn off
-faddress-sanitizer if not supported by target.
* asan.c: Include target.h.
(asan_scale, asan_offset_log_32, asan_offset_log_64,
asan_offset_log): Removed.
(build_check_stmt): Use ASAN_SHADOW_SHIFT and
targetm.asan_shadow_offset ().
(asan_instrument): Don't initialize asan_offset_log.
* asan.h (ASAN_SHADOW_SHIFT): Define.
* target.def (TARGET_ASAN_SHADOW_OFFSET): New hook.
* doc/tm.texi.in (TARGET_ASAN_SHADOW_OFFSET): Add it.
* doc/tm.texi: Regenerated.
* Makefile.in (asan.o): Depend on $(TARGET_H).
* config/i386/i386.c (ix86_asan_shadow_offset): New function.
(TARGET_ASAN_SHADOW_OFFSET): Define.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/asan@192372 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog.asan
gcc/Makefile.in
gcc/asan.c
gcc/asan.h
gcc/config/i386/i386.c
gcc/doc/tm.texi
gcc/doc/tm.texi.in
gcc/target.def
gcc/toplev.c