/* PR sanitizer/108777 */ /* { dg-do compile } */ /* { dg-options "-O2 -fno-sanitize=all -fsanitize=kernel-address --param asan-kernel-mem-intrinsic-prefix=1" } */ /* { dg-final { scan-assembler-not "__asan_memcpy" } } */ /* { dg-final { scan-assembler-not "__asan_memset" } } */ /* { dg-final { scan-assembler-not "__asan_memmove" } } */ extern void *memcpy (void *, const void *, __SIZE_TYPE__); extern void *memmove (void *, const void *, __SIZE_TYPE__); extern void *memset (void *, int, __SIZE_TYPE__); __attribute__((no_sanitize("kernel-address"))) void foo (void *p, void *q, int s) { memcpy (p, q, s); } __attribute__((no_sanitize("kernel-address"))) void bar (void *p, void *q, int s) { memmove (p, q, s); } __attribute__((no_sanitize("kernel-address"))) void baz (void *p, int c, int s) { memset (p, c, s); }