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 Bug: https://bugs.gentoo.org/711982 Signed-off-by: Robin H. Johnson 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);