On Fri, Oct 18, 2019 at 12:00:22PM -0700, Nathan Chancellor wrote: > Just as an FYI, there was some more discussion around the availablity > and use of bcmp in this LLVM bug which spawned > commit 5f074f3e192f ("lib/string.c: implement a basic bcmp"). > > https://bugs.llvm.org/show_bug.cgi?id=41035#c13 > > I believe this is the proper solution but I am fine with whatever works, > I just want our CI to be green without any out of tree patches again...
I think the proper solution is for the kernel to *do* use -ffreestanding, and then somehow tell the kernel that memcpy etc. are the standard functions. A freestanding GCC already requires memcpy, memmove, memset, memcmp, and sometimes abort to exist and do the standard thing; why cannot programs then also rely on it to be the standard functions. What exact functions are the reason the kernel does not use -ffreestanding? Is it just memcpy? Is more wanted? Segher