On Wed, Mar 13, 2019 at 6:27 PM 'Nick Desaulniers' via Clang Built Linux clang-built-linux@googlegroups.com wrote:
diff --git a/lib/string.c b/lib/string.c index 38e4ca08e757..e6c1954f2716 100644 --- a/lib/string.c +++ b/lib/string.c @@ -845,7 +845,13 @@ void *memmove(void *dest, const void *src, size_t count) EXPORT_SYMBOL(memmove); #endif
-#ifndef __HAVE_ARCH_MEMCMP +#ifdef __HAVE_ARCH_MEMCMP +int bcmp(const void *cs, const void *ct, size_t n) +{
return memcmp(cs, ct, n);
+} +EXPORT_SYMBOL(bcmp); +#else /**
- memcmp - Compare two areas of memory
- @cs: One area of memory
@@ -864,6 +870,8 @@ __visible int memcmp(const void *cs, const void *ct, size_t count) return res; } EXPORT_SYMBOL(memcmp); +__weak __alias(memcmp) typeof(memcmp) bcmp; +EXPORT_SYMBOL(bcmp); #endif
#ifndef __HAVE_ARCH_MEMSCAN
Alternatively, just not worrying about __alias makes this simpler and seems to work (need to add comments, thoughts?):
Either way seems fine to me. If we don't plan to provide an optimized version, I'd go with the simpler definition rather than the alias.
Arnd