Jakub Jelinek via Gcc-patches <[email protected]> writes:
> On Tue, Jun 09, 2020 at 02:32:36PM +0200, Martin Liška wrote:
>> >From 5fe0671ad79d14d1c9d0fead1a471875a4416fac Mon Sep 17 00:00:00 2001
>> From: Martin Liska <[email protected]>
>> Date: Tue, 9 Jun 2020 13:03:55 +0200
>> Subject: [PATCH] sanitizer: do not inline no-sanitize into sanitizer fn
>>
>> gcc/ChangeLog:
>>
>> * cif-code.def (ATTRIBUTE_MISMATCH): Rename to...
>> (SANITIZE_ATTRIBUTE_MISMATCH): ...this.
>> * ipa-inline.c (sanitize_attrs_match_for_inline_p):
>> Handle all sanitizer options.
>> (can_inline_edge_p): Use renamed CIF_* enum value.
>>
>> gcc/testsuite/ChangeLog:
>>
>> * c-c++-common/asan/inline.c: New test.
>> * c-c++-common/asan/inline-kernel.c: New test.
>> * c-c++-common/tsan/inline.c: New test.
>> * c-c++-common/ubsan/inline.c: New test.
>
> Ok, thanks.
The new inline-kernel.c testcase FAILs on Solaris/SPARC and x86 (and
everywhere else, I assume) with
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O0 scan-tree-dump-times
optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O0 (test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O1 scan-tree-dump-times
optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O1 (test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O2 scan-tree-dump-times
optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O2 (test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O2 -flto
scan-tree-dump-times optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O2 -flto (test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O2 -flto -flto-partition=none
scan-tree-dump-times optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O2 -flto -flto-partition=none
(test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -O3 -g scan-tree-dump-times
optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -O3 -g (test for excess errors)
+UNRESOLVED: c-c++-common/asan/inline-kernel.c -Os scan-tree-dump-times
optimized "Function do_not_sanitize" 1
+FAIL: c-c++-common/asan/inline-kernel.c -Os (test for excess errors)
Excess errors:
cc1: error: '-fsanitize=address' is incompatible with
'-fsanitize=kernel-address'
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University