Fix compile errors

This commit is contained in:
lizhenhua 2020-05-20 10:59:40 +08:00
parent 6351677127
commit 50af9e3603
3 changed files with 80 additions and 55 deletions

View File

@ -1,52 +0,0 @@
From d8f728febf1ca43a3fa06926f2a5290daa3048a8 Mon Sep 17 00:00:00 2001
From: lwx916518 <lizhenhua12@huawei.com>
Date: Tue, 19 May 2020 19:26:39 +0800
Subject: [PATCH] Add function operator= for class ParserCallback
---
ext_libs/muparser/muParserCallback.cpp | 16 ++++++++++++++++
ext_libs/muparser/muParserCallback.h | 1 +
2 files changed, 17 insertions(+)
diff --git a/ext_libs/muparser/muParserCallback.cpp b/ext_libs/muparser/muParserCallback.cpp
index 2044fe1..27c5b08 100755
--- a/ext_libs/muparser/muParserCallback.cpp
+++ b/ext_libs/muparser/muParserCallback.cpp
@@ -386,6 +386,22 @@ namespace mu
m_eOprtAsct = ref.m_eOprtAsct;
}
+ ParserCallback& ParserCallback::operator=(const ParserCallback& cb)
+ {
+ if (this != &cb)
+ {
+ m_pFun = cb.m_pFun;
+ m_iArgc = cb.m_iArgc;
+ m_bAllowOpti = cb.m_bAllowOpti;
+ m_iCode = cb.m_iCode;
+ m_iType = cb.m_iType;
+ m_iPri = cb.m_iPri;
+ m_eOprtAsct = cb.m_eOprtAsct;
+ }
+
+ return *this;
+ }
+
//---------------------------------------------------------------------------
/** \brief Clone this instance and return a pointer to the new instance. */
ParserCallback* ParserCallback::Clone() const
diff --git a/ext_libs/muparser/muParserCallback.h b/ext_libs/muparser/muParserCallback.h
index ef32b49..e8e274d 100755
--- a/ext_libs/muparser/muParserCallback.h
+++ b/ext_libs/muparser/muParserCallback.h
@@ -81,6 +81,7 @@ public:
ParserCallback(strfun_type3 a_pFun, bool a_bAllowOpti);
ParserCallback();
ParserCallback(const ParserCallback &a_Fun);
+ ParserCallback& operator=(const ParserCallback& cb);
ParserCallback* Clone() const;
--
2.23.0

View File

@ -0,0 +1,77 @@
From cb320df0e85dfc65ef605c8fcca0c16dd5c70420 Mon Sep 17 00:00:00 2001
From: lizhenhua <lizhenhua@sina.com>
Date: Wed, 20 May 2020 10:45:53 +0800
Subject: [PATCH] Fix compile errors
---
ext_libs/muparser/muParserCallback.cpp | 16 ++++++++++++++++
ext_libs/muparser/muParserCallback.h | 1 +
mlxfwops/lib/fw_ops.cpp | 6 +++---
3 files changed, 20 insertions(+), 3 deletions(-)
diff --git a/ext_libs/muparser/muParserCallback.cpp b/ext_libs/muparser/muParserCallback.cpp
index 2044fe1..27c5b08 100755
--- a/ext_libs/muparser/muParserCallback.cpp
+++ b/ext_libs/muparser/muParserCallback.cpp
@@ -386,6 +386,22 @@ namespace mu
m_eOprtAsct = ref.m_eOprtAsct;
}
+ ParserCallback& ParserCallback::operator=(const ParserCallback& cb)
+ {
+ if (this != &cb)
+ {
+ m_pFun = cb.m_pFun;
+ m_iArgc = cb.m_iArgc;
+ m_bAllowOpti = cb.m_bAllowOpti;
+ m_iCode = cb.m_iCode;
+ m_iType = cb.m_iType;
+ m_iPri = cb.m_iPri;
+ m_eOprtAsct = cb.m_eOprtAsct;
+ }
+
+ return *this;
+ }
+
//---------------------------------------------------------------------------
/** \brief Clone this instance and return a pointer to the new instance. */
ParserCallback* ParserCallback::Clone() const
diff --git a/ext_libs/muparser/muParserCallback.h b/ext_libs/muparser/muParserCallback.h
index ef32b49..e8e274d 100755
--- a/ext_libs/muparser/muParserCallback.h
+++ b/ext_libs/muparser/muParserCallback.h
@@ -81,6 +81,7 @@ public:
ParserCallback(strfun_type3 a_pFun, bool a_bAllowOpti);
ParserCallback();
ParserCallback(const ParserCallback &a_Fun);
+ ParserCallback& operator=(const ParserCallback& cb);
ParserCallback* Clone() const;
diff --git a/mlxfwops/lib/fw_ops.cpp b/mlxfwops/lib/fw_ops.cpp
index fc06c50..4d7bcdf 100644
--- a/mlxfwops/lib/fw_ops.cpp
+++ b/mlxfwops/lib/fw_ops.cpp
@@ -768,16 +768,16 @@ void FwOperations::BackUpFwParams(fw_ops_params_t& fwParams)
_fwParams.errBuff = (char*)NULL;
_fwParams.errBuffSize = 0;
_fwParams.fileHndl = (fwParams.hndlType == FHT_FW_FILE && fwParams.fileHndl) ? \
- strncpy((char*)(new char[(strlen(fwParams.fileHndl) + 1)]), fwParams.fileHndl, strlen(fwParams.fileHndl) + 1) : (char*)NULL;
+ (char*)memmove((new char[(strlen(fwParams.fileHndl) + 1)]), fwParams.fileHndl, strlen(fwParams.fileHndl) + 1) : (char*)NULL;
// no support for flash params
_fwParams.flashParams = (flash_params_t*)NULL;
_fwParams.forceLock = fwParams.forceLock;
_fwParams.ignoreCacheRep = fwParams.ignoreCacheRep;
_fwParams.mstHndl = (fwParams.hndlType == FHT_MST_DEV && fwParams.mstHndl) ? \
- strncpy((char*)(new char[(strlen(fwParams.mstHndl) + 1)]), fwParams.mstHndl, strlen(fwParams.mstHndl) + 1) : (char*)NULL;
+ (char*)memmove((new char[(strlen(fwParams.mstHndl) + 1)]), fwParams.mstHndl, strlen(fwParams.mstHndl) + 1) : (char*)NULL;
_fwParams.noFlashVerify = fwParams.noFlashVerify;
_fwParams.numOfBanks = fwParams.numOfBanks;
- _fwParams.psid = fwParams.psid ? strncpy((char*)(new char[(strlen(fwParams.psid) + 1)]), fwParams.psid, strlen(fwParams.psid) + 1) : (char*)NULL;
+ _fwParams.psid = fwParams.psid ? (char*)memmove((new char[(strlen(fwParams.psid) + 1)]), fwParams.psid, strlen(fwParams.psid) + 1) : (char*)NULL;
_fwParams.readOnly = fwParams.readOnly;
_fwParams.shortErrors = fwParams.shortErrors;
_fwParams.uefiExtra = fwParams.uefiExtra;
--
2.23.0

View File

@ -5,7 +5,7 @@ Release: 5
License: GPLv2+ or BSD
Url: https://github.com/Mellanox/mstflint
Source: https://github.com/Mellanox/%{name}/releases/download/v4.10.0-2/%{name}-%{version}.tar.gz
Patch0000: 0001-Add-function-operator-for-class-ParserCallback.patch
Patch0000: 0001-Fix-compile-errors.patch
BuildRequires: libstdc++-devel zlib-devel libibmad-devel gcc-c++ gcc
BuildRequires: libcurl-devel boost-devel libxml2-devel openssl-devel
@ -23,7 +23,7 @@ code. Please see the file LICENSE for licensing details.
%build
export CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
%configure --enable-fw-mgr
%configure --enable-fw-mgr --disable-inband
%make_build
%install
@ -44,7 +44,7 @@ export CFLAGS="$RPM_OPT_FLAGS" CXXFLAGS="$RPM_OPT_FLAGS"
%changelog
* Tue May 19 2020 lizhenhua <lizhenhua12@huawei.com> - 4.10.0-5
- Add function operator= for class ParserCallback
- Fix compile errors for gcc9
* Wed Dec 11 2019 catastrowings <jianghuhao1994@163.com> - 4.10.0-4
- openEuler init