Compare commits
10 Commits
72d6874da9
...
400a3e49b9
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
400a3e49b9 | ||
|
|
442a3ccb9d | ||
|
|
83d6fb652f | ||
|
|
f2b7b49009 | ||
|
|
086b6ebe7b | ||
|
|
e2a91b02e3 | ||
|
|
3041740f64 | ||
|
|
fc3538e54d | ||
|
|
5d1627fd9b | ||
|
|
8c22afa5ca |
731
0001-Fixes-issue-8-gcc-catch-by-value-and-implicit-fallth.patch
Normal file
731
0001-Fixes-issue-8-gcc-catch-by-value-and-implicit-fallth.patch
Normal file
@ -0,0 +1,731 @@
|
|||||||
|
From 7f10184f9c7c8fe179b802bde63e045222309768 Mon Sep 17 00:00:00 2001
|
||||||
|
From: kschopmeyer <k.schopmeyer@swbell.net>
|
||||||
|
Date: Thu, 15 Oct 2020 12:47:52 -0500
|
||||||
|
Subject: [PATCH] Fixes issue #8 - gcc catch by value and implicit fallthrough
|
||||||
|
warnings
|
||||||
|
|
||||||
|
This pr also fixes a number of other minor warning message issues
|
||||||
|
as documented below.
|
||||||
|
|
||||||
|
This pr corrects the majority of both of these warning types.
|
||||||
|
|
||||||
|
It also corrects an issue in CIMCLICommand with a type mismatch in
|
||||||
|
comparison
|
||||||
|
|
||||||
|
Update OSINFO.cpp sprintf max size specification
|
||||||
|
|
||||||
|
Removed XMLProcess.* throw specification
|
||||||
|
|
||||||
|
This is deprecated in C++11 and is to be removed in C++17 and shows up
|
||||||
|
as warning with gcc. The only goal was to limit the exceptions that
|
||||||
|
could be thrown by the entity for which it was included, not to throw a
|
||||||
|
specific exception.
|
||||||
|
|
||||||
|
This is no real reason for it in our code.
|
||||||
|
|
||||||
|
Modify catch parameter to make it a reference
|
||||||
|
|
||||||
|
Add bread to case statements to remove compiler warning
|
||||||
|
|
||||||
|
Make catch parameter a reference in TestListener.cpp
|
||||||
|
|
||||||
|
Make catch parameter reference in ReliableIndicationDisableEnable test
|
||||||
|
|
||||||
|
Increate sprintf buffer size in Process_Linux.cpp to remove warning
|
||||||
|
|
||||||
|
Make catch parameter reference in Indication test client
|
||||||
|
|
||||||
|
Add break; statemetn to InteropProvider.cpp
|
||||||
|
|
||||||
|
Add break; statement to CQLFunctionRep.cpp
|
||||||
|
|
||||||
|
Modify catch parameter to define as reference in CQLValue.cpp
|
||||||
|
|
||||||
|
Outdent lines in CIMOperationRequestDecoder.cpp that had warning
|
||||||
|
|
||||||
|
Add FALLTHROUGH comment to case in PUllErrors.cpp
|
||||||
|
|
||||||
|
Separate string and var by space to avoid warning in InternalException.cpp
|
||||||
|
|
||||||
|
reference: https://github.com/OpenPegasus/OpenPegasus/commit/7f10184f9c7c8fe179b802bde63e045222309768
|
||||||
|
---
|
||||||
|
src/Clients/cimcli/CIMCLICommand.cpp | 2 +-
|
||||||
|
src/Clients/cimcli/ObjectBuilder.cpp | 1 +
|
||||||
|
src/Clients/osinfo/OSInfo.cpp | 4 +-
|
||||||
|
src/Clients/wbemexec/XMLProcess.cpp | 2 -
|
||||||
|
src/Clients/wbemexec/XMLProcess.h | 4 +-
|
||||||
|
src/Pegasus/CQL/CQLCLI/CQLCLI.cpp | 5 +-
|
||||||
|
src/Pegasus/CQL/CQLFunctionRep.cpp | 3 +
|
||||||
|
.../Pegasus/CQL/tests/CQLValue/CQLValue.cpp | 3 +-
|
||||||
|
.../Client/CIMOperationRequestEncoder.cpp | 18 +++---
|
||||||
|
.../Client/tests/PullErrors/PullErrors.cpp | 59 +------------------
|
||||||
|
.../TestStaticClient/TestStaticClient.cpp | 2 +-
|
||||||
|
.../src/Pegasus/Common/CIMResponseData.cpp | 5 +-
|
||||||
|
.../src/Pegasus/Common/InternalException.cpp | 2 +-
|
||||||
|
src/Pegasus/Common/Logger.cpp | 4 ++
|
||||||
|
.../InteropProvider/InteropProvider.cpp | 1 +
|
||||||
|
.../tests/TestCIMQueryCap.cpp | 12 ++--
|
||||||
|
.../tests/TestDynListener/TestListener.cpp | 3 +-
|
||||||
|
src/Pegasus/FQL/FQLOperand.cpp | 2 +-
|
||||||
|
src/Pegasus/FQL/FQLOperand.h | 17 +++---
|
||||||
|
.../src/Pegasus/FQL/FQLQueryStatementRep.cpp | 9 ++-
|
||||||
|
.../ReliableIndicationDisableEnableTest.cpp | 28 ++++-----
|
||||||
|
.../ManagedSystem/Process/Process_Linux.cpp | 5 +-
|
||||||
|
.../testclient/IndicationStressTest.cpp | 2 +-
|
||||||
|
23 files changed, 72 insertions(+), 121 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/Clients/cimcli/CIMCLICommand.cpp b/src/Clients/cimcli/CIMCLICommand.cpp
|
||||||
|
index a7bdd48..64792d0 100644
|
||||||
|
--- a/src/Clients/cimcli/CIMCLICommand.cpp
|
||||||
|
+++ b/src/Clients/cimcli/CIMCLICommand.cpp
|
||||||
|
@@ -227,7 +227,7 @@ public:
|
||||||
|
// FUTURE - Should test against operation we are expecting
|
||||||
|
if (_localVerboseTest &&
|
||||||
|
((item.operationType <= 0) || item.operationType >
|
||||||
|
- CIM_ENUMERATION_COUNT_REQUEST_MESSAGE))
|
||||||
|
+ (CIMOperationType)CIM_ENUMERATION_COUNT_REQUEST_MESSAGE))
|
||||||
|
{
|
||||||
|
cerr << "Error:Operation type " << item.operationType
|
||||||
|
<< " out of expected range in ClientOpPerformanceData"
|
||||||
|
diff --git a/src/Clients/cimcli/ObjectBuilder.cpp b/src/Clients/cimcli/ObjectBuilder.cpp
|
||||||
|
index 7ad77f5..cab101b 100644
|
||||||
|
--- a/src/Clients/cimcli/ObjectBuilder.cpp
|
||||||
|
+++ b/src/Clients/cimcli/ObjectBuilder.cpp
|
||||||
|
@@ -1131,6 +1131,7 @@ void ObjectBuilder::scanInputList(CIMClient& client,
|
||||||
|
//#P 33
|
||||||
|
//#T PARSE_FAIL_ERR
|
||||||
|
//#S Parse Failed. Input Parameter \"{0}\".
|
||||||
|
+ break; // added to avoid compiler warning message
|
||||||
|
}
|
||||||
|
|
||||||
|
case UNKNOWN:
|
||||||
|
diff --git a/src/Clients/osinfo/OSInfo.cpp b/src/Clients/osinfo/OSInfo.cpp
|
||||||
|
index 28b5a70..88a046e 100644
|
||||||
|
--- a/src/Clients/osinfo/OSInfo.cpp
|
||||||
|
+++ b/src/Clients/osinfo/OSInfo.cpp
|
||||||
|
@@ -841,7 +841,7 @@ void OSInfoCommand::gatherProperties(CIMInstance &inst, Boolean cimFormat)
|
||||||
|
else if (propertyName.equal (CIMName ("SystemUpTime")))
|
||||||
|
{
|
||||||
|
Uint64 total;
|
||||||
|
- char uptime[80];
|
||||||
|
+ char uptime[160];
|
||||||
|
inst.getProperty(j).getValue().get(total);
|
||||||
|
|
||||||
|
if (!cimFormat)
|
||||||
|
@@ -872,7 +872,7 @@ void OSInfoCommand::gatherProperties(CIMInstance &inst, Boolean cimFormat)
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- sprintf(dayString, (days == 1 ?
|
||||||
|
+ sprintf(dayString, (days == 1 ?
|
||||||
|
"%" PEGASUS_64BIT_CONVERSION_WIDTH "u day," :
|
||||||
|
"%" PEGASUS_64BIT_CONVERSION_WIDTH "u days," ), days);
|
||||||
|
|
||||||
|
diff --git a/src/Clients/wbemexec/XMLProcess.cpp b/src/Clients/wbemexec/XMLProcess.cpp
|
||||||
|
index 1926130..3f6e31c 100644
|
||||||
|
--- a/src/Clients/wbemexec/XMLProcess.cpp
|
||||||
|
+++ b/src/Clients/wbemexec/XMLProcess.cpp
|
||||||
|
@@ -85,8 +85,6 @@ Buffer XMLProcess::encapsulate( XmlParser& parser,
|
||||||
|
Buffer& content,
|
||||||
|
Buffer& httpHeaders
|
||||||
|
)
|
||||||
|
-throw (XmlValidationError, XmlSemanticError, WbemExecException,
|
||||||
|
- XmlException, Exception)
|
||||||
|
{
|
||||||
|
XmlEntry entry;
|
||||||
|
Buffer message;
|
||||||
|
diff --git a/src/Clients/wbemexec/XMLProcess.h b/src/Clients/wbemexec/XMLProcess.h
|
||||||
|
index 497118d..e99bffc 100644
|
||||||
|
--- a/src/Clients/wbemexec/XMLProcess.h
|
||||||
|
+++ b/src/Clients/wbemexec/XMLProcess.h
|
||||||
|
@@ -96,9 +96,7 @@ public:
|
||||||
|
Boolean useMPost,
|
||||||
|
Boolean useHTTP11,
|
||||||
|
Buffer& content,
|
||||||
|
- Buffer& httpHeaders)
|
||||||
|
- throw (XmlValidationError, XmlSemanticError, WbemExecException,
|
||||||
|
- XmlException, Exception);
|
||||||
|
+ Buffer& httpHeaders);
|
||||||
|
};
|
||||||
|
|
||||||
|
PEGASUS_NAMESPACE_END
|
||||||
|
diff --git a/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp b/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
|
||||||
|
index 576ce7d..45d16ba 100644
|
||||||
|
--- a/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
|
||||||
|
+++ b/src/Pegasus/CQL/CQLCLI/CQLCLI.cpp
|
||||||
|
@@ -511,7 +511,7 @@ Boolean _evaluate(Array<CQLSelectStatement>& _statements,
|
||||||
|
else
|
||||||
|
cout << "FALSE" << endl;
|
||||||
|
}
|
||||||
|
- catch(Exception e)
|
||||||
|
+ catch(const Exception& e)
|
||||||
|
{
|
||||||
|
if (cqlcli_verbose)
|
||||||
|
cout << "ERROR! -- " << _statements[i].toString() << endl
|
||||||
|
@@ -1158,7 +1158,7 @@ int main(int argc, char ** argv)
|
||||||
|
_evaluate(_statements,_instances, testOption);
|
||||||
|
_normalize(_statements,_instances, testOption);
|
||||||
|
}
|
||||||
|
- catch(Exception e)
|
||||||
|
+ catch(const Exception& e)
|
||||||
|
{
|
||||||
|
cout << getStatementString(e.getMessage()) << endl;
|
||||||
|
}
|
||||||
|
@@ -1177,4 +1177,3 @@ int main(int argc, char ** argv)
|
||||||
|
//
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
diff --git a/src/Pegasus/CQL/CQLFunctionRep.cpp b/src/Pegasus/CQL/CQLFunctionRep.cpp
|
||||||
|
index e89aa2e..a8a13e6 100644
|
||||||
|
--- a/src/Pegasus/CQL/CQLFunctionRep.cpp
|
||||||
|
+++ b/src/Pegasus/CQL/CQLFunctionRep.cpp
|
||||||
|
@@ -304,7 +304,10 @@ String CQLFunctionRep::functionTypeToString() const
|
||||||
|
break;
|
||||||
|
case UNKNOWN:
|
||||||
|
returnStr.append("UNKNOWN");
|
||||||
|
+ break;
|
||||||
|
default:
|
||||||
|
+ /* TODO/ks/15Oct20: This and the above append UNKNOWN. Should this
|
||||||
|
+ append something else to avoid confusion. */
|
||||||
|
returnStr.append("UNKNOWN");
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp b/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
|
||||||
|
index a27735c..781cb21 100644
|
||||||
|
--- a/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
|
||||||
|
+++ b/src/Pegasus/CQL/tests/CQLValue/CQLValue.cpp
|
||||||
|
@@ -651,11 +651,10 @@ int main( int argc, char *argv[] ){
|
||||||
|
cout << argv[0] << " " << argv[1] << " +++++ passed all tests" << endl;
|
||||||
|
|
||||||
|
}
|
||||||
|
- catch(Exception e)
|
||||||
|
+ catch(const Exception& e)
|
||||||
|
{
|
||||||
|
cout << e.getMessage() << endl;
|
||||||
|
PEGASUS_TEST_ASSERT(0);
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
diff --git a/src/Pegasus/Client/CIMOperationRequestEncoder.cpp b/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
|
||||||
|
index 726940d..f58735e 100644
|
||||||
|
--- a/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
|
||||||
|
+++ b/src/Pegasus/Client/CIMOperationRequestEncoder.cpp
|
||||||
|
@@ -533,15 +533,15 @@ void CIMOperationRequestEncoder::_encodeGetInstanceRequest(
|
||||||
|
XmlWriter::appendPropertyListIParameter(
|
||||||
|
params, message->propertyList);
|
||||||
|
|
||||||
|
- Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
|
||||||
|
- message->nameSpace, CIMName ("GetInstance"), message->messageId,
|
||||||
|
- message->getHttpMethod(),
|
||||||
|
- _authenticator->buildRequestAuthHeader(),
|
||||||
|
- ((AcceptLanguageListContainer)message->operationContext.get(
|
||||||
|
- AcceptLanguageListContainer::NAME)).getLanguages(),
|
||||||
|
- ((ContentLanguageListContainer)message->operationContext.get(
|
||||||
|
- ContentLanguageListContainer::NAME)).getLanguages(),
|
||||||
|
- params, _binaryResponse);
|
||||||
|
+ Buffer buffer = XmlWriter::formatSimpleIMethodReqMessage(_hostName,
|
||||||
|
+ message->nameSpace, CIMName ("GetInstance"), message->messageId,
|
||||||
|
+ message->getHttpMethod(),
|
||||||
|
+ _authenticator->buildRequestAuthHeader(),
|
||||||
|
+ ((AcceptLanguageListContainer)message->operationContext.get(
|
||||||
|
+ AcceptLanguageListContainer::NAME)).getLanguages(),
|
||||||
|
+ ((ContentLanguageListContainer)message->operationContext.get(
|
||||||
|
+ ContentLanguageListContainer::NAME)).getLanguages(),
|
||||||
|
+ params, _binaryResponse);
|
||||||
|
|
||||||
|
_sendRequest(buffer);
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp b/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
|
||||||
|
index 7743dda..4318b7e 100644
|
||||||
|
--- a/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
|
||||||
|
+++ b/src/Pegasus/Client/tests/PullErrors/PullErrors.cpp
|
||||||
|
@@ -102,7 +102,7 @@ static Boolean verbose;
|
||||||
|
* [-charSet] set matches a literal hypen and any character in the set
|
||||||
|
* []charSet] match a literal close bracket and any character in the set
|
||||||
|
*
|
||||||
|
- * char match itself except where char is '*' or '?' or '['
|
||||||
|
+ * char match itself except where char is '*', '?', '[', or '\'
|
||||||
|
* \char match char, including any pattern character
|
||||||
|
*
|
||||||
|
* examples:
|
||||||
|
@@ -261,6 +261,8 @@ bool _globMatch(const char* pattern, const char* str)
|
||||||
|
{
|
||||||
|
patChar = *pattern++;
|
||||||
|
}
|
||||||
|
+ // TODO'ks'15Oct20: validate this fallthrough with test
|
||||||
|
+ /*FALLTHROUGH*/
|
||||||
|
// default, test current character
|
||||||
|
default:
|
||||||
|
if (patChar != *str)
|
||||||
|
@@ -279,61 +281,6 @@ static int _globMatch(const String& pattern, const String& str)
|
||||||
|
return _globMatch(pattern.getCString(), str.getCString());
|
||||||
|
}
|
||||||
|
|
||||||
|
-////// Original match. However, this one appears to have problems
|
||||||
|
-////static int _match(const char* pattern, const char* str)
|
||||||
|
-////{
|
||||||
|
-//// const char* p;
|
||||||
|
-//// const char* q;
|
||||||
|
-////
|
||||||
|
-//// /* Now match expression to str. */
|
||||||
|
-////
|
||||||
|
-//// for (p = pattern, q = str; *p && *q; )
|
||||||
|
-//// {
|
||||||
|
-//// if (*p == '*')
|
||||||
|
-//// {
|
||||||
|
-//// const char* r;
|
||||||
|
-////
|
||||||
|
-//// p++;
|
||||||
|
-////
|
||||||
|
-//// /* Recursively call to find the shortest match. */
|
||||||
|
-////
|
||||||
|
-//// for (r = q; *r; r++)
|
||||||
|
-//// {
|
||||||
|
-//// if (_match(p, r) == 0)
|
||||||
|
-//// break;
|
||||||
|
-//// }
|
||||||
|
-////
|
||||||
|
-//// q = r;
|
||||||
|
-////
|
||||||
|
-//// }
|
||||||
|
-//// else if (*p == *q)
|
||||||
|
-//// {
|
||||||
|
-//// p++;
|
||||||
|
-//// q++;
|
||||||
|
-//// }
|
||||||
|
-//// else
|
||||||
|
-//// return -1;
|
||||||
|
-//// }
|
||||||
|
-////
|
||||||
|
-//// /* If src was exhausted but pattern has a single '*'remaining charcters,
|
||||||
|
-//// * then match the result.
|
||||||
|
-//// */
|
||||||
|
-////
|
||||||
|
-//// if (p[0] == '*' && p[1] == '\0')
|
||||||
|
-//// return 0;
|
||||||
|
-////
|
||||||
|
-//// /* If anything left over, then they do not match. */
|
||||||
|
-////
|
||||||
|
-//// if (*p || *q)
|
||||||
|
-//// return -1;
|
||||||
|
-////
|
||||||
|
-//// return 0;
|
||||||
|
-////}
|
||||||
|
-////
|
||||||
|
-////static int _Match(const String& pattern, const String& str)
|
||||||
|
-////{
|
||||||
|
-//// return _match(pattern.getCString(), str.getCString());
|
||||||
|
-////}
|
||||||
|
|
||||||
|
/***************************************************************************
|
||||||
|
Class to test all of the different operations with various
|
||||||
|
diff --git a/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp b/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
|
||||||
|
index f3bbb2f..146f010 100644
|
||||||
|
--- a/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
|
||||||
|
+++ b/src/Pegasus/Client/tests/TestStaticClient/TestStaticClient.cpp
|
||||||
|
@@ -83,7 +83,7 @@ int main()
|
||||||
|
{
|
||||||
|
cout << "\n+++++ passed all tests" << endl;
|
||||||
|
}
|
||||||
|
- catch(Exception)
|
||||||
|
+ catch(Exception&)
|
||||||
|
{
|
||||||
|
cout << "\n----- Test Static Client Failed" << endl;
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/Common/CIMResponseData.cpp b/src/Pegasus/Common/CIMResponseData.cpp
|
||||||
|
index 88bdd13..18451f2 100644
|
||||||
|
--- a/src/Pegasus/Common/CIMResponseData.cpp
|
||||||
|
+++ b/src/Pegasus/Common/CIMResponseData.cpp
|
||||||
|
@@ -979,7 +979,7 @@ void CIMResponseData::completeHostNameAndNamespace(
|
||||||
|
{
|
||||||
|
// Instances added to account for namedInstance in Pull operations.
|
||||||
|
case RESP_INSTANCES:
|
||||||
|
-
|
||||||
|
+ {
|
||||||
|
for (Uint32 j = 0, n = _instances.size(); j < n; j++)
|
||||||
|
{
|
||||||
|
const CIMInstance& instance = _instances[j];
|
||||||
|
@@ -994,6 +994,9 @@ void CIMResponseData::completeHostNameAndNamespace(
|
||||||
|
p.setNameSpace(ns);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+ }
|
||||||
|
+ break;
|
||||||
|
+
|
||||||
|
case RESP_OBJECTS:
|
||||||
|
{
|
||||||
|
for (Uint32 j = 0, n = _objects.size(); j < n; j++)
|
||||||
|
diff --git a/src/Pegasus/Common/InternalException.cpp b/src/Pegasus/Common/InternalException.cpp
|
||||||
|
index 2e85b90..dfd6aaa 100644
|
||||||
|
--- a/src/Pegasus/Common/InternalException.cpp
|
||||||
|
+++ b/src/Pegasus/Common/InternalException.cpp
|
||||||
|
@@ -982,7 +982,7 @@ SocketWriteError::~SocketWriteError()
|
||||||
|
// PEGASUS_MAXELEMENTS_NUM HTTP header fields in a single HTTP message
|
||||||
|
//==============================================================================
|
||||||
|
TooManyHTTPHeadersException::TooManyHTTPHeadersException()
|
||||||
|
- : Exception("more than "PEGASUS_MAXELEMENTS
|
||||||
|
+ : Exception("more than " PEGASUS_MAXELEMENTS
|
||||||
|
" header fields detected in HTTP message")
|
||||||
|
{
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/Common/Logger.cpp b/src/Pegasus/Common/Logger.cpp
|
||||||
|
index 7019a62..2de25fc 100644
|
||||||
|
--- a/src/Pegasus/Common/Logger.cpp
|
||||||
|
+++ b/src/Pegasus/Common/Logger.cpp
|
||||||
|
@@ -500,12 +500,16 @@ void Logger::setlogLevelMask( const String &logLevelList )
|
||||||
|
{
|
||||||
|
case Logger::TRACE:
|
||||||
|
_severityMask |= Logger::TRACE;
|
||||||
|
+ /* FALLTHROUGH */
|
||||||
|
case Logger::INFORMATION:
|
||||||
|
_severityMask |= Logger::INFORMATION;
|
||||||
|
+ /* FALLTHROUGH */
|
||||||
|
case Logger::WARNING:
|
||||||
|
_severityMask |= Logger::WARNING;
|
||||||
|
+ /* FALLTHROUGH */
|
||||||
|
case Logger::SEVERE:
|
||||||
|
_severityMask |= Logger::SEVERE;
|
||||||
|
+ /* FALLTHROUGH */
|
||||||
|
case Logger::FATAL:
|
||||||
|
_severityMask |= Logger::FATAL;
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp b/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
|
||||||
|
index 14939eb..d41bae8 100644
|
||||||
|
--- a/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
|
||||||
|
+++ b/src/Pegasus/ControlProviders/InteropProvider/InteropProvider.cpp
|
||||||
|
@@ -804,6 +804,7 @@ bool InteropProvider::validAssocClassForObject(
|
||||||
|
expectedTargetRole = PROPERTY_ANTECEDENT;
|
||||||
|
expectedOriginRole = PROPERTY_DEPENDENT;
|
||||||
|
}
|
||||||
|
+ break;
|
||||||
|
case PG_HOSTEDOBJECTMANAGER:
|
||||||
|
if(originClassEnum == PG_COMPUTERSYSTEM)
|
||||||
|
{
|
||||||
|
diff --git a/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp b/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
|
||||||
|
index 08579f9..3359026 100644
|
||||||
|
--- a/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
|
||||||
|
+++ b/src/Pegasus/ControlProviders/QueryCapabilitiesProvider/tests/TestCIMQueryCap.cpp
|
||||||
|
@@ -195,7 +195,7 @@ void testCreateInstance(CIMClient& client, const char* ns)
|
||||||
|
{
|
||||||
|
path = client.createInstance(ns, instances[0]);
|
||||||
|
}
|
||||||
|
- catch(Exception)
|
||||||
|
+ catch(const Exception&)
|
||||||
|
{
|
||||||
|
// Do nothing. This is expected since createInstance is NOT
|
||||||
|
// supported.
|
||||||
|
@@ -216,7 +216,7 @@ void testDeleteInstance(CIMClient& client, const char* ns)
|
||||||
|
{
|
||||||
|
client.deleteInstance(ns, instances[0].getPath());
|
||||||
|
}
|
||||||
|
- catch(Exception)
|
||||||
|
+ catch(const Exception&)
|
||||||
|
{
|
||||||
|
// Do nothing. This is expected since deleteInstance is NOT
|
||||||
|
// supported.
|
||||||
|
@@ -246,7 +246,7 @@ void testModifyInstance(CIMClient& client, const char* ns)
|
||||||
|
{
|
||||||
|
client.modifyInstance(ns, instances[0]);
|
||||||
|
}
|
||||||
|
- catch(Exception)
|
||||||
|
+ catch(const Exception&)
|
||||||
|
{
|
||||||
|
// Do nothing. This is expected since modifyInstance is NOT
|
||||||
|
// supported.
|
||||||
|
@@ -268,7 +268,7 @@ int main(int, char** argv)
|
||||||
|
{
|
||||||
|
client.connectLocal();
|
||||||
|
}
|
||||||
|
- catch (Exception& e)
|
||||||
|
+ catch (const Exception& e)
|
||||||
|
{
|
||||||
|
cerr << "Error: " << e.getMessage() << endl;
|
||||||
|
cerr << "Exception occured while trying to connect to the server."
|
||||||
|
@@ -304,7 +304,7 @@ int main(int, char** argv)
|
||||||
|
testModifyInstance(client, NAMESPACE_CIMV2);
|
||||||
|
testModifyInstance(client, NAMESPACE_SAMPLEPROVIDER);
|
||||||
|
}
|
||||||
|
- catch(Exception& e)
|
||||||
|
+ catch(const Exception& e)
|
||||||
|
{
|
||||||
|
cerr << argv[0] << ": Exception Occcured. " << e.getMessage() << endl;
|
||||||
|
cerr << argv[0] << ": " << testCaseName << " Failed. " << endl;
|
||||||
|
@@ -314,5 +314,3 @@ int main(int, char** argv)
|
||||||
|
cout << argv[0] << " +++++ passed all tests" << endl;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
diff --git a/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp b/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
|
||||||
|
index 8f420ba..6f44aeb 100644
|
||||||
|
--- a/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
|
||||||
|
+++ b/src/Pegasus/DynListener/tests/TestDynListener/TestListener.cpp
|
||||||
|
@@ -258,7 +258,7 @@ int main()
|
||||||
|
printf("CIMException %s\n",
|
||||||
|
(const char*)ce.getMessage().getCString());
|
||||||
|
}
|
||||||
|
- catch (Exception e)
|
||||||
|
+ catch (const Exception& e)
|
||||||
|
{
|
||||||
|
printf("Exception %s\n",
|
||||||
|
(const char*)e.getMessage().getCString());
|
||||||
|
@@ -266,4 +266,3 @@ int main()
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
diff --git a/src/Pegasus/FQL/FQLOperand.cpp b/src/Pegasus/FQL/FQLOperand.cpp
|
||||||
|
index 6ed7be2..ada5a88 100644
|
||||||
|
--- a/src/Pegasus/FQL/FQLOperand.cpp
|
||||||
|
+++ b/src/Pegasus/FQL/FQLOperand.cpp
|
||||||
|
@@ -287,7 +287,7 @@ Boolean FQLOperand::getIndexedValue(const FQLOperand& fromOp, Uint32 index)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- catch (IndexOutOfBoundsException)
|
||||||
|
+ catch (const IndexOutOfBoundsException&)
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
diff --git a/src/Pegasus/FQL/FQLOperand.h b/src/Pegasus/FQL/FQLOperand.h
|
||||||
|
index ce06aea..7a3bd52 100644
|
||||||
|
--- a/src/Pegasus/FQL/FQLOperand.h
|
||||||
|
+++ b/src/Pegasus/FQL/FQLOperand.h
|
||||||
|
@@ -258,7 +258,7 @@ public:
|
||||||
|
{
|
||||||
|
_dateTimeValue.set(x);
|
||||||
|
}
|
||||||
|
- catch (InvalidDateTimeFormatException)
|
||||||
|
+ catch (const InvalidDateTimeFormatException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -284,7 +284,7 @@ public:
|
||||||
|
_arrayDateTimeValue.append(y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- catch (InvalidDateTimeFormatException)
|
||||||
|
+ catch (const InvalidDateTimeFormatException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -309,7 +309,7 @@ public:
|
||||||
|
{
|
||||||
|
_referenceValue = CIMObjectPath(x);
|
||||||
|
}
|
||||||
|
- catch (MalformedObjectNameException)
|
||||||
|
+ catch (const MalformedObjectNameException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -344,7 +344,7 @@ public:
|
||||||
|
_arrayReferenceValue.append(y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- catch (MalformedObjectNameException)
|
||||||
|
+ catch (const MalformedObjectNameException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -582,7 +582,7 @@ public:
|
||||||
|
{
|
||||||
|
return CIMDateTime(_stringValue);
|
||||||
|
}
|
||||||
|
- catch (InvalidDateTimeFormatException)
|
||||||
|
+ catch (const InvalidDateTimeFormatException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -603,7 +603,7 @@ public:
|
||||||
|
{
|
||||||
|
return CIMObjectPath(String(_stringValue));
|
||||||
|
}
|
||||||
|
- catch (...)
|
||||||
|
+ catch (const Exception&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -633,7 +633,7 @@ public:
|
||||||
|
rtn.append(CIMDateTime(_arrayStringValue[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- catch (InvalidDateTimeFormatException)
|
||||||
|
+ catch (const InvalidDateTimeFormatException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -667,7 +667,7 @@ public:
|
||||||
|
rtn.append(CIMObjectPath(_arrayStringValue[i]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
- catch (MalformedObjectNameException)
|
||||||
|
+ catch (const MalformedObjectNameException&)
|
||||||
|
{
|
||||||
|
throw TypeMismatchException();
|
||||||
|
}
|
||||||
|
@@ -940,4 +940,3 @@ private:
|
||||||
|
PEGASUS_NAMESPACE_END
|
||||||
|
|
||||||
|
#endif /* Pegasus_FQLOperand_h */
|
||||||
|
-
|
||||||
|
diff --git a/src/Pegasus/FQL/FQLQueryStatementRep.cpp b/src/Pegasus/FQL/FQLQueryStatementRep.cpp
|
||||||
|
index b02c8f3..a18f94d 100644
|
||||||
|
--- a/src/Pegasus/FQL/FQLQueryStatementRep.cpp
|
||||||
|
+++ b/src/Pegasus/FQL/FQLQueryStatementRep.cpp
|
||||||
|
@@ -408,6 +408,7 @@ static Boolean _Evaluate(
|
||||||
|
op);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
// In this case, the right hand might still be String and we
|
||||||
|
// must convert
|
||||||
|
case FQLOperand::REFERENCE_VALUE:
|
||||||
|
@@ -427,6 +428,7 @@ static Boolean _Evaluate(
|
||||||
|
op);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
+
|
||||||
|
case FQLOperand::PROPERTY_NAME:
|
||||||
|
PEGASUS_ASSERT(0);
|
||||||
|
}
|
||||||
|
@@ -434,7 +436,7 @@ static Boolean _Evaluate(
|
||||||
|
}
|
||||||
|
|
||||||
|
// Catch the specific IndexOutOf range set by FQLOperand.h
|
||||||
|
- catch (IndexOutOfBoundsException)
|
||||||
|
+ catch (const IndexOutOfBoundsException&)
|
||||||
|
{
|
||||||
|
#ifdef FQL_DOTRACE
|
||||||
|
DCOUT << "Caught index out of Bounds Exception" << endl;
|
||||||
|
@@ -739,6 +741,8 @@ Boolean FQLQueryStatementRep::evaluateQuery(
|
||||||
|
// All operations allowed
|
||||||
|
allComparesAllowed = true;
|
||||||
|
}
|
||||||
|
+ // fall through
|
||||||
|
+ /* FALLTHRU */
|
||||||
|
case FQL_LT:
|
||||||
|
case FQL_LE:
|
||||||
|
case FQL_GT:
|
||||||
|
@@ -832,7 +836,8 @@ Boolean FQLQueryStatementRep::evaluateQuery(
|
||||||
|
case FQL_NOT_ANY:
|
||||||
|
case FQL_NOT_EVERY:
|
||||||
|
isNotType = true;
|
||||||
|
-
|
||||||
|
+ // fall through
|
||||||
|
+ /* FALLTHRU */
|
||||||
|
case FQL_EVERY:
|
||||||
|
case FQL_ANY:
|
||||||
|
{
|
||||||
|
diff --git a/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp b/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
|
||||||
|
index 5d460e0..5820e4c 100644
|
||||||
|
--- a/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
|
||||||
|
+++ b/src/Pegasus/HandlerService/tests/ReliableIndicationDisableEnable/ReliableIndicationDisableEnableTest.cpp
|
||||||
|
@@ -156,7 +156,7 @@ void MyIndicationConsumer::consumeIndication(
|
||||||
|
<< receivedIndicationCount.get()
|
||||||
|
<< " of " << indicationSendCountTotal << endl;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
//
|
||||||
|
// Get the date and time from the indication
|
||||||
|
// Compare it to the current date
|
||||||
|
@@ -939,7 +939,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL _executeTests(void *parm)
|
||||||
|
elapsedTime.stop();
|
||||||
|
_testEnd(uniqueID, elapsedTime.getElapsed());
|
||||||
|
}
|
||||||
|
- catch(Exception e)
|
||||||
|
+ catch(Exception& e)
|
||||||
|
{
|
||||||
|
cout << e.getMessage() << endl;
|
||||||
|
}
|
||||||
|
@@ -1055,15 +1055,15 @@ int _beginTest(CIMClient& workClient, const char* opt,
|
||||||
|
if (monitorClientResidentListener)
|
||||||
|
{
|
||||||
|
// Add our consumer
|
||||||
|
- // CIMListener will be not started yet
|
||||||
|
- // It will be started after sending indication
|
||||||
|
+ // CIMListener will be not started yet
|
||||||
|
+ // It will be started after sending indication
|
||||||
|
// so that a temporary indication delivery failure
|
||||||
|
- // will occur and after then CIMListener
|
||||||
|
- // will be started so that for reliable indication
|
||||||
|
- // enable, indication will be delivered after few retry
|
||||||
|
- // and for reliable indication disable,indication will be
|
||||||
|
- // not delivered.
|
||||||
|
-
|
||||||
|
+ // will occur and after then CIMListener
|
||||||
|
+ // will be started so that for reliable indication
|
||||||
|
+ // enable, indication will be delivered after few retry
|
||||||
|
+ // and for reliable indication disable,indication will be
|
||||||
|
+ // not delivered.
|
||||||
|
+
|
||||||
|
listener.addConsumer(consumer1);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -1185,11 +1185,11 @@ int _beginTest(CIMClient& workClient, const char* opt,
|
||||||
|
throw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
-
|
||||||
|
+
|
||||||
|
while (noChangeIterations <= MAX_NO_CHANGE_ITERATIONS)
|
||||||
|
{
|
||||||
|
totalIterations++;
|
||||||
|
-
|
||||||
|
+
|
||||||
|
System::sleep (SLEEP_SEC);
|
||||||
|
|
||||||
|
if (monitorClientResidentListener)
|
||||||
|
@@ -1291,12 +1291,12 @@ int _beginTest(CIMClient& workClient, const char* opt,
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
- cout << " Indications Sent and Received Not Matched " << endl
|
||||||
|
+ cout << " Indications Sent and Received Not Matched " << endl
|
||||||
|
<< endl;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
-
|
||||||
|
+
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
diff --git a/src/Providers/ManagedSystem/Process/Process_Linux.cpp b/src/Providers/ManagedSystem/Process/Process_Linux.cpp
|
||||||
|
index 572d9f8..dd72620 100644
|
||||||
|
--- a/src/Providers/ManagedSystem/Process/Process_Linux.cpp
|
||||||
|
+++ b/src/Providers/ManagedSystem/Process/Process_Linux.cpp
|
||||||
|
@@ -1114,7 +1114,7 @@ Boolean get_proc(peg_proc_t* P, int &pIndex , Boolean find_by_pid)
|
||||||
|
{
|
||||||
|
static struct dirent *dir;
|
||||||
|
static struct stat stat_buff;
|
||||||
|
- static char path[32];
|
||||||
|
+ static char path[512];
|
||||||
|
static char buffer[512];
|
||||||
|
DIR* procDir;
|
||||||
|
int count;
|
||||||
|
@@ -1233,6 +1233,3 @@ void doPercentCPU(char *inputFileString, peg_proc_t *P)
|
||||||
|
}
|
||||||
|
else P->pst_pctcpu = 0;
|
||||||
|
}
|
||||||
|
-
|
||||||
|
-
|
||||||
|
-
|
||||||
|
diff --git a/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp b/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
|
||||||
|
index 50f585c..a7be349 100644
|
||||||
|
--- a/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
|
||||||
|
+++ b/src/Providers/TestProviders/IndicationStressTestProvider/testclient/IndicationStressTest.cpp
|
||||||
|
@@ -1036,7 +1036,7 @@ ThreadReturnType PEGASUS_THREAD_CDECL _executeTests(void *parm)
|
||||||
|
elapsedTime.stop();
|
||||||
|
_testEnd(uniqueID, elapsedTime.getElapsed());
|
||||||
|
}
|
||||||
|
- catch(Exception e)
|
||||||
|
+ catch(const Exception & e)
|
||||||
|
{
|
||||||
|
cout << e.getMessage() << endl;
|
||||||
|
}
|
||||||
|
--
|
||||||
|
2.39.1
|
||||||
|
|
||||||
184
add-loongarch64-support.patch
Normal file
184
add-loongarch64-support.patch
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
From 7be88f8e1201deac5cbf489730a7700b71869de6 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Jingyun Hua <huajingyun@loongson.cn>
|
||||||
|
Date: Thu, 8 Dec 2022 07:41:58 +0000
|
||||||
|
Subject: [PATCH] add loongarch64 support
|
||||||
|
|
||||||
|
Signed-off-by: Jingyun Hua <huajingyun@loongson.cn>
|
||||||
|
---
|
||||||
|
mak/platform_LINUX_LOONGARCH64_GNU.mak | 34 ++++++
|
||||||
|
src/Pegasus/Common/Config.h | 2 +
|
||||||
|
.../Common/Platform_LINUX_LOONGARCH64_GNU.h | 108 ++++++++++++++++++
|
||||||
|
3 files changed, 144 insertions(+)
|
||||||
|
create mode 100644 mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||||
|
create mode 100644 src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||||
|
|
||||||
|
diff --git a/mak/platform_LINUX_LOONGARCH64_GNU.mak b/mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b3a2652
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/mak/platform_LINUX_LOONGARCH64_GNU.mak
|
||||||
|
@@ -0,0 +1,34 @@
|
||||||
|
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+#//
|
||||||
|
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+#// this work for additional information regarding copyright ownership.
|
||||||
|
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+#// Source License; you may not use this file except in compliance with the
|
||||||
|
+#// License.
|
||||||
|
+#//
|
||||||
|
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+#// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+#// to deal in the Software without restriction, including without limitation
|
||||||
|
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+#// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+#//
|
||||||
|
+#// The above copyright notice and this permission notice shall be included
|
||||||
|
+#// in all copies or substantial portions of the Software.
|
||||||
|
+#//
|
||||||
|
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+#//
|
||||||
|
+#//////////////////////////////////////////////////////////////////////////
|
||||||
|
+# Platform Configuration for Linux on LOONGARCH64
|
||||||
|
+# If you have generic Linux config options, please place them in config-linux.mak
|
||||||
|
+
|
||||||
|
+include $(ROOT)/mak/config-linux.mak
|
||||||
|
+
|
||||||
|
+ARCHITECTURE = LOONGARCH64
|
||||||
|
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
|
||||||
|
index a28b58b..afe1224 100644
|
||||||
|
--- a/src/Pegasus/Common/Config.h
|
||||||
|
+++ b/src/Pegasus/Common/Config.h
|
||||||
|
@@ -98,6 +98,8 @@
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_XSCALE_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_AARCH64_GNU)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
|
||||||
|
+#elif defined (PEGASUS_PLATFORM_LINUX_LOONGARCH64_GNU)
|
||||||
|
+# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
|
||||||
|
diff --git a/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..8d0bafc
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h
|
||||||
|
@@ -0,0 +1,108 @@
|
||||||
|
+//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+// this work for additional information regarding copyright ownership.
|
||||||
|
+// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+// Source License; you may not use this file except in compliance with the
|
||||||
|
+// License.
|
||||||
|
+//
|
||||||
|
+// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+// to deal in the Software without restriction, including without limitation
|
||||||
|
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+//
|
||||||
|
+// The above copyright notice and this permission notice shall be included
|
||||||
|
+// in all copies or substantial portions of the Software.
|
||||||
|
+//
|
||||||
|
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+//
|
||||||
|
+//////////////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+//%/////////////////////////////////////////////////////////////////////////////
|
||||||
|
+
|
||||||
|
+/*****************************************************************************
|
||||||
|
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
|
||||||
|
+ are intended to normalize platform/compiler differences so that Pegasus code
|
||||||
|
+ can be written to work on all platforms without requiring platform ifdefs.
|
||||||
|
+ Since these files are part of the Pegasus SDK, their contents should be
|
||||||
|
+ the minimum that achieves the stated purpose.
|
||||||
|
+
|
||||||
|
+ Examples of differences that are normalized here are support for C++
|
||||||
|
+ namespaces, 64-bit integer type, support for C++ template specialization.
|
||||||
|
+
|
||||||
|
+ Examples of things that are not appropriate in these files are the enablement
|
||||||
|
+ of Pegasus features for a specific platform and other build configuration.
|
||||||
|
+******************************************************************************/
|
||||||
|
+
|
||||||
|
+#ifndef Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
|
||||||
|
+#define Pegasus_Platform_LINUX_LOONGARCH64_GNU_h
|
||||||
|
+
|
||||||
|
+#include <stddef.h>
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_TYPE_UNIX
|
||||||
|
+
|
||||||
|
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_LINUX
|
||||||
|
+
|
||||||
|
+#define PEGASUS_POINTER_64BIT
|
||||||
|
+
|
||||||
|
+#define PEGASUS_COMPILER_GNU
|
||||||
|
+
|
||||||
|
+#define PEGASUS_UINT64 unsigned long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_SINT64 long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NAMESPACES
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_FOR_SCOPE
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
|
||||||
|
+
|
||||||
|
+#ifndef _GNU_SOURCE
|
||||||
|
+#define _GNU_SOURCE
|
||||||
|
+#endif
|
||||||
|
+#ifndef _REENTRANT
|
||||||
|
+#define _REENTRANT
|
||||||
|
+#endif
|
||||||
|
+#define _THREAD_SAFE
|
||||||
|
+#include <features.h>
|
||||||
|
+#include <stdio.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
|
||||||
|
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
|
||||||
|
+
|
||||||
|
+#if (__GNUC__ >= 4)
|
||||||
|
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_PTHREADS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NANOSLEEP
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAS_SIGNALS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
|
||||||
|
+
|
||||||
|
+/* getifaddrs() avilable in gcc version >= 3.4 */
|
||||||
|
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
|
||||||
|
+# define PEGASUS_HAS_GETIFADDRS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* use POSIX read-write locks on this platform */
|
||||||
|
+#define PEGASUS_USE_POSIX_RWLOCK
|
||||||
|
+
|
||||||
|
+#endif /* Pegasus_Platform_LINUX_LOONGARCH64_GNU_h */
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
184
add-riscv64-support.patch
Normal file
184
add-riscv64-support.patch
Normal file
@ -0,0 +1,184 @@
|
|||||||
|
From 72c24c5bd151177f1da5e54c1e9950f4bcc3e5b2 Mon Sep 17 00:00:00 2001
|
||||||
|
From: misaka00251 <liuxin@iscas.ac.cn>
|
||||||
|
Date: Fri, 28 Jul 2023 12:36:55 +0800
|
||||||
|
Subject: [PATCH] Add riscv64 support
|
||||||
|
|
||||||
|
---
|
||||||
|
mak/platform_LINUX_RISCV64_GNU.mak | 36 ++++++
|
||||||
|
src/Pegasus/Common/Config.h | 2 +
|
||||||
|
.../Common/Platform_LINUX_RISCV64_GNU.h | 108 ++++++++++++++++++
|
||||||
|
3 files changed, 146 insertions(+)
|
||||||
|
create mode 100644 mak/platform_LINUX_RISCV64_GNU.mak
|
||||||
|
create mode 100644 src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
|
||||||
|
|
||||||
|
diff --git a/mak/platform_LINUX_RISCV64_GNU.mak b/mak/platform_LINUX_RISCV64_GNU.mak
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..21b3351
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/mak/platform_LINUX_RISCV64_GNU.mak
|
||||||
|
@@ -0,0 +1,36 @@
|
||||||
|
+#//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+#//
|
||||||
|
+#// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+#// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+#// this work for additional information regarding copyright ownership.
|
||||||
|
+#// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+#// Source License; you may not use this file except in compliance with the
|
||||||
|
+#// License.
|
||||||
|
+#//
|
||||||
|
+#// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+#// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+#// to deal in the Software without restriction, including without limitation
|
||||||
|
+#// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+#// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+#// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+#//
|
||||||
|
+#// The above copyright notice and this permission notice shall be included
|
||||||
|
+#// in all copies or substantial portions of the Software.
|
||||||
|
+#//
|
||||||
|
+#// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+#// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+#// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+#// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+#// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+#// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+#// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+#//
|
||||||
|
+#//////////////////////////////////////////////////////////////////////////
|
||||||
|
+# Platform Configuration for Linux on PPC
|
||||||
|
+# If you have generic Linux config options, please place them in config-linux.mak
|
||||||
|
+
|
||||||
|
+include $(ROOT)/mak/config-linux.mak
|
||||||
|
+
|
||||||
|
+ARCHITECTURE = RISCV64
|
||||||
|
+CXX_MACHINE_OPTIONS =
|
||||||
|
+LINK_MACHINE_OPTIONS =
|
||||||
|
diff --git a/src/Pegasus/Common/Config.h b/src/Pegasus/Common/Config.h
|
||||||
|
index afe1224..0f400c5 100644
|
||||||
|
--- a/src/Pegasus/Common/Config.h
|
||||||
|
+++ b/src/Pegasus/Common/Config.h
|
||||||
|
@@ -100,6 +100,8 @@
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_AARCH64_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_LOONGARCH64_GNU)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_LOONGARCH64_GNU.h>
|
||||||
|
+#elif defined (PEGASUS_PLATFORM_LINUX_RISCV64_GNU)
|
||||||
|
+# include <Pegasus/Common/Platform_LINUX_RISCV64_GNU.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_X86_64_CLANG)
|
||||||
|
# include <Pegasus/Common/Platform_LINUX_X86_64_CLANG.h>
|
||||||
|
#elif defined (PEGASUS_PLATFORM_LINUX_IX86_CLANG)
|
||||||
|
diff --git a/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h b/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
|
||||||
|
new file mode 100644
|
||||||
|
index 0000000..b2dcfce
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/Pegasus/Common/Platform_LINUX_RISCV64_GNU.h
|
||||||
|
@@ -0,0 +1,108 @@
|
||||||
|
+//%LICENSE////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+// Licensed to The Open Group (TOG) under one or more contributor license
|
||||||
|
+// agreements. Refer to the OpenPegasusNOTICE.txt file distributed with
|
||||||
|
+// this work for additional information regarding copyright ownership.
|
||||||
|
+// Each contributor licenses this file to you under the OpenPegasus Open
|
||||||
|
+// Source License; you may not use this file except in compliance with the
|
||||||
|
+// License.
|
||||||
|
+//
|
||||||
|
+// Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
+// copy of this software and associated documentation files (the "Software"),
|
||||||
|
+// to deal in the Software without restriction, including without limitation
|
||||||
|
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||||
|
+// and/or sell copies of the Software, and to permit persons to whom the
|
||||||
|
+// Software is furnished to do so, subject to the following conditions:
|
||||||
|
+//
|
||||||
|
+// The above copyright notice and this permission notice shall be included
|
||||||
|
+// in all copies or substantial portions of the Software.
|
||||||
|
+//
|
||||||
|
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||||||
|
+// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
+// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
+// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
+// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
+// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
+// SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
+//
|
||||||
|
+//////////////////////////////////////////////////////////////////////////
|
||||||
|
+//
|
||||||
|
+//%/////////////////////////////////////////////////////////////////////////////
|
||||||
|
+
|
||||||
|
+/*****************************************************************************
|
||||||
|
+ The platform configuration files in pegasus/src/Pegasus/Common/Platform_*.h
|
||||||
|
+ are intended to normalize platform/compiler differences so that Pegasus code
|
||||||
|
+ can be written to work on all platforms without requiring platform ifdefs.
|
||||||
|
+ Since these files are part of the Pegasus SDK, their contents should be
|
||||||
|
+ the minimum that achieves the stated purpose.
|
||||||
|
+
|
||||||
|
+ Examples of differences that are normalized here are support for C++
|
||||||
|
+ namespaces, 64-bit integer type, support for C++ template specialization.
|
||||||
|
+
|
||||||
|
+ Examples of things that are not appropriate in these files are the enablement
|
||||||
|
+ of Pegasus features for a specific platform and other build configuration.
|
||||||
|
+******************************************************************************/
|
||||||
|
+
|
||||||
|
+#ifndef Pegasus_Platform_LINUX_RISCV64_GNU_h
|
||||||
|
+#define Pegasus_Platform_LINUX_RISCV64_GNU_h
|
||||||
|
+
|
||||||
|
+#include <stddef.h>
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_TYPE_UNIX
|
||||||
|
+
|
||||||
|
+#ifndef PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#define PEGASUS_PLATFORM_LINUX_GENERIC_GNU
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_OS_LINUX
|
||||||
|
+
|
||||||
|
+#define PEGASUS_POINTER_64BIT
|
||||||
|
+
|
||||||
|
+#define PEGASUS_COMPILER_GNU
|
||||||
|
+
|
||||||
|
+#define PEGASUS_UINT64 unsigned long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_SINT64 long long
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NAMESPACES
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_FOR_SCOPE
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_TEMPLATE_SPECIALIZATION
|
||||||
|
+
|
||||||
|
+#ifndef _GNU_SOURCE
|
||||||
|
+#define _GNU_SOURCE
|
||||||
|
+#endif
|
||||||
|
+#ifndef _REENTRANT
|
||||||
|
+#define _REENTRANT
|
||||||
|
+#endif
|
||||||
|
+#define _THREAD_SAFE
|
||||||
|
+#include <features.h>
|
||||||
|
+#include <stdio.h>
|
||||||
|
+#include <stdlib.h>
|
||||||
|
+#include <sys/param.h> /* For MAXHOSTNAMELEN */
|
||||||
|
+#include <limits.h> /* _POSIX_HOST_NAME_MAX */
|
||||||
|
+
|
||||||
|
+#if (__GNUC__ >= 4)
|
||||||
|
+# define PEGASUS_EXPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_IMPORT __attribute__ ((visibility("default")))
|
||||||
|
+# define PEGASUS_HIDDEN_LINKAGE __attribute__((visibility("hidden")))
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_PTHREADS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAVE_NANOSLEEP
|
||||||
|
+
|
||||||
|
+#define PEGASUS_HAS_SIGNALS
|
||||||
|
+
|
||||||
|
+#define PEGASUS_INTEGERS_BOUNDARY_ALIGNED
|
||||||
|
+
|
||||||
|
+/* getifaddrs() avilable in gcc version >= 3.4 */
|
||||||
|
+#if (__GNUC__ > 3) || ((__GNUC__ == 3) && (__GNUC_MINOR__ >= 4))
|
||||||
|
+# define PEGASUS_HAS_GETIFADDRS
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
+/* use POSIX read-write locks on this platform */
|
||||||
|
+#define PEGASUS_USE_POSIX_RWLOCK
|
||||||
|
+
|
||||||
|
+#endif /* Pegasus_Platform_LINUX_RISCV64_GNU_h */
|
||||||
|
--
|
||||||
|
2.37.1 (Apple Git-137.1)
|
||||||
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
Name: tog-pegasus
|
Name: tog-pegasus
|
||||||
Version: %{major_ver}.1
|
Version: %{major_ver}.1
|
||||||
Release: 50
|
Release: 55
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
Summary: OpenPegasus WBEM Services for Linux
|
Summary: OpenPegasus WBEM Services for Linux
|
||||||
License: MIT
|
License: MIT
|
||||||
@ -36,6 +36,9 @@ Patch15: pegasus-2.13.0-gcc5-build.patch
|
|||||||
Patch16: pegasus-2.14.1-build-fixes.patch
|
Patch16: pegasus-2.14.1-build-fixes.patch
|
||||||
Patch17: pegasus-2.14.1-ssl-include.patch
|
Patch17: pegasus-2.14.1-ssl-include.patch
|
||||||
Patch18: pegasus-2.14.1-openssl-1.1-fix.patch
|
Patch18: pegasus-2.14.1-openssl-1.1-fix.patch
|
||||||
|
Patch19: add-loongarch64-support.patch
|
||||||
|
Patch20: 0001-Fixes-issue-8-gcc-catch-by-value-and-implicit-fallth.patch
|
||||||
|
Patch21: add-riscv64-support.patch
|
||||||
|
|
||||||
BuildRequires: procps libstdc++ pam-devel openssl openssl-devel
|
BuildRequires: procps libstdc++ pam-devel openssl openssl-devel
|
||||||
BuildRequires: bash sed grep coreutils procps gcc gcc-c++ libstdc++
|
BuildRequires: bash sed grep coreutils procps gcc gcc-c++ libstdc++
|
||||||
@ -77,6 +80,15 @@ Header files for tog-pegasus
|
|||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_AARCH64_GNU
|
||||||
%endif
|
%endif
|
||||||
|
%ifarch loongarch64
|
||||||
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_LOONGARCH64_GNU
|
||||||
|
%endif
|
||||||
|
%ifarch riscv64
|
||||||
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_RISCV64_GNU
|
||||||
|
%endif
|
||||||
|
%ifarch ppc64le
|
||||||
|
%global PEGASUS_HARDWARE_PLATFORM LINUX_PPC64_GNU
|
||||||
|
%endif
|
||||||
|
|
||||||
%global PEGASUS_ARCH_LIB %{_lib}
|
%global PEGASUS_ARCH_LIB %{_lib}
|
||||||
%global OPENSSL_HOME %{_prefix}
|
%global OPENSSL_HOME %{_prefix}
|
||||||
@ -125,6 +137,9 @@ yes | mak/CreateDmtfSchema 238 %{SOURCE4} cim_schema_2.38.0
|
|||||||
%patch16 -p1 -b .build-fixes
|
%patch16 -p1 -b .build-fixes
|
||||||
%patch17 -p1 -b .ssl-include
|
%patch17 -p1 -b .ssl-include
|
||||||
%patch18 -p1 -b .openssl-1.1-fix
|
%patch18 -p1 -b .openssl-1.1-fix
|
||||||
|
%patch19 -p1 -b .add-loongarch64-support
|
||||||
|
%patch20 -p1
|
||||||
|
%patch21 -p1 -b .add-riscv64-support
|
||||||
|
|
||||||
%build
|
%build
|
||||||
cp -fp %SOURCE3 rpm
|
cp -fp %SOURCE3 rpm
|
||||||
@ -359,12 +374,27 @@ fi
|
|||||||
%verify(not md5 size mtime) /var/lib/Pegasus/testrepository
|
%verify(not md5 size mtime) /var/lib/Pegasus/testrepository
|
||||||
|
|
||||||
%files help
|
%files help
|
||||||
%defattr(0644, root, pegasus, 0755)
|
%defattr(0644, root, root, 0755)
|
||||||
%doc src/Clients/repupgrade/doc/repupgrade.html
|
%doc src/Clients/repupgrade/doc/repupgrade.html
|
||||||
%{_mandir}/man8/*
|
%{_mandir}/man8/*
|
||||||
%{_mandir}/man1/*
|
%{_mandir}/man1/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Tue Nov 28 2023 peng.zou <peng.zou@shingroup.cn> - 2:2.14.1-55
|
||||||
|
- Add ppc64le support
|
||||||
|
|
||||||
|
* Fri Jul 28 2023 misaka00251 <liuxin@iscas.ac.cn> - 2:2.14.1-54
|
||||||
|
- Add riscv64 support
|
||||||
|
|
||||||
|
* Tue Jul 04 2023 chenchen <chen_aka_jan@163.com> - 2:2.14.1-53
|
||||||
|
- fix build error for gcc-12
|
||||||
|
|
||||||
|
* Thu Dec 8 2022 huajingyun <huajingyun@loongson.cn> - 2:2.14.1-52
|
||||||
|
- Add loongarch64 support
|
||||||
|
|
||||||
|
* Tue Aug 31 2021 caodongxia <caodongxia@huawei.com> - 2:2.14.1-51
|
||||||
|
- Fix help package install warning
|
||||||
|
|
||||||
* Thu May 28 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 2:2.14.1-49
|
* Thu May 28 2020 Guoshuai Sun <sunguoshuai@huawei.com> - 2:2.14.1-49
|
||||||
- Modify spec for unreasonable disable stop.service when removing pack.
|
- Modify spec for unreasonable disable stop.service when removing pack.
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user