Compare commits
12 Commits
44c1d8294d
...
145ea35066
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
145ea35066 | ||
|
|
d3e0b6b42d | ||
|
|
454c809a59 | ||
|
|
c5f3105e19 | ||
|
|
4e2967bcc2 | ||
|
|
f08ab1a992 | ||
|
|
538bef0185 | ||
|
|
a245cb8ef6 | ||
|
|
f6083867e8 | ||
|
|
c6f703e967 | ||
|
|
85f302f23e | ||
|
|
89672bdded |
30
Fix-psm-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch
Normal file
30
Fix-psm-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
From 4b52b4f64809960ae354da8dc826b1052c85161d Mon Sep 17 00:00:00 2001
|
||||||
|
From: starlet-dx <15929766099@163.com>
|
||||||
|
Date: Fri, 14 Jul 2023 11:25:49 +0800
|
||||||
|
Subject: [PATCH 1/1] ips_cmpxchg: remove compile-breaking bad cast-to-struct.
|
||||||
|
|
||||||
|
Origin: https://github.com/cornelisnetworks/opa-psm2/commit/c3a7d9468d5623c0164b783346bada8664a9a2c9
|
||||||
|
---
|
||||||
|
include/linux-i386/sysdep.h | 3 +--
|
||||||
|
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/include/linux-i386/sysdep.h b/include/linux-i386/sysdep.h
|
||||||
|
index ef99d1d..8c5c1b2 100644
|
||||||
|
--- a/include/linux-i386/sysdep.h
|
||||||
|
+++ b/include/linux-i386/sysdep.h
|
||||||
|
@@ -104,11 +104,10 @@ static __inline__ uint32_t ips_cmpxchg(volatile uint32_t *ptr,
|
||||||
|
uint32_t old, uint32_t new)
|
||||||
|
{
|
||||||
|
uint32_t prev;
|
||||||
|
- struct xchg_dummy { uint32_t a[100]; };
|
||||||
|
|
||||||
|
asm volatile(LOCK_PREFIX "cmpxchgl %1,%2"
|
||||||
|
: "=a"(prev)
|
||||||
|
- : "q"(new), "m"(*(struct xchg_dummy *)ptr), "0"(old)
|
||||||
|
+ : "q"(new), "m"(*ptr), "0"(old)
|
||||||
|
: "memory");
|
||||||
|
|
||||||
|
return prev;
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
||||||
13
fix-stringop-truncation-build-error.patch
Normal file
13
fix-stringop-truncation-build-error.patch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff -Naur psm-4abbc60/psm_ep.c psm-4abbc60-edit/psm_ep.c
|
||||||
|
--- psm-4abbc60/psm_ep.c 2020-07-02 14:18:23.738500086 +0800
|
||||||
|
+++ psm-4abbc60-edit/psm_ep.c 2020-07-02 14:22:39.097969891 +0800
|
||||||
|
@@ -1349,8 +1349,7 @@
|
||||||
|
|
||||||
|
b_new = (char *) devstr;
|
||||||
|
e = b_new + len;
|
||||||
|
- strncpy(e, devstring, len-1);
|
||||||
|
- e[len-1] = '\0';
|
||||||
|
+ strncpy(e, devstring, len);
|
||||||
|
ee = e + len;
|
||||||
|
i = 0;
|
||||||
|
while (e < ee && *e && i < PTL_MAX_INIT) {
|
||||||
Binary file not shown.
@ -1,12 +1,12 @@
|
|||||||
Name: infinipath-psm
|
Name: infinipath-psm
|
||||||
Version: 3.3
|
Version: 3.3
|
||||||
Release: 8
|
Release: 13
|
||||||
License: GPLv2 or BSD
|
License: GPLv2 or BSD
|
||||||
Summary: Libraries for Intel Performance Scaled Messaging
|
Summary: Libraries for Intel Performance Scaled Messaging
|
||||||
URL: https://github.com/01org/psm
|
URL: https://github.com/01org/psm
|
||||||
Source0: infinipath-psm-3.3-22_g4abbc60_open.tar.gz
|
Source0: https://codeload.github.com/intel/psm/zip/4abbc60
|
||||||
ExclusiveArch: x86_64
|
ExclusiveArch: x86_64
|
||||||
BuildRequires: libuuid-devel
|
BuildRequires: libuuid-devel gcc
|
||||||
Obsoletes: infinipath-libs <= %{version}-%{release}
|
Obsoletes: infinipath-libs <= %{version}-%{release}
|
||||||
Requires: udev
|
Requires: udev
|
||||||
Requires(post): /sbin/ldconfig
|
Requires(post): /sbin/ldconfig
|
||||||
@ -25,6 +25,12 @@ Patch0004: 0001-Include-sysmacros.h.patch
|
|||||||
Patch0005: 0001-Extend-buffer-for-uvalue-and-pvalue.patch
|
Patch0005: 0001-Extend-buffer-for-uvalue-and-pvalue.patch
|
||||||
# Extend fdesc array
|
# Extend fdesc array
|
||||||
Patch0006: extend-fdesc-array.patch
|
Patch0006: extend-fdesc-array.patch
|
||||||
|
# Fix stringop-truncation build error
|
||||||
|
Patch0007: fix-stringop-truncation-build-error.patch
|
||||||
|
# Fix multiple definitions build error
|
||||||
|
Patch0008: psm-multiple-definition.patch
|
||||||
|
# ips_cmpxchg: remove compile-breaking bad cast-to-struct
|
||||||
|
Patch0009: Fix-psm-gcc12-ips_cmpxchg-remove-compile-breaking-bad.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
PSM API is Intel's low-level user-level communications interface for the True Scale family of products.
|
PSM API is Intel's low-level user-level communications interface for the True Scale family of products.
|
||||||
@ -42,7 +48,7 @@ Requires(postun): /sbin/ldconfig
|
|||||||
Development files for Intel PSM.
|
Development files for Intel PSM.
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%autosetup -n infinipath-psm-%{version}-22_g4abbc60_open -p1
|
%autosetup -n psm-4abbc60 -p1
|
||||||
find libuuid -type f -not -name 'psm_uuid.[c|h]' -not -name Makefile -exec rm -f '{}' \;
|
find libuuid -type f -not -name 'psm_uuid.[c|h]' -not -name Makefile -exec rm -f '{}' \;
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -76,6 +82,21 @@ install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/udev/rules.d/60-ipath.rule
|
|||||||
%{_includedir}/{psm.h,psm_mq.h}
|
%{_includedir}/{psm.h,psm_mq.h}
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Jul 14 2023 yaoxin <yao_xin001@hoperun.com> - 3.3-13
|
||||||
|
- Fix complication failed due to gcc update to 12.3.1
|
||||||
|
|
||||||
|
* Mon Aug 02 2021 wangyong <wangyong187@huawei.com> - 3.3-12
|
||||||
|
- Fix build error caused by GCC upgrade to GCC-10
|
||||||
|
|
||||||
|
* Mon May 31 2021 huanghaitao <huanghaitao8@huawei.com> - 3.3-11
|
||||||
|
- Completing build dependencies
|
||||||
|
|
||||||
|
* Thu Jul 02 2020 senlin <xiasenlin1@huawei.com> - 3.3-10
|
||||||
|
- Fix stringop-truncation build error
|
||||||
|
|
||||||
|
* Mon Mar 16 2020 Ling Yang <lingyang2@huawei.com> - 3.3-9
|
||||||
|
- Fixed URL
|
||||||
|
|
||||||
* Mon Mar 16 2020 Ling Yang <lingyang2@huawei.com> - 3.3-8
|
* Mon Mar 16 2020 Ling Yang <lingyang2@huawei.com> - 3.3-8
|
||||||
- Fixed build error
|
- Fixed build error
|
||||||
|
|
||||||
|
|||||||
94
psm-multiple-definition.patch
Normal file
94
psm-multiple-definition.patch
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
diff --git a/psm_error.h b/psm_error.h
|
||||||
|
index 21f5745..886da89 100644
|
||||||
|
--- a/psm_error.h
|
||||||
|
+++ b/psm_error.h
|
||||||
|
@@ -42,7 +42,7 @@
|
||||||
|
#define PSMI_EP_NORETURN ((psm_ep_t) -2)
|
||||||
|
#define PSMI_EP_LOGEVENT ((psm_ep_t) -3)
|
||||||
|
|
||||||
|
-psm_ep_errhandler_t psmi_errhandler_global;
|
||||||
|
+extern psm_ep_errhandler_t psmi_errhandler_global;
|
||||||
|
|
||||||
|
psm_error_t psmi_handle_error(psm_ep_t ep, psm_error_t error,
|
||||||
|
const char *buf, ...)
|
||||||
|
diff --git a/psm_user.h b/psm_user.h
|
||||||
|
index c9aadcc..f9a115e 100644
|
||||||
|
--- a/psm_user.h
|
||||||
|
+++ b/psm_user.h
|
||||||
|
@@ -100,7 +100,7 @@ psm_error_t psmi_mq_wait_internal(psm_mq_req_t *ireq);
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef PSMI_PLOCK_IS_SPINLOCK
|
||||||
|
- psmi_spinlock_t psmi_progress_lock;
|
||||||
|
+ extern psmi_spinlock_t psmi_progress_lock;
|
||||||
|
#define PSMI_PLOCK_INIT() psmi_spin_init(&psmi_progress_lock)
|
||||||
|
#define PSMI_PLOCK_TRY() psmi_spin_trylock(&psmi_progress_lock)
|
||||||
|
#define PSMI_PLOCK() psmi_spin_lock(&psmi_progress_lock)
|
||||||
|
@@ -109,7 +109,7 @@ psm_error_t psmi_mq_wait_internal(psm_mq_req_t *ireq);
|
||||||
|
#define PSMI_PUNLOCK_ASSERT()
|
||||||
|
#define PSMI_PLOCK_DISABLED 0
|
||||||
|
#elif defined(PSMI_PLOCK_IS_MUTEXLOCK_DEBUG)
|
||||||
|
- pthread_mutex_t psmi_progress_lock;
|
||||||
|
+ extern pthread_mutex_t psmi_progress_lock;
|
||||||
|
pthread_t psmi_progress_lock_owner;
|
||||||
|
#define PSMI_PLOCK_NO_OWNER ((pthread_t)(-1))
|
||||||
|
|
||||||
|
@@ -156,7 +156,7 @@ psm_error_t psmi_mq_wait_internal(psm_mq_req_t *ireq);
|
||||||
|
|
||||||
|
#define PSMI_PLOCK_DISABLED 0
|
||||||
|
#elif defined (PSMI_PLOCK_IS_MUTEXLOCK)
|
||||||
|
- pthread_mutex_t psmi_progress_lock;
|
||||||
|
+ extern pthread_mutex_t psmi_progress_lock;
|
||||||
|
#define PSMI_PLOCK_INIT() /* static initialization */
|
||||||
|
#define PSMI_PLOCK_TRY() pthread_mutex_trylock(&psmi_progress_lock)
|
||||||
|
#define PSMI_PLOCK() pthread_mutex_lock(&psmi_progress_lock)
|
||||||
|
diff --git a/psm_utils.h b/psm_utils.h
|
||||||
|
index e6420e0..6c2c5c3 100644
|
||||||
|
--- a/psm_utils.h
|
||||||
|
+++ b/psm_utils.h
|
||||||
|
@@ -254,7 +254,7 @@ int psmi_diags(void);
|
||||||
|
* Fault injection
|
||||||
|
*/
|
||||||
|
struct psmi_faultinj_spec;
|
||||||
|
-int psmi_faultinj_enabled; /* use macro to test */
|
||||||
|
+extern int psmi_faultinj_enabled; /* use macro to test */
|
||||||
|
#if 1 /* possible to disable at compile time */
|
||||||
|
#define PSMI_FAULTINJ_ENABLED() (!!psmi_faultinj_enabled)
|
||||||
|
#else
|
||||||
|
diff --git a/ptl_am/ptl_fwd.h b/ptl_am/ptl_fwd.h
|
||||||
|
index 3be8f5b..bfb2715 100644
|
||||||
|
--- a/ptl_am/ptl_fwd.h
|
||||||
|
+++ b/ptl_am/ptl_fwd.h
|
||||||
|
@@ -47,7 +47,7 @@
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Symbol in am ptl */
|
||||||
|
-struct ptl_ctl_init psmi_ptl_amsh;
|
||||||
|
+extern struct ptl_ctl_init psmi_ptl_amsh;
|
||||||
|
|
||||||
|
/* Special non-ptl function exposed to pre-attach to shm segment */
|
||||||
|
psm_error_t psmi_shm_attach(psm_ep_t ep, int *shmidx_o);
|
||||||
|
diff --git a/ptl_ips/ptl_fwd.h b/ptl_ips/ptl_fwd.h
|
||||||
|
index 08d4c53..5e9cd47 100644
|
||||||
|
--- a/ptl_ips/ptl_fwd.h
|
||||||
|
+++ b/ptl_ips/ptl_fwd.h
|
||||||
|
@@ -38,5 +38,5 @@
|
||||||
|
typedef struct ptl_epaddr ips_epaddr_t;
|
||||||
|
|
||||||
|
/* Symbol in ips ptl */
|
||||||
|
-struct ptl_ctl_init psmi_ptl_ips;
|
||||||
|
+extern struct ptl_ctl_init psmi_ptl_ips;
|
||||||
|
#endif /* _PTL_FWD_IPS_H */
|
||||||
|
diff --git a/ptl_self/ptl_fwd.h b/ptl_self/ptl_fwd.h
|
||||||
|
index ff79c7e..32f9041 100644
|
||||||
|
--- a/ptl_self/ptl_fwd.h
|
||||||
|
+++ b/ptl_self/ptl_fwd.h
|
||||||
|
@@ -35,7 +35,7 @@
|
||||||
|
#define _PTL_FWD_SELF_H
|
||||||
|
|
||||||
|
/* Symbol in am ptl */
|
||||||
|
-struct ptl_ctl_init psmi_ptl_self;
|
||||||
|
+extern struct ptl_ctl_init psmi_ptl_self;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
Loading…
x
Reference in New Issue
Block a user