From 5b4c698ec38b70ce3c4140d5a72a32315f8a47a9 Mon Sep 17 00:00:00 2001 From: starlet-dx <15929766099@163.com> Date: Fri, 14 Jul 2023 09:44:46 +0800 Subject: [PATCH] Fix complication failed due to gcc update to 12.3.1 --- ..._cmpxchg-remove-compile-breaking-bad.patch | 32 +++++++++++++++++++ libpsm2.spec | 6 +++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 Fix-opa-psm2-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch diff --git a/Fix-opa-psm2-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch b/Fix-opa-psm2-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch new file mode 100644 index 0000000..8d2313f --- /dev/null +++ b/Fix-opa-psm2-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch @@ -0,0 +1,32 @@ +From c3a7d9468d5623c0164b783346bada8664a9a2c9 Mon Sep 17 00:00:00 2001 +From: Brendan Cunningham <14318587+BrendanCunningham@users.noreply.github.com> +Date: Sat, 20 Nov 2021 13:02:06 -0500 +Subject: [PATCH] ips_cmpxchg: remove compile-breaking bad cast-to-struct. + +uint32_t ptr argument in compare-and-swap code snippet should not be +cast to pointer-to-uint32_t[100] struct. + +Signed-off-by: Brendan Cunningham +--- + include/linux-i386/sysdep.h | 5 +---- + rpm_release_extension | 2 +- + 2 files changed, 2 insertions(+), 5 deletions(-) + +diff --git a/include/linux-i386/sysdep.h b/include/linux-i386/sysdep.h +index bfd5746..2c48c1e 100644 +--- a/include/linux-i386/sysdep.h ++++ b/include/linux-i386/sysdep.h +@@ -139,12 +139,9 @@ static __inline__ uint32_t ips_cmpxchg(volatile uint32_t *ptr, + uint32_t old_val, uint32_t new_val) + { + uint32_t prev; +- struct xchg_dummy { +- uint32_t a[100]; +- }; + + asm volatile (LOCK_PREFIX "cmpxchgl %1,%2" : "=a"(prev) +- : "q"(new_val), "m"(*(struct xchg_dummy *)ptr), "0"(old_val) ++ : "q"(new_val), "m"(*ptr), "0"(old_val) + : "memory"); + + return prev; diff --git a/libpsm2.spec b/libpsm2.spec index aa87aaf..58d4a0c 100644 --- a/libpsm2.spec +++ b/libpsm2.spec @@ -1,6 +1,6 @@ Name: libpsm2 Version: 10.3.58 -Release: 9 +Release: 10 Summary: Intel PSM Libraries License: BSD or GPLv2 URL: https://github.com/01org/opa-psm2/ @@ -11,6 +11,7 @@ Patch0: 0000-extend-fdesc-array.patch Patch1: fix-stringop-truncation-build-error.patch Patch2: Fix-opa-psm2-gcc10.patch Patch3: Fix-missing-extern.patch +Patch4: Fix-opa-psm2-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch ExclusiveArch: x86_64 BuildRequires: libuuid-devel numactl-devel gcc systemd-udev @@ -75,6 +76,9 @@ rm -f %{buildroot}%{_libdir}/*.a %{_sysconfdir}/modprobe.d/libpsm2-compat.conf %changelog +* Fri Jul 14 2023 yaoxin - 10.3.58-10 +- Fix complication failed due to gcc update to 12.3.1 + * Fri Aug 06 2021 wangyong - 10.3.58-9 - Fix downstream missing lib problem -- Gitee