Compare commits
10 Commits
ebe58803d2
...
d67430b6ed
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d67430b6ed | ||
|
|
3802e9a7cd | ||
|
|
16d507fc34 | ||
|
|
798a69b716 | ||
|
|
ca06d6dedd | ||
|
|
582b5a6df6 | ||
|
|
3cc36d71da | ||
|
|
f8afc1e75c | ||
|
|
5d909ead33 | ||
|
|
73de9f080d |
51
0003-fix-CVE-2023-46159.patch
Normal file
51
0003-fix-CVE-2023-46159.patch
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
From 64803e1ced57d64b758927c3977bb4a4d1769180 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Joshua Baergen <jbaergen@digitalocean.com>
|
||||||
|
Date: Tue, 12 Sep 2023 14:05:01 -0400
|
||||||
|
Subject: [PATCH] rgw: Add missing empty checks to the split string in
|
||||||
|
is_string_in_set().
|
||||||
|
|
||||||
|
In certain cases, where a user misconfigures a CORS rule, the entirety
|
||||||
|
of the string can be token characters (or, at least, the string before
|
||||||
|
and after a given token is all token characters), but != "*". If the
|
||||||
|
misconfigured string includes "*" we'll try to split the string and we
|
||||||
|
assume that we can pop the list of string elements when "*" isn't
|
||||||
|
first/last, but get_str_list() won't return anything for token-only
|
||||||
|
substrings and thus 'ssplit' will have fewer elements than would be
|
||||||
|
expected for a correct rule. In the case of an empty list, front() has
|
||||||
|
undefined behaviour; in our experience, it often results in a huge
|
||||||
|
allocation attempt because the code tries to copy the string into a
|
||||||
|
local variable 'sl'.
|
||||||
|
|
||||||
|
An example of this misconfiguration (and thus a reproduction case) is
|
||||||
|
configuring an origin of " *".
|
||||||
|
|
||||||
|
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
|
||||||
|
---
|
||||||
|
src/rgw/rgw_cors.cc | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/rgw/rgw_cors.cc b/src/rgw/rgw_cors.cc
|
||||||
|
index e41abf8ccb..bb80e2b58d 100644
|
||||||
|
--- a/src/rgw/rgw_cors.cc
|
||||||
|
+++ b/src/rgw/rgw_cors.cc
|
||||||
|
@@ -121,6 +121,8 @@ static bool is_string_in_set(set<string>& s, string h) {
|
||||||
|
|
||||||
|
get_str_list((*it), "* \t", ssplit);
|
||||||
|
if (off != 0) {
|
||||||
|
+ if (ssplit.empty())
|
||||||
|
+ continue;
|
||||||
|
string sl = ssplit.front();
|
||||||
|
flen = sl.length();
|
||||||
|
dout(10) << "Finding " << sl << ", in " << h << ", at offset 0" << dendl;
|
||||||
|
@@ -129,6 +131,8 @@ static bool is_string_in_set(set<string>& s, string h) {
|
||||||
|
ssplit.pop_front();
|
||||||
|
}
|
||||||
|
if (off != ((*it).length() - 1)) {
|
||||||
|
+ if (ssplit.empty())
|
||||||
|
+ continue;
|
||||||
|
string sl = ssplit.front();
|
||||||
|
dout(10) << "Finding " << sl << ", in " << h
|
||||||
|
<< ", at offset not less than " << flen << dendl;
|
||||||
|
--
|
||||||
|
2.15.0
|
||||||
|
|
||||||
42
0004-fix-mds-metadata-lost-in-one-case.patch
Normal file
42
0004-fix-mds-metadata-lost-in-one-case.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
From 56cbf3f0716b556c815487d719abe86021125925 Mon Sep 17 00:00:00 2001
|
||||||
|
From: shimin <shimin@kuaishou.com>
|
||||||
|
Date: Wed, 10 Apr 2024 09:10:04 +0800
|
||||||
|
Subject: [PATCH] mon:fix mds metadata lost in one case
|
||||||
|
In most cases, peon's pending_metadata is inconsistent with mon's db.
|
||||||
|
When a peon turns into leader, and at the same time a active mds stops,
|
||||||
|
the new leader may flush wrong mds metadata into db. So we meed to
|
||||||
|
update mds metadata from db at every fsmap change.
|
||||||
|
|
||||||
|
This phenomenon can be reproduce like this:
|
||||||
|
A Cluster with 3 mon and 3 mds (one active, other two standby), 6 osd.
|
||||||
|
step 1. stop two standby mds;
|
||||||
|
step 2. restart all mon; (make pending_medata consistent with db)
|
||||||
|
step 3. start other two mds
|
||||||
|
step 4. stop leader mon
|
||||||
|
step 5. run "ceph mds metadata" command to check mds metadata
|
||||||
|
step 6. stop active mds
|
||||||
|
step 7. run "ceph mds metadata" command to check mds metadata again
|
||||||
|
|
||||||
|
In step 7, we would find mds metadata lost.
|
||||||
|
|
||||||
|
Fixes: https://tracker.ceph.com/issues/63166
|
||||||
|
Signed-off-by: shimin <shimin@kuaishou.com>
|
||||||
|
---
|
||||||
|
src/mon/MDSMonitor.cc | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/src/mon/MDSMonitor.cc b/src/mon/MDSMonitor.cc
|
||||||
|
index 4b27d828c..0ac5060f7 100644
|
||||||
|
--- a/src/mon/MDSMonitor.cc
|
||||||
|
+++ b/src/mon/MDSMonitor.cc
|
||||||
|
@@ -136,6 +136,7 @@ void MDSMonitor::update_from_paxos(bool *need_bootstrap)
|
||||||
|
<< ", my e " << get_fsmap().epoch << dendl;
|
||||||
|
ceph_assert(version > get_fsmap().epoch);
|
||||||
|
|
||||||
|
+ load_metadata(pending_metadata);
|
||||||
|
load_health();
|
||||||
|
|
||||||
|
// read and decode
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
||||||
33
0005-fix-CVE-2024-48916.patch
Normal file
33
0005-fix-CVE-2024-48916.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 22b362ab9c7f72463f35addff53b34e301604104 Mon Sep 17 00:00:00 2001
|
||||||
|
From: wangzengliang1 <wangzengliang2@huawei.com>
|
||||||
|
Date: Sat, 28 Dec 2024 11:24:36 +0800
|
||||||
|
Subject: [PATCH] fix CVE-2024-48916
|
||||||
|
copyed-by: https://github.com/ceph/ceph/pull/60624
|
||||||
|
while authenticating AssumeRoleWithWebIdentity using JWT obtained
|
||||||
|
from an external IDP.
|
||||||
|
|
||||||
|
fixes: https://tracker.ceph.com/issues/68836
|
||||||
|
Signed-off-by Pritha Srivastava <prsrivas@redhat.com>
|
||||||
|
---
|
||||||
|
src/rgw/rgw_rest_sts.cc | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/rgw/rgw_rest_sts.cc b/src/rgw/rgw_rest_sts.cc
|
||||||
|
index 09f77f6..878edc6 100644
|
||||||
|
--- a/src/rgw/rgw_rest_sts.cc
|
||||||
|
+++ b/src/rgw/rgw_rest_sts.cc
|
||||||
|
@@ -444,7 +444,11 @@ WebTokenEngine::validate_signature(const DoutPrefixProvider* dpp, const jwt::dec
|
||||||
|
.allow_algorithm(jwt::algorithm::ps512{cert});
|
||||||
|
|
||||||
|
verifier.verify(decoded);
|
||||||
|
+ } else {
|
||||||
|
+ ldpp_dout(dpp, 0) << "Unsupported algorithm: " << algorithm << dendl;
|
||||||
|
+ throw -EINVAL;
|
||||||
|
}
|
||||||
|
+
|
||||||
|
} catch (std::runtime_error& e) {
|
||||||
|
ldpp_dout(dpp, 0) << "Signature validation failed: " << e.what() << dendl;
|
||||||
|
throw;
|
||||||
|
--
|
||||||
|
1.8.3.1
|
||||||
|
|
||||||
273
9001-add-supprot-for-loongarch64.patch
Normal file
273
9001-add-supprot-for-loongarch64.patch
Normal file
@ -0,0 +1,273 @@
|
|||||||
|
From b914e57a20fe0e8e7f0592c3bc041dc8d511cbdd Mon Sep 17 00:00:00 2001
|
||||||
|
From: zhangzikang <zhangzikang@kylinos.cn>
|
||||||
|
Date: Wed, 22 May 2024 16:59:10 +0800
|
||||||
|
Subject: [PATCH] add supprot for loongarch64
|
||||||
|
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 2 +-
|
||||||
|
src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake | 2 ++
|
||||||
|
.../cpp/src/arrow/vendored/double-conversion/utils.h | 2 +-
|
||||||
|
.../cpp/src/arrow/vendored/fast_float/float_common.h | 2 +-
|
||||||
|
src/boost/boost/predef/architecture.h | 1 +
|
||||||
|
src/boost/boostcpp.jam | 5 +++--
|
||||||
|
.../libs/config/checks/architecture/Jamfile.jam | 1 +
|
||||||
|
.../libs/config/checks/architecture/loongarch.cpp | 12 ++++++++++++
|
||||||
|
src/common/Cycles.h | 4 ++++
|
||||||
|
src/jaegertracing/opentelemetry-cpp/CMakeLists.txt | 2 ++
|
||||||
|
.../third_party/benchmark/src/cycleclock.h | 2 +-
|
||||||
|
.../tools/vcpkg/ports/halide/CONTROL | 6 +++++-
|
||||||
|
.../tools/vcpkg/ports/halide/portfile.cmake | 1 +
|
||||||
|
.../tools/vcpkg/ports/llvm/portfile.cmake | 1 +
|
||||||
|
.../tools/vcpkg/ports/llvm/vcpkg.json | 4 ++++
|
||||||
|
.../range/range_tree/lib/portability/toku_time.h | 4 ++++
|
||||||
|
16 files changed, 44 insertions(+), 7 deletions(-)
|
||||||
|
create mode 100644 src/boost/libs/config/checks/architecture/loongarch.cpp
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 884135cd8..c955d55c7 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -275,7 +275,7 @@ if(WITH_BLUESTORE_PMEM)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
CMAKE_DEPENDENT_OPTION(WITH_SPDK "Enable SPDK" OFF
|
||||||
|
- "CMAKE_SYSTEM_PROCESSOR MATCHES i386|i686|amd64|x86_64|AMD64|aarch64" OFF)
|
||||||
|
+ "CMAKE_SYSTEM_PROCESSOR MATCHES i386|i686|amd64|x86_64|AMD64|aarch64|loongarch64" OFF)
|
||||||
|
if(WITH_SPDK)
|
||||||
|
if(NOT WITH_BLUESTORE)
|
||||||
|
message(SEND_ERROR "Please enable WITH_BLUESTORE for using SPDK")
|
||||||
|
diff --git a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
index c1a1ba043..5f2a6cf37 100644
|
||||||
|
--- a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
+++ b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
@@ -32,6 +32,8 @@ if(NOT DEFINED ARROW_CPU_FLAG)
|
||||||
|
set(ARROW_CPU_FLAG "ppc")
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
|
||||||
|
set(ARROW_CPU_FLAG "s390x")
|
||||||
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
|
||||||
|
+ set(ARROW_CPU_FLAG "loongarch")
|
||||||
|
else()
|
||||||
|
set(ARROW_CPU_FLAG "x86")
|
||||||
|
endif()
|
||||||
|
diff --git a/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h b/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
|
||||||
|
index 4328344d7..b86276950 100644
|
||||||
|
--- a/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
|
||||||
|
+++ b/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
|
||||||
|
@@ -93,7 +93,7 @@ int main(int argc, char** argv) {
|
||||||
|
#if defined(_M_X64) || defined(__x86_64__) || \
|
||||||
|
defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
|
||||||
|
defined(__hppa__) || defined(__ia64__) || \
|
||||||
|
- defined(__mips__) || \
|
||||||
|
+ defined(__mips__) || defined(__loongarch__) || \
|
||||||
|
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
|
||||||
|
defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
|
||||||
|
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
|
||||||
|
diff --git a/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h b/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
index f7b7662b9..8d11067f8 100644
|
||||||
|
--- a/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
+++ b/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
@@ -6,7 +6,7 @@
|
||||||
|
#include <cassert>
|
||||||
|
|
||||||
|
#if (defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) \
|
||||||
|
- || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) \
|
||||||
|
+ || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) || defined(__loongarch__)\
|
||||||
|
|| defined(__MINGW64__) \
|
||||||
|
|| defined(__s390x__) \
|
||||||
|
|| (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) \
|
||||||
|
diff --git a/src/boost/boost/predef/architecture.h b/src/boost/boost/predef/architecture.h
|
||||||
|
index b131a8928..a6fd00c36 100644
|
||||||
|
--- a/src/boost/boost/predef/architecture.h
|
||||||
|
+++ b/src/boost/boost/predef/architecture.h
|
||||||
|
@@ -30,6 +30,7 @@ http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
#include <boost/predef/architecture/sys370.h>
|
||||||
|
#include <boost/predef/architecture/sys390.h>
|
||||||
|
#include <boost/predef/architecture/x86.h>
|
||||||
|
+#include <boost/predef/architecture/loongarch.h>
|
||||||
|
#include <boost/predef/architecture/z.h>
|
||||||
|
|
||||||
|
#endif
|
||||||
|
diff --git a/src/boost/boostcpp.jam b/src/boost/boostcpp.jam
|
||||||
|
index 082536e2a..28099d877 100644
|
||||||
|
--- a/src/boost/boostcpp.jam
|
||||||
|
+++ b/src/boost/boostcpp.jam
|
||||||
|
@@ -634,7 +634,7 @@ rule address-model ( )
|
||||||
|
return <conditional>@boostcpp.deduce-address-model ;
|
||||||
|
}
|
||||||
|
|
||||||
|
-local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined ;
|
||||||
|
+local deducable-architectures = arm mips1 power riscv s390x sparc x86 combined loongarch ;
|
||||||
|
feature.feature deduced-architecture : $(deducable-architectures) : propagated optional composite hidden ;
|
||||||
|
for a in $(deducable-architectures)
|
||||||
|
{
|
||||||
|
@@ -645,7 +645,7 @@ rule deduce-architecture ( properties * )
|
||||||
|
{
|
||||||
|
local result ;
|
||||||
|
local filtered = [ toolset-properties $(properties) ] ;
|
||||||
|
- local names = arm mips1 power riscv s390x sparc x86 combined ;
|
||||||
|
+ local names = arm mips1 power riscv s390x sparc x86 loongarch combined ;
|
||||||
|
local idx = [ configure.find-builds "default architecture" : $(filtered)
|
||||||
|
: /boost/architecture//arm
|
||||||
|
: /boost/architecture//mips1
|
||||||
|
@@ -654,6 +654,7 @@ rule deduce-architecture ( properties * )
|
||||||
|
: /boost/architecture//s390x
|
||||||
|
: /boost/architecture//sparc
|
||||||
|
: /boost/architecture//x86
|
||||||
|
+ : /boost/architecture//loongarch
|
||||||
|
: /boost/architecture//combined ] ;
|
||||||
|
result = $(names[$(idx)]) ;
|
||||||
|
|
||||||
|
diff --git a/src/boost/libs/config/checks/architecture/Jamfile.jam b/src/boost/libs/config/checks/architecture/Jamfile.jam
|
||||||
|
index 2ba54f9ad..faf57eb13 100644
|
||||||
|
--- a/src/boost/libs/config/checks/architecture/Jamfile.jam
|
||||||
|
+++ b/src/boost/libs/config/checks/architecture/Jamfile.jam
|
||||||
|
@@ -23,4 +23,5 @@ obj power : power.cpp ;
|
||||||
|
obj riscv : riscv.cpp ;
|
||||||
|
obj sparc : sparc.cpp ;
|
||||||
|
obj x86 : x86.cpp ;
|
||||||
|
+obj loongarch : loongarch.cpp ;
|
||||||
|
obj s390x : s390x.cpp ;
|
||||||
|
diff --git a/src/boost/libs/config/checks/architecture/loongarch.cpp b/src/boost/libs/config/checks/architecture/loongarch.cpp
|
||||||
|
new file mode 100644
|
||||||
|
index 000000000..ecd84e0a4
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/src/boost/libs/config/checks/architecture/loongarch.cpp
|
||||||
|
@@ -0,0 +1,12 @@
|
||||||
|
+// loongarch.cpp
|
||||||
|
+//
|
||||||
|
+// Copyright (c) 2012 Steven Watanabe
|
||||||
|
+//
|
||||||
|
+// Distributed under the Boost Software License Version 1.0. (See
|
||||||
|
+// accompanying file LICENSE_1_0.txt or copy at
|
||||||
|
+// http://www.boost.org/LICENSE_1_0.txt)
|
||||||
|
+
|
||||||
|
+#if !defined(__loongarch) && !defined(__loongarch__) && !defined(__loongarch64__) \
|
||||||
|
+ && !defined(__loong) && !defined(__LOONGARCH__)
|
||||||
|
+#error "Not LOONGARCH"
|
||||||
|
+#endif
|
||||||
|
diff --git a/src/common/Cycles.h b/src/common/Cycles.h
|
||||||
|
index b546479c2..1bae9d616 100644
|
||||||
|
--- a/src/common/Cycles.h
|
||||||
|
+++ b/src/common/Cycles.h
|
||||||
|
@@ -84,6 +84,10 @@ class Cycles {
|
||||||
|
uint64_t tsc;
|
||||||
|
asm volatile("stck %0" : "=Q" (tsc) : : "cc");
|
||||||
|
return tsc;
|
||||||
|
+#elif defined(__loongarch__)
|
||||||
|
+ struct timeval tv;
|
||||||
|
+ gettimeofday(&tv, nullptr);
|
||||||
|
+ return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
#else
|
||||||
|
#warning No high-precision counter available for your OS/arch
|
||||||
|
return 0;
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt b/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
|
||||||
|
index 6d2b27435..46b54793e 100755
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
|
||||||
|
@@ -64,6 +64,8 @@ else()
|
||||||
|
set(ARCH riscv)
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390x.*|S390X.*)")
|
||||||
|
set(ARCH s390x)
|
||||||
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(loongarch64.*|LOONGARCH64.*)")
|
||||||
|
+ set(ARCH loongarch)
|
||||||
|
else()
|
||||||
|
message(
|
||||||
|
FATAL_ERROR
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h b/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
|
||||||
|
index 9bef594be..e7d523fea 100644
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
|
||||||
|
@@ -204,7 +204,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
|
||||||
|
asm volatile("rdcycle %0" : "=r"(cycles));
|
||||||
|
return cycles;
|
||||||
|
#endif
|
||||||
|
-#elif defined(__e2k__) || defined(__elbrus__)
|
||||||
|
+#elif defined(__e2k__) || defined(__elbrus__) || defined(__loongarch__)
|
||||||
|
struct timeval tv;
|
||||||
|
gettimeofday(&tv, nullptr);
|
||||||
|
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
|
||||||
|
index 8ffcc93dd..512bfdf8c 100644
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
|
||||||
|
@@ -12,7 +12,7 @@ Build-Depends: halide[core,target-x86] (x86|x64), halide[core,target-arm] (arm&!
|
||||||
|
|
||||||
|
Feature: target-all
|
||||||
|
Description: Include all targets
|
||||||
|
-Build-Depends: halide[core,target-aarch64,target-amdgpu,target-arm,target-d3d12compute,target-hexagon,target-metal,target-mips,target-nvptx,target-opencl,target-opengl,target-powerpc,target-riscv,target-x86]
|
||||||
|
+Build-Depends: halide[core,target-aarch64,target-amdgpu,target-arm,target-d3d12compute,target-hexagon,target-metal,target-mips,target-nvptx,target-opencl,target-opengl,target-powerpc,target-riscv,target-x86,target-loongarch]
|
||||||
|
|
||||||
|
Feature: target-aarch64
|
||||||
|
Description: Include AArch64 target
|
||||||
|
@@ -62,3 +62,7 @@ Feature: target-x86
|
||||||
|
Description: Include X86 target
|
||||||
|
Build-Depends: llvm[core,target-x86]
|
||||||
|
|
||||||
|
+Feature: target-loongarch
|
||||||
|
+Description: Include LOONGARCH target
|
||||||
|
+Build-Depends: llvm[core,target-loongarch]
|
||||||
|
+
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
|
||||||
|
index b8e08adda..51e106739 100644
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
|
||||||
|
@@ -27,6 +27,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
|
target-powerpc TARGET_POWERPC
|
||||||
|
target-riscv TARGET_RISCV
|
||||||
|
target-x86 TARGET_X86
|
||||||
|
+ target-loongarch TARGET_LOONGARCH
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_configure_cmake(
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
|
||||||
|
index 356a25bf1..c793fceb4 100644
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
|
||||||
|
@@ -181,6 +181,7 @@ set(known_llvm_targets
|
||||||
|
WebAssembly
|
||||||
|
X86
|
||||||
|
XCore
|
||||||
|
+ LOONGARCH
|
||||||
|
)
|
||||||
|
|
||||||
|
set(LLVM_TARGETS_TO_BUILD "")
|
||||||
|
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
|
||||||
|
index 4590e5111..c34d78292 100644
|
||||||
|
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
|
||||||
|
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
|
||||||
|
@@ -258,6 +258,7 @@
|
||||||
|
"target-systemz",
|
||||||
|
"target-webassembly",
|
||||||
|
"target-x86",
|
||||||
|
+ "target-loongarch",
|
||||||
|
"target-xcore"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
@@ -308,6 +309,9 @@
|
||||||
|
"target-x86": {
|
||||||
|
"description": "Build with X86 backend."
|
||||||
|
},
|
||||||
|
+ "target-loongarch": {
|
||||||
|
+ "description": "Build with LOONGARCH backend."
|
||||||
|
+ },
|
||||||
|
"target-xcore": {
|
||||||
|
"description": "Build with XCore backend."
|
||||||
|
},
|
||||||
|
diff --git a/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||||
|
index 46111e7f0..4555b8f71 100644
|
||||||
|
--- a/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||||
|
+++ b/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||||
|
@@ -154,6 +154,10 @@ static inline tokutime_t toku_time_now(void) {
|
||||||
|
uint64_t cycles;
|
||||||
|
asm volatile("rdcycle %0" : "=r"(cycles));
|
||||||
|
return cycles;
|
||||||
|
+#elif defined(__loongarch__)
|
||||||
|
+ struct timeval tv;
|
||||||
|
+ gettimeofday(&tv, nullptr);
|
||||||
|
+ return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
|
||||||
|
#else
|
||||||
|
#error No timer implementation for this platform
|
||||||
|
#endif
|
||||||
|
--
|
||||||
|
2.33.0
|
||||||
|
|
||||||
41
9002-fix-riscv64-build.patch
Normal file
41
9002-fix-riscv64-build.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
diff --git a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
index c1a1ba0..84f224b 100644
|
||||||
|
--- a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
+++ b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
|
||||||
|
@@ -32,6 +32,8 @@ if(NOT DEFINED ARROW_CPU_FLAG)
|
||||||
|
set(ARROW_CPU_FLAG "ppc")
|
||||||
|
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
|
||||||
|
set(ARROW_CPU_FLAG "s390x")
|
||||||
|
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "riscv64")
|
||||||
|
+ set(ARROW_CPU_FLAG "riscv64")
|
||||||
|
else()
|
||||||
|
set(ARROW_CPU_FLAG "x86")
|
||||||
|
endif()
|
||||||
|
diff --git a/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h b/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
index f7b7662..c1fe08d 100644
|
||||||
|
--- a/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
+++ b/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
|
||||||
|
@@ -10,7 +10,7 @@
|
||||||
|
|| defined(__MINGW64__) \
|
||||||
|
|| defined(__s390x__) \
|
||||||
|
|| (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) \
|
||||||
|
- || defined(__EMSCRIPTEN__))
|
||||||
|
+ || defined(__EMSCRIPTEN__) || defined(__riscv))
|
||||||
|
#define FASTFLOAT_64BIT
|
||||||
|
#elif (defined(__i386) || defined(__i386__) || defined(_M_IX86) \
|
||||||
|
|| defined(__arm__) \
|
||||||
|
diff --git a/src/common/Cycles.h b/src/common/Cycles.h
|
||||||
|
index b546479..14bc6bf 100644
|
||||||
|
--- a/src/common/Cycles.h
|
||||||
|
+++ b/src/common/Cycles.h
|
||||||
|
@@ -84,6 +84,10 @@ class Cycles {
|
||||||
|
uint64_t tsc;
|
||||||
|
asm volatile("stck %0" : "=Q" (tsc) : : "cc");
|
||||||
|
return tsc;
|
||||||
|
+#elif defined(__riscv) && __riscv_xlen == 64
|
||||||
|
+ uint64_t tsc;
|
||||||
|
+ asm volatile ("rdcycle %0" : "=r" (tsc));
|
||||||
|
+ return tsc;
|
||||||
|
#else
|
||||||
|
#warning No high-precision counter available for your OS/arch
|
||||||
|
return 0;
|
||||||
31
ceph.spec
31
ceph.spec
@ -174,7 +174,7 @@
|
|||||||
#################################################################################
|
#################################################################################
|
||||||
Name: ceph
|
Name: ceph
|
||||||
Version: 18.2.2
|
Version: 18.2.2
|
||||||
Release: 1
|
Release: 6
|
||||||
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
%if 0%{?fedora} || 0%{?rhel} || 0%{?openEuler}
|
||||||
Epoch: 2
|
Epoch: 2
|
||||||
%endif
|
%endif
|
||||||
@ -194,6 +194,17 @@ Source0: %{?_remote_tarball_prefix}ceph-18.2.2.tar.gz
|
|||||||
#backport
|
#backport
|
||||||
Patch1: 0001-modify-xsimd-source-to-local-and-set-cxx17-for-arrow.patch
|
Patch1: 0001-modify-xsimd-source-to-local-and-set-cxx17-for-arrow.patch
|
||||||
Patch2: 0002-fix-compilation-with-cython3.patch
|
Patch2: 0002-fix-compilation-with-cython3.patch
|
||||||
|
Patch3: 0003-fix-CVE-2023-46159.patch
|
||||||
|
Patch4: 0004-fix-mds-metadata-lost-in-one-case.patch
|
||||||
|
Patch5: 0005-fix-CVE-2024-48916.patch
|
||||||
|
|
||||||
|
%ifarch loongarch64
|
||||||
|
Patch5: 9001-add-supprot-for-loongarch64.patch
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%ifarch riscv64
|
||||||
|
Patch9002: 9002-fix-riscv64-build.patch
|
||||||
|
%endif
|
||||||
|
|
||||||
%if 0%{?suse_version}
|
%if 0%{?suse_version}
|
||||||
# _insert_obs_source_lines_here
|
# _insert_obs_source_lines_here
|
||||||
@ -273,7 +284,9 @@ BuildRequires: snappy-devel
|
|||||||
BuildRequires: sqlite-devel
|
BuildRequires: sqlite-devel
|
||||||
BuildRequires: sudo
|
BuildRequires: sudo
|
||||||
BuildRequires: pkgconfig(udev)
|
BuildRequires: pkgconfig(udev)
|
||||||
|
%ifarch %{valgrind_arches}
|
||||||
BuildRequires: valgrind-devel
|
BuildRequires: valgrind-devel
|
||||||
|
%endif
|
||||||
BuildRequires: which
|
BuildRequires: which
|
||||||
BuildRequires: xfsprogs-devel
|
BuildRequires: xfsprogs-devel
|
||||||
BuildRequires: xmlstarlet
|
BuildRequires: xmlstarlet
|
||||||
@ -2631,6 +2644,22 @@ exit 0
|
|||||||
%{_datadir}/snmp/mibs
|
%{_datadir}/snmp/mibs
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Fri Feb 21 2025 wangzengliang <wangzengliang2@huawei.com> - 2:18.2.2-6
|
||||||
|
- fix-CVE-2024-48916
|
||||||
|
|
||||||
|
* Sat May 25 2024 laokz <zhangkai@iscas.ac.cn> - 2:18.2.2-5
|
||||||
|
- let BuildRequires:valgrind-devel depend on system arch macro
|
||||||
|
- fix riscv64 build
|
||||||
|
|
||||||
|
* Wed May 22 2024 zhangzikang <zhangzikang@kylinos.cn> - 2:18.2.2-4
|
||||||
|
- Add supprot for loongarch64
|
||||||
|
|
||||||
|
* Wed Apr 10 2024 cenhuilin <cenhuilin@kylinos.cn> - 2:18.2.2-3
|
||||||
|
- mon: fix mds metadata lost in one case
|
||||||
|
|
||||||
|
* Fri Mar 22 2024 lizhipeng <qiuxinyidian@gmail.com> - 2:18.2.2-2
|
||||||
|
- fix CVE-2023-46159
|
||||||
|
|
||||||
* Tue Mar 12 2024 wangzengliang <wangzengliang2@huawei.com> - 2:18.2.2-1
|
* Tue Mar 12 2024 wangzengliang <wangzengliang2@huawei.com> - 2:18.2.2-1
|
||||||
- upgrade ceph to 18.2.2
|
- upgrade ceph to 18.2.2
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user