From ec3841dcbac536e734ebd6b2102079678a9dc5fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=8B=87?= Date: Tue, 3 Aug 2021 18:57:26 +0800 Subject: [PATCH] fix failure caused by GCC upgrade to GCC-10 --- Fix-opa-psm2-gcc10.patch | 74 ++++++++++++++++++++++++++++++++++++++++ libpsm2.spec | 8 +++-- 2 files changed, 80 insertions(+), 2 deletions(-) create mode 100644 Fix-opa-psm2-gcc10.patch diff --git a/Fix-opa-psm2-gcc10.patch b/Fix-opa-psm2-gcc10.patch new file mode 100644 index 0000000..ea38aca --- /dev/null +++ b/Fix-opa-psm2-gcc10.patch @@ -0,0 +1,74 @@ +diff --git a/psm_error.h b/psm_error.h +index f335382..cb1b4ba 100644 +--- a/psm_error.h ++++ b/psm_error.h +@@ -65,7 +65,7 @@ + #define PSMI_EP_NORETURN ((psm2_ep_t) -2) + #define PSMI_EP_LOGEVENT ((psm2_ep_t) -3) + +-psm2_ep_errhandler_t psmi_errhandler_global; ++extern psm2_ep_errhandler_t psmi_errhandler_global; + + psm2_error_t MOCKABLE(psmi_handle_error)(psm2_ep_t ep, psm2_error_t error, + const char *buf, ...) +diff --git a/psm_utils.h b/psm_utils.h +index 3358704..5c02a2f 100644 +--- a/psm_utils.h ++++ b/psm_utils.h +@@ -325,7 +325,7 @@ uint32_t psmi_get_hfi_type(const psmi_context_t *context); + /* + * Global model so we can tune defaults better for specific cpu's + */ +-uint32_t psmi_cpu_model; ++extern uint32_t psmi_cpu_model; + + /* + * Diagnostics, all in psm_diags.c +@@ -342,7 +342,7 @@ void psmi_multi_ep_init(); + * 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 e1bd064..1d0fec4 100644 +--- a/ptl_am/ptl_fwd.h ++++ b/ptl_am/ptl_fwd.h +@@ -57,7 +57,7 @@ + #define _PTL_FWD_AMSH_H + + /* Symbol in am ptl */ +-struct ptl_ctl_init psmi_ptl_amsh; ++extern struct ptl_ctl_init psmi_ptl_amsh; + + extern int psmi_shm_mq_rv_thresh; + +diff --git a/ptl_ips/ptl_fwd.h b/ptl_ips/ptl_fwd.h +index 3702fba..b774260 100644 +--- a/ptl_ips/ptl_fwd.h ++++ b/ptl_ips/ptl_fwd.h +@@ -61,7 +61,7 @@ typedef struct ips_epaddr ips_epaddr_t; + typedef struct ips_msgctl ips_msgctl_t; + + /* Symbol in ips ptl */ +-struct ptl_ctl_init psmi_ptl_ips; ++extern struct ptl_ctl_init psmi_ptl_ips; + +-struct ptl_ctl_rcvthread psmi_ptl_ips_rcvthread; ++extern struct ptl_ctl_rcvthread psmi_ptl_ips_rcvthread; + #endif /* _PTL_FWD_IPS_H */ +diff --git a/ptl_self/ptl_fwd.h b/ptl_self/ptl_fwd.h +index 77ee7f9..7ee6b73 100644 +--- a/ptl_self/ptl_fwd.h ++++ b/ptl_self/ptl_fwd.h +@@ -57,6 +57,6 @@ + #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 diff --git a/libpsm2.spec b/libpsm2.spec index 071b3f7..98c9d92 100644 --- a/libpsm2.spec +++ b/libpsm2.spec @@ -1,6 +1,6 @@ Name: libpsm2 Version: 10.3.58 -Release: 7 +Release: 8 Summary: Intel PSM Libraries License: BSD or GPLv2 URL: https://github.com/01org/opa-psm2/ @@ -9,6 +9,7 @@ Source0: https://github.com/intel/opa-psm2/archive/PSM2_10.3.58.tar.gz #extend fdesc array Patch0: 0000-extend-fdesc-array.patch Patch1: fix-stringop-truncation-build-error.patch +Patch2: Fix-opa-psm2-gcc10.patch ExclusiveArch: x86_64 BuildRequires: libuuid-devel numactl-devel gcc systemd-udev @@ -73,7 +74,10 @@ rm -f %{buildroot}%{_libdir}/*.a %{_sysconfdir}/modprobe.d/libpsm2-compat.conf %changelog -* Wed Jun 16 2021 wulei - 10.3.58-6 +* Mon Aug 02 2021 wangyong - 10.3.58-8 +- Fix build error caused by GCC upgrade to GCC-10 + +* Wed Jun 16 2021 wulei - 10.3.58-7 - Fix build error * Thu Jul 02 2020 senlin - 10.3.58-6 -- Gitee