diff options
author | Kito Cheng <kito.cheng@sifive.com> | 2020-07-22 14:50:40 +0800 |
---|---|---|
committer | Kito Cheng <kito.cheng@sifive.com> | 2020-07-23 14:57:31 +0800 |
commit | 2ca1b6d009b194286c3ec91f9c51cc6b0a475458 (patch) | |
tree | af63dcdcbc211febcb5323810b4a881e5a4f8a00 /gcc/asan.h | |
parent | 5029d42c4014ce8c9771ba7b8280d5e7770b6dee (diff) | |
download | gcc-2ca1b6d009b194286c3ec91f9c51cc6b0a475458.zip gcc-2ca1b6d009b194286c3ec91f9c51cc6b0a475458.tar.gz gcc-2ca1b6d009b194286c3ec91f9c51cc6b0a475458.tar.bz2 |
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.
Diffstat (limited to 'gcc/asan.h')
-rw-r--r-- | gcc/asan.h | 2 |
1 files changed, 2 insertions, 0 deletions
@@ -129,6 +129,8 @@ asan_var_and_redzone_size (unsigned HOST_WIDE_INT size) extern bool set_asan_shadow_offset (const char *); +extern bool asan_shadow_offset_set_p (); + extern void set_sanitized_sections (const char *); extern bool asan_sanitize_stack_p (void); |