On Fri, Nov 06, 2020 at 09:28:09AM +0100, Ard Biesheuvel wrote: > On Fri, 6 Nov 2020 at 09:26, Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > > > > On Fri, Nov 6, 2020 at 8:49 AM Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> wrote: > > > > > arm KASAN build failure noticed on linux next 20201106 tag. > > > gcc: 9.x > > > > > > Build error: > > > --------------- > > > arch/arm/boot/compressed/string.c:24:1: error: attribute 'alias' > > > argument not a string > > > 24 | void *__memcpy(void *__dest, __const void *__src, size_t __n) > > > __alias(memcpy); > > > | ^~~~ > > > arch/arm/boot/compressed/string.c:25:1: error: attribute 'alias' > > > argument not a string > > > 25 | void *__memmove(void *__dest, __const void *__src, size_t > > > count) __alias(memmove); > > > | ^~~~ > > > arch/arm/boot/compressed/string.c:26:1: error: attribute 'alias' > > > argument not a string > > > 26 | void *__memset(void *s, int c, size_t count) __alias(memset); > > > | ^~~~ > > > > > > Reported-by: Naresh Kamboju <naresh.kamboju@xxxxxxxxxx> > > > > > > Build details link, > > > https://builds.tuxbuild.com/1juBs4tXRA6Cwhd1Qnhh4vzCtDx/ > > > > This looks like a randconfig build. > > > > Please drill down and try to report which combination of config > > options that give rise to this problem so we have a chance of > > amending it. > > > > AFAIK there is an incompatible change in -next to change the > definition of the __alias() macro Indeed. The following diff needs to be applied as a fixup to treewide-remove-stringification-from-__alias-macro-definition.patch in mmotm. Cheers, Nathan diff --git a/arch/arm/boot/compressed/string.c b/arch/arm/boot/compressed/string.c index 8c0fa276d994..cc6198f8a348 100644 --- a/arch/arm/boot/compressed/string.c +++ b/arch/arm/boot/compressed/string.c @@ -21,9 +21,9 @@ #undef memcpy #undef memmove #undef memset -void *__memcpy(void *__dest, __const void *__src, size_t __n) __alias(memcpy); -void *__memmove(void *__dest, __const void *__src, size_t count) __alias(memmove); -void *__memset(void *s, int c, size_t count) __alias(memset); +void *__memcpy(void *__dest, __const void *__src, size_t __n) __alias("memcpy"); +void *__memmove(void *__dest, __const void *__src, size_t count) __alias("memmove"); +void *__memset(void *s, int c, size_t count) __alias("memset"); #endif void *memcpy(void *__dest, __const void *__src, size_t __n)