1*4882a593SmuzhiyunFrom b7fa865fa6b06d97d424c500fd1c4bc44c096359 Mon Sep 17 00:00:00 2001 2*4882a593SmuzhiyunFrom: Fabrice Fontaine <fontaine.fabrice@gmail.com> 3*4882a593SmuzhiyunDate: Sun, 1 Nov 2020 22:46:18 +0100 4*4882a593SmuzhiyunSubject: [PATCH] openpgm/pgm/checksum.c: fix build with 32 bits MMX 5*4882a593Smuzhiyun 6*4882a593SmuzhiyunBuild with i386-pentium-mmx or i686 is broken since version 5-3-128 and 7*4882a593Smuzhiyunhttps://github.com/steve-o/openpgm/commit/b276dc15be5d4e6e1143b9de25d09f63f9c85135 8*4882a593Smuzhiyunbecause _mm_cvtm64_si64 is undefined resulting in the following build 9*4882a593Smuzhiyunfailure for example on zeromq: 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun/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*4882a593Smuzhiyun 13*4882a593SmuzhiyunSo use the fallback if __x86_64__ is not defined 14*4882a593Smuzhiyun 15*4882a593SmuzhiyunFixes: 16*4882a593Smuzhiyun - http://autobuild.buildroot.org/results/01d9be37e8a743307128f53f41785654c9971e1a 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunSigned-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com> 19*4882a593SmuzhiyunSigned-off-by: Baruch Siach <baruch@tkos.co.il> 20*4882a593Smuzhiyun--- 21*4882a593SmuzhiyunUpstream status: commit b7fa865fa6b06d97d424c500fd1c4bc44c096359 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun openpgm/pgm/checksum.c | 2 +- 24*4882a593Smuzhiyun 1 file changed, 1 insertion(+), 1 deletion(-) 25*4882a593Smuzhiyun 26*4882a593Smuzhiyundiff --git a/openpgm/pgm/checksum.c b/openpgm/pgm/checksum.c 27*4882a593Smuzhiyunindex fef89bce237c..8d8dd3f32305 100644 28*4882a593Smuzhiyun--- a/openpgm/pgm/checksum.c 29*4882a593Smuzhiyun+++ b/openpgm/pgm/checksum.c 30*4882a593Smuzhiyun@@ -948,7 +948,7 @@ do_csumcpy_mmx ( 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun sum = _mm_add_pi32 (sum, lo); 33*4882a593Smuzhiyun sum = _mm_add_pi32 (sum, hi); 34*4882a593Smuzhiyun-#if 1 35*4882a593Smuzhiyun+#if defined(__x86_64__) 36*4882a593Smuzhiyun *(int64_t*)dst = _mm_cvtm64_si64 (tmp); 37*4882a593Smuzhiyun #else 38*4882a593Smuzhiyun ((int*)dst)[1] = _mm_cvtsi64_si32 (tmp); 39*4882a593Smuzhiyun-- 40*4882a593Smuzhiyun2.30.2 41*4882a593Smuzhiyun 42