!6 fix failure caused by GCC upgrade to GCC-10

From: @aslfjk
Reviewed-by: @yanan-rock
Signed-off-by: @yanan-rock,@yanan-rock
This commit is contained in:
openeuler-ci-bot 2021-08-04 06:47:05 +00:00 committed by Gitee
commit 454c809a59
2 changed files with 100 additions and 1 deletions

View File

@ -1,6 +1,6 @@
Name: infinipath-psm
Version: 3.3
Release: 11
Release: 12
License: GPLv2 or BSD
Summary: Libraries for Intel Performance Scaled Messaging
URL: https://github.com/01org/psm
@ -27,6 +27,8 @@ Patch0005: 0001-Extend-buffer-for-uvalue-and-pvalue.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
%description
PSM API is Intel's low-level user-level communications interface for the True Scale family of products.
@ -78,6 +80,9 @@ install -m 0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/udev/rules.d/60-ipath.rule
%{_includedir}/{psm.h,psm_mq.h}
%changelog
* 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

View 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