blob: 7634c0048ed480555879640dbb6dcb7335034d8c [file] [log] [blame]
b.liue9582032025-04-17 19:18:16 +08001From b7fa865fa6b06d97d424c500fd1c4bc44c096359 Mon Sep 17 00:00:00 2001
2From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
3Date: Sun, 1 Nov 2020 22:46:18 +0100
4Subject: [PATCH 2/2] openpgm/pgm/checksum.c: fix build with 32 bits MMX
5
6Build with i386-pentium-mmx or i686 is broken since version 5-3-128 and
7https://github.com/steve-o/openpgm/commit/b276dc15be5d4e6e1143b9de25d09f63f9c85135
8because _mm_cvtm64_si64 is undefined resulting in the following build
9failure for example on zeromq:
10
11/srv/storage/autobuild/run/instance-3/output-1/host/opt/ext-toolchain/bin/../lib/gcc/i586-buildroot-linux-musl/8.3.0/../../../../i586-buildroot-linux-musl/bin/ld: /srv/storage/autobuild/run/instance-3/output-1/host/i586-buildroot-linux-musl/sysroot/usr/lib32/libpgm-5.3.so.0: undefined reference to `_mm_cvtm64_si64'
12
13So use the fallback if __x86_64__ is not defined
14
15Fixes:
16 - http://autobuild.buildroot.org/results/01d9be37e8a743307128f53f41785654c9971e1a
17
18Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
19---
20 openpgm/pgm/checksum.c | 2 +-
21 1 file changed, 1 insertion(+), 1 deletion(-)
22
23--- a/openpgm/pgm/checksum.c
24+++ b/openpgm/pgm/checksum.c
25@@ -948,7 +948,7 @@ do_csumcpy_mmx (
26
27 sum = _mm_add_pi32 (sum, lo);
28 sum = _mm_add_pi32 (sum, hi);
29-#if 1
30+#if defined(__x86_64__)
31 *(int64_t*)dst = _mm_cvtm64_si64 (tmp);
32 #else
33 ((int*)dst)[1] = _mm_cvtsi64_si32 (tmp);