Skip to content

Commit 115b6dc

Browse files
add ceph-19 patch
1 parent 61ea4d7 commit 115b6dc

File tree

4 files changed

+189
-125
lines changed

4 files changed

+189
-125
lines changed
Lines changed: 53 additions & 124 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,8 @@
1-
From d50b115f8ce42bc77c0f66c8c8ff14de7053c0fa Mon Sep 17 00:00:00 2001
2-
From: Wenlong Zhang <[email protected]>
3-
Date: Tue, 29 Oct 2024 09:18:13 +0800
4-
Subject: [PATCH] add supprot for loongarch64
5-
6-
---
7-
CMakeLists.txt | 2 +-
8-
src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake | 2 ++
9-
.../cpp/src/arrow/vendored/double-conversion/utils.h | 2 +-
10-
.../cpp/src/arrow/vendored/fast_float/float_common.h | 2 +-
11-
src/boost/boost/predef/architecture.h | 1 +
12-
src/boost/boostcpp.jam | 5 +++--
13-
.../libs/config/checks/architecture/Jamfile.jam | 1 +
14-
.../libs/config/checks/architecture/loongarch.cpp | 12 ++++++++++++
15-
src/common/Cycles.h | 4 ++++
16-
src/jaegertracing/opentelemetry-cpp/CMakeLists.txt | 2 ++
17-
.../third_party/benchmark/src/cycleclock.h | 2 +-
18-
.../tools/vcpkg/ports/halide/CONTROL | 6 +++++-
19-
.../tools/vcpkg/ports/halide/portfile.cmake | 1 +
20-
.../tools/vcpkg/ports/llvm/portfile.cmake | 1 +
21-
.../tools/vcpkg/ports/llvm/vcpkg.json | 4 ++++
22-
.../range/range_tree/lib/portability/toku_time.h | 4 ++++
23-
16 files changed, 44 insertions(+), 7 deletions(-)
24-
create mode 100644 src/boost/libs/config/checks/architecture/loongarch.cpp
25-
26-
diff --git a/CMakeLists.txt b/CMakeLists.txt
27-
index 884135cd8..c955d55c7 100644
28-
--- a/CMakeLists.txt
29-
+++ b/CMakeLists.txt
30-
@@ -275,7 +275,7 @@ if(WITH_BLUESTORE_PMEM)
1+
diff --git a/ceph/CMakeLists.txt b/ceph/CMakeLists.txt
2+
index d3a19771f..9f109e291 100644
3+
--- a/ceph/CMakeLists.txt
4+
+++ b/ceph/CMakeLists.txt
5+
@@ -287,7 +287,7 @@ if(WITH_BLUESTORE_PMEM)
316
endif()
327

338
CMAKE_DEPENDENT_OPTION(WITH_SPDK "Enable SPDK" OFF
@@ -36,49 +11,23 @@ index 884135cd8..c955d55c7 100644
3611
if(WITH_SPDK)
3712
if(NOT WITH_BLUESTORE)
3813
message(SEND_ERROR "Please enable WITH_BLUESTORE for using SPDK")
39-
diff --git a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
40-
index c1a1ba043..e3367ca28 100644
41-
--- a/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
42-
+++ b/src/arrow/cpp/cmake_modules/SetupCxxFlags.cmake
43-
@@ -32,6 +32,8 @@ if(NOT DEFINED ARROW_CPU_FLAG)
44-
set(ARROW_CPU_FLAG "ppc")
45-
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "s390x")
46-
set(ARROW_CPU_FLAG "s390x")
47-
+ elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "loongarch64")
48-
+ set(ARROW_CPU_FLAG "loongarch")
49-
else()
50-
set(ARROW_CPU_FLAG "x86")
51-
endif()
52-
diff --git a/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h b/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
53-
index 4328344d7..b86276950 100644
54-
--- a/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
55-
+++ b/src/arrow/cpp/src/arrow/vendored/double-conversion/utils.h
56-
@@ -93,7 +93,7 @@ int main(int argc, char** argv) {
57-
#if defined(_M_X64) || defined(__x86_64__) || \
58-
defined(__ARMEL__) || defined(__avr32__) || defined(_M_ARM) || defined(_M_ARM64) || \
59-
defined(__hppa__) || defined(__ia64__) || \
60-
- defined(__mips__) || \
61-
+ defined(__mips__) || defined(__loongarch__) || \
62-
defined(__powerpc__) || defined(__ppc__) || defined(__ppc64__) || \
63-
defined(_POWER) || defined(_ARCH_PPC) || defined(_ARCH_PPC64) || \
64-
defined(__sparc__) || defined(__sparc) || defined(__s390__) || \
65-
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
66-
index f7b7662b9..8d11067f8 100644
67-
--- a/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
68-
+++ b/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
69-
@@ -6,7 +6,7 @@
70-
#include <cassert>
14+
diff --git a/ceph/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h b/ceph/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
15+
index 717320126..a4ac1cddf 100644
16+
--- a/ceph/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
17+
+++ b/ceph/src/arrow/cpp/src/arrow/vendored/fast_float/float_common.h
18+
@@ -27,7 +27,7 @@
19+
#endif
7120

7221
#if (defined(__x86_64) || defined(__x86_64__) || defined(_M_X64) \
7322
- || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) \
7423
+ || defined(__amd64) || defined(__aarch64__) || defined(_M_ARM64) || defined(__loongarch__)\
7524
|| defined(__MINGW64__) \
7625
|| defined(__s390x__) \
77-
|| (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) \
78-
diff --git a/src/boost/boost/predef/architecture.h b/src/boost/boost/predef/architecture.h
26+
|| (defined(__ppc64__) || defined(__PPC64__) || defined(__ppc64le__) || defined(__PPC64LE__)) )
27+
diff --git a/ceph/src/boost/boost/predef/architecture.h b/ceph/src/boost/boost/predef/architecture.h
7928
index b131a8928..a6fd00c36 100644
80-
--- a/src/boost/boost/predef/architecture.h
81-
+++ b/src/boost/boost/predef/architecture.h
29+
--- a/ceph/src/boost/boost/predef/architecture.h
30+
+++ b/ceph/src/boost/boost/predef/architecture.h
8231
@@ -30,6 +30,7 @@ http://www.boost.org/LICENSE_1_0.txt)
8332
#include <boost/predef/architecture/sys370.h>
8433
#include <boost/predef/architecture/sys390.h>
@@ -87,10 +36,10 @@ index b131a8928..a6fd00c36 100644
8736
#include <boost/predef/architecture/z.h>
8837

8938
#endif
90-
diff --git a/src/boost/boostcpp.jam b/src/boost/boostcpp.jam
39+
diff --git a/ceph/src/boost/boostcpp.jam b/ceph/src/boost/boostcpp.jam
9140
index 082536e2a..28099d877 100644
92-
--- a/src/boost/boostcpp.jam
93-
+++ b/src/boost/boostcpp.jam
41+
--- a/ceph/src/boost/boostcpp.jam
42+
+++ b/ceph/src/boost/boostcpp.jam
9443
@@ -634,7 +634,7 @@ rule address-model ( )
9544
return <conditional>@boostcpp.deduce-address-model ;
9645
}
@@ -117,38 +66,20 @@ index 082536e2a..28099d877 100644
11766
: /boost/architecture//combined ] ;
11867
result = $(names[$(idx)]) ;
11968

120-
diff --git a/src/boost/libs/config/checks/architecture/Jamfile.jam b/src/boost/libs/config/checks/architecture/Jamfile.jam
121-
index 2ba54f9ad..faf57eb13 100644
122-
--- a/src/boost/libs/config/checks/architecture/Jamfile.jam
123-
+++ b/src/boost/libs/config/checks/architecture/Jamfile.jam
124-
@@ -23,4 +23,5 @@ obj power : power.cpp ;
69+
diff --git a/ceph/src/boost/libs/config/checks/architecture/Jamfile.jam b/ceph/src/boost/libs/config/checks/architecture/Jamfile.jam
70+
index c3779d917..bcbfad148 100644
71+
--- a/ceph/src/boost/libs/config/checks/architecture/Jamfile.jam
72+
+++ b/ceph/src/boost/libs/config/checks/architecture/Jamfile.jam
73+
@@ -24,4 +24,5 @@ obj power : power.cpp ;
12574
obj riscv : riscv.cpp ;
12675
obj sparc : sparc.cpp ;
12776
obj x86 : x86.cpp ;
12877
+obj loongarch : loongarch.cpp ;
12978
obj s390x : s390x.cpp ;
130-
diff --git a/src/boost/libs/config/checks/architecture/loongarch.cpp b/src/boost/libs/config/checks/architecture/loongarch.cpp
131-
new file mode 100644
132-
index 000000000..ecd84e0a4
133-
--- /dev/null
134-
+++ b/src/boost/libs/config/checks/architecture/loongarch.cpp
135-
@@ -0,0 +1,12 @@
136-
+// loongarch.cpp
137-
+//
138-
+// Copyright (c) 2012 Steven Watanabe
139-
+//
140-
+// Distributed under the Boost Software License Version 1.0. (See
141-
+// accompanying file LICENSE_1_0.txt or copy at
142-
+// http://www.boost.org/LICENSE_1_0.txt)
143-
+
144-
+#if !defined(__loongarch) && !defined(__loongarch__) && !defined(__loongarch64__) \
145-
+ && !defined(__loong) && !defined(__LOONGARCH__)
146-
+#error "Not LOONGARCH"
147-
+#endif
148-
diff --git a/src/common/Cycles.h b/src/common/Cycles.h
79+
diff --git a/ceph/src/common/Cycles.h b/ceph/src/common/Cycles.h
14980
index b546479c2..1bae9d616 100644
150-
--- a/src/common/Cycles.h
151-
+++ b/src/common/Cycles.h
81+
--- a/ceph/src/common/Cycles.h
82+
+++ b/ceph/src/common/Cycles.h
15283
@@ -84,6 +84,10 @@ class Cycles {
15384
uint64_t tsc;
15485
asm volatile("stck %0" : "=Q" (tsc) : : "cc");
@@ -160,10 +91,10 @@ index b546479c2..1bae9d616 100644
16091
#else
16192
#warning No high-precision counter available for your OS/arch
16293
return 0;
163-
diff --git a/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt b/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
94+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt b/ceph/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
16495
index 6d2b27435..46b54793e 100755
165-
--- a/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
166-
+++ b/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
96+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
97+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/CMakeLists.txt
16798
@@ -64,6 +64,8 @@ else()
16899
set(ARCH riscv)
169100
elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "^(s390x.*|S390X.*)")
@@ -173,10 +104,10 @@ index 6d2b27435..46b54793e 100755
173104
else()
174105
message(
175106
FATAL_ERROR
176-
diff --git a/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h b/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
107+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h b/ceph/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
177108
index 9bef594be..e7d523fea 100644
178-
--- a/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
179-
+++ b/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
109+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
110+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/third_party/benchmark/src/cycleclock.h
180111
@@ -204,7 +204,7 @@ inline BENCHMARK_ALWAYS_INLINE int64_t Now() {
181112
asm volatile("rdcycle %0" : "=r"(cycles));
182113
return cycles;
@@ -186,11 +117,11 @@ index 9bef594be..e7d523fea 100644
186117
struct timeval tv;
187118
gettimeofday(&tv, nullptr);
188119
return static_cast<int64_t>(tv.tv_sec) * 1000000 + tv.tv_usec;
189-
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
190-
index 8ffcc93dd..512bfdf8c 100644
191-
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
192-
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
193-
@@ -12,7 +12,7 @@ Build-Depends: halide[core,target-x86] (x86|x64), halide[core,target-arm] (arm&!
120+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
121+
index 8ffcc93dd..3ac27d425 100644
122+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
123+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/CONTROL
124+
@@ -12,12 +12,16 @@ Build-Depends: halide[core,target-x86] (x86|x64), halide[core,target-arm] (arm&!
194125

195126
Feature: target-all
196127
Description: Include all targets
@@ -199,18 +130,19 @@ index 8ffcc93dd..512bfdf8c 100644
199130

200131
Feature: target-aarch64
201132
Description: Include AArch64 target
202-
@@ -62,3 +62,7 @@ Feature: target-x86
203-
Description: Include X86 target
204-
Build-Depends: llvm[core,target-x86]
133+
Build-Depends: llvm[core,target-aarch64]
205134

206135
+Feature: target-loongarch
207136
+Description: Include LOONGARCH target
208137
+Build-Depends: llvm[core,target-loongarch]
209138
+
210-
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
139+
Feature: target-amdgpu
140+
Description: Include AMDGPU target
141+
Build-Depends: llvm[core,target-amdgpu]
142+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
211143
index b8e08adda..51e106739 100644
212-
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
213-
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
144+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
145+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/halide/portfile.cmake
214146
@@ -27,6 +27,7 @@ vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
215147
target-powerpc TARGET_POWERPC
216148
target-riscv TARGET_RISCV
@@ -219,10 +151,10 @@ index b8e08adda..51e106739 100644
219151
)
220152

221153
vcpkg_configure_cmake(
222-
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
154+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
223155
index 356a25bf1..c793fceb4 100644
224-
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
225-
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
156+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
157+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/portfile.cmake
226158
@@ -181,6 +181,7 @@ set(known_llvm_targets
227159
WebAssembly
228160
X86
@@ -231,10 +163,10 @@ index 356a25bf1..c793fceb4 100644
231163
)
232164

233165
set(LLVM_TARGETS_TO_BUILD "")
234-
diff --git a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
166+
diff --git a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
235167
index 4590e5111..c34d78292 100644
236-
--- a/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
237-
+++ b/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
168+
--- a/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
169+
+++ b/ceph/src/jaegertracing/opentelemetry-cpp/tools/vcpkg/ports/llvm/vcpkg.json
238170
@@ -258,6 +258,7 @@
239171
"target-systemz",
240172
"target-webassembly",
@@ -253,10 +185,10 @@ index 4590e5111..c34d78292 100644
253185
"target-xcore": {
254186
"description": "Build with XCore backend."
255187
},
256-
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
188+
diff --git a/ceph/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/ceph/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
257189
index 46111e7f0..4555b8f71 100644
258-
--- a/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
259-
+++ b/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
190+
--- a/ceph/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
191+
+++ b/ceph/src/rocksdb/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
260192
@@ -154,6 +154,10 @@ static inline tokutime_t toku_time_now(void) {
261193
uint64_t cycles;
262194
asm volatile("rdcycle %0" : "=r"(cycles));
@@ -268,6 +200,3 @@ index 46111e7f0..4555b8f71 100644
268200
#else
269201
#error No timer implementation for this platform
270202
#endif
271-
--
272-
2.43.0
273-

0 commit comments

Comments
 (0)