x86, boot: Undef memcmp before providing a new definition
authorVivek Goyal <vgoyal@redhat.com>
Tue, 18 Mar 2014 19:26:36 +0000 (15:26 -0400)
committerH. Peter Anvin <hpa@linux.intel.com>
Wed, 19 Mar 2014 22:43:37 +0000 (15:43 -0700)
With CONFIG_X86_32=y, string_32.h gets pulled in compressed/string.c by
"misch.h". string_32.h defines a macro to map memcmp to __builtin_memcmp().
And that macro in turn changes the name of memcmp() defined here and
converts it to __builtin_memcmp().

I thought that's not the intention though. We probably want to provide
our own optimized definition of memcmp(). If yes, then undef the memcmp
before we define a new memcmp.

Signed-off-by: Vivek Goyal <vgoyal@redhat.com>
Link: http://lkml.kernel.org/r/1395170800-11059-2-git-send-email-vgoyal@redhat.com
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/boot/compressed/string.c

index ffb9c5c..212004e 100644 (file)
@@ -1,5 +1,7 @@
 #include "misc.h"
 
+/* Avoid intereference from any defines in string_32.h */
+#undef memcmp
 int memcmp(const void *s1, const void *s2, size_t len)
 {
        u8 diff;