diff options
author | Sergei Trofimovich <slyfox@gentoo.org> | 2020-05-05 22:53:19 +0100 |
---|---|---|
committer | Sergei Trofimovich <slyfox@gentoo.org> | 2020-05-05 22:53:19 +0100 |
commit | 73d30f360cfcfeb20e7a634407310fe04a112336 (patch) | |
tree | f4431ff10afc91e525f8baf6e8a59e71c8e95319 /net-misc/memcached | |
parent | sys-cluster/corosync: drop invalid version check, bug #705276 (diff) | |
download | gentoo-73d30f360cfcfeb20e7a634407310fe04a112336.tar.gz gentoo-73d30f360cfcfeb20e7a634407310fe04a112336.tar.bz2 gentoo-73d30f360cfcfeb20e7a634407310fe04a112336.zip |
net-misc/memcached: tweak crc32c build on ia64, bug #718136
Closes: https://bugs.gentoo.org/718136
Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Diffstat (limited to 'net-misc/memcached')
-rw-r--r-- | net-misc/memcached/files/memcached-1.6.5-ia64.patch | 51 | ||||
-rw-r--r-- | net-misc/memcached/memcached-1.6.5.ebuild | 1 |
2 files changed, 52 insertions, 0 deletions
diff --git a/net-misc/memcached/files/memcached-1.6.5-ia64.patch b/net-misc/memcached/files/memcached-1.6.5-ia64.patch new file mode 100644 index 000000000000..5a73913b92e6 --- /dev/null +++ b/net-misc/memcached/files/memcached-1.6.5-ia64.patch @@ -0,0 +1,51 @@ +https://github.com/memcached/memcached/commit/73633d31b22068dfda5ef969c08139c083d96d71.patch + +From 73633d31b22068dfda5ef969c08139c083d96d71 Mon Sep 17 00:00:00 2001 +From: Sergei Trofimovich <slyfox@gentoo.org> +Date: Sun, 19 Apr 2020 10:08:19 +0100 +Subject: [PATCH] crc32c.c: don't attempt to enable hardware crc32 on ia64 + +Itanium has no hardware crc32 implementation and build fails as: + +``` +ia64-unknown-linux-gnu-gcc -DHAVE_CONFIG_H -I. -DNDEBUG -g -O2 -pthread \ + ... -c -o memcached-crc32c.o `test -f 'crc32c.c' || echo './'`crc32c.c +crc32c.c: In function 'crc32c_init': +crc32c.c:385:9: error: unknown register name '%edx' in 'asm' + 385 | __asm__("cpuid" \ + | ^~~~~~~ +``` + +The change removes ia64 from crc32 paths. + +Bug: https://bugs.gentoo.org/718136 +Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org> +--- + crc32c.c | 5 ++--- + 1 file changed, 2 insertions(+), 3 deletions(-) + +--- a/crc32c.c ++++ b/crc32c.c +@@ -167,7 +167,7 @@ static uint32_t crc32c_hw_aarch64(uint32_t crc, const void* buf, size_t len) + #endif + + /* Apply if the platform is intel */ +-#if defined(__X86_64__)||defined(__x86_64__)||defined(__ia64__) ++#if defined(__X86_64__)||defined(__x86_64__) + + /* Multiply a matrix times a vector over the Galois field of two elements, + GF(2). Each element is a bit in an unsigned integer. mat must have at +@@ -388,12 +388,11 @@ static uint32_t crc32c_hw(uint32_t crc, const void *buf, size_t len) + : "%ebx", "%edx"); \ + (have) = (ecx >> 20) & 1; \ + } while (0) +- + #endif + /* Compute a CRC-32C. If the crc32 instruction is available, use the hardware + version. Otherwise, use the software version. */ + void crc32c_init(void) { +- #if defined(__X86_64__)||defined(__x86_64__)||defined(__ia64__) ++ #if defined(__X86_64__)||defined(__x86_64__) + int sse42; + SSE42(sse42); + diff --git a/net-misc/memcached/memcached-1.6.5.ebuild b/net-misc/memcached/memcached-1.6.5.ebuild index 75cbb9370f34..206190e3a929 100644 --- a/net-misc/memcached/memcached-1.6.5.ebuild +++ b/net-misc/memcached/memcached-1.6.5.ebuild @@ -35,6 +35,7 @@ PATCHES=( "${FILESDIR}/${PN}-1.4.0-fix-as-needed-linking.patch" "${FILESDIR}/${PN}-1.4.4-as-needed.patch" "${FILESDIR}/${PN}-1.4.17-EWOULDBLOCK.patch" + "${FILESDIR}/${PN}-1.6.5-ia64.patch" ) src_prepare() { |