Subject: [PATCH] crc32c: fix multiple definitions

gcc-10 will change the default from -fcommon to fno-common:
https://gcc.gnu.org/PR85678.

The error also happens if CFLAGS=-fno-common passed explicitly.

Reported-By: Toralf Förster <toralf@gentoo.org>
Bug: https://bugs.gentoo.org/711982
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>

diff -Nuar --exclude '*~' --exclude config.log --exclude autom4te.cache memcached-1.6.0.orig/crc32c.c memcached-1.6.0/crc32c.c
--- memcached-1.6.0.orig/crc32c.c	2019-10-21 01:48:04.000000000 -0700
+++ memcached-1.6.0/crc32c.c	2020-03-10 22:19:07.610247164 -0700
@@ -390,6 +390,7 @@
 #endif
 /* Compute a CRC-32C.  If the crc32 instruction is available, use the hardware
    version.  Otherwise, use the software version. */
+crc_func crc32c;
 void crc32c_init(void) {
     #if defined(__X86_64__)||defined(__x86_64__)||defined(__ia64__)
     int sse42;
diff -Nuar --exclude '*~' --exclude config.log --exclude autom4te.cache memcached-1.6.0.orig/crc32c.h memcached-1.6.0/crc32c.h
--- memcached-1.6.0.orig/crc32c.h	2019-10-21 01:48:04.000000000 -0700
+++ memcached-1.6.0/crc32c.h	2020-03-10 22:17:12.086974212 -0700
@@ -2,7 +2,7 @@
 #define    CRC32C_H
 
 typedef uint32_t (*crc_func)(uint32_t crc, const void *buf, size_t len);
-crc_func crc32c;
+extern crc_func crc32c;
 
 void crc32c_init(void);
 
