]> gcc.gnu.org Git - gcc.git/commit
PR target/96260 - KASAN should work even back-end not porting anything.
authorKito Cheng <kito.cheng@sifive.com>
Wed, 22 Jul 2020 06:50:40 +0000 (14:50 +0800)
committerKito Cheng <kito.cheng@sifive.com>
Thu, 23 Jul 2020 07:47:50 +0000 (15:47 +0800)
commit83f1fbb9e7afaa77d52b200c7937788faa5f24d7
treeb9a962db00e11812a587228df41182cf0eff7e3d
parentf34e22a4c73eb2555a3d3800b723ad743142fc24
PR target/96260 - KASAN should work even back-end not porting anything.

 - Most KASAN function don't need any porting anything in back-end
   except asan stack protection.

 - However kernel will given shadow offset when enable asan stack
   protection, so eveything in KASAN can work if shadow offset is given.

 - Verified with x86 and risc-v.

 - Verified with RISC-V linux kernel.

gcc/ChangeLog:

PR target/96260
* asan.c (asan_shadow_offset_set_p): New.
* asan.h (asan_shadow_offset_set_p): Ditto.
* toplev.c (process_options): Allow -fsanitize=kernel-address
even TARGET_ASAN_SHADOW_OFFSET not implemented, only check when
asan stack protection is enabled.

gcc/testsuite/ChangeLog:

PR target/96260
* gcc.target/riscv/pr91441.c: Update warning message.
* gcc.target/riscv/pr96260.c: New.

(cherry picked from commit 2ca1b6d009b194286c3ec91f9c51cc6b0a475458)
gcc/asan.c
gcc/asan.h
gcc/testsuite/gcc.target/riscv/pr91441.c
gcc/testsuite/gcc.target/riscv/pr96260.c [new file with mode: 0644]
gcc/toplev.c
This page took 0.060386 seconds and 6 git commands to generate.