Compare commits
187 Commits
master
...
f37-riscv6
Author | SHA1 | Date | |
---|---|---|---|
cea98fe81e | |||
|
6ccfff2e75 | ||
|
af3d1fd70c | ||
|
dcd56612c3 | ||
|
f52b5ed647 | ||
|
bef339f92a | ||
|
5c6ef2f610 | ||
|
d40c842f85 | ||
|
b651554bd7 | ||
|
80c32a846e | ||
|
c59af85c9a | ||
|
ad04d48a91 | ||
|
5cc1064abe | ||
|
0f36784c8d | ||
|
4641edbf6e | ||
|
7522ec1d1e | ||
|
4a7615cc28 | ||
|
eacbe3b4a2 | ||
|
87c5192736 | ||
|
21a281eefc | ||
|
7c4f87d566 | ||
|
85d0b180fb | ||
|
2999191251 | ||
|
0434611ff3 | ||
|
4425090d12 | ||
|
4f320e6270 | ||
|
3ca3b39fdd | ||
|
c46fd83b70 | ||
|
9189e1ac7a | ||
|
f3cd3e3ded | ||
|
3e6e53903f | ||
|
1156a4001e | ||
|
511c2f1a19 | ||
|
a4f5a49de7 | ||
|
629d997bbd | ||
|
b2a3bb3cff | ||
|
edd18f65bf | ||
|
944b374961 | ||
|
90dfc56cf2 | ||
|
bf163e9b33 | ||
|
5897751ce1 | ||
|
73efddca7f | ||
|
f9fa7d2971 | ||
|
1efbe7fbd6 | ||
|
fed2cbacdf | ||
|
bddfe865f2 | ||
|
e56d4b2886 | ||
|
b6062fd6dc | ||
|
8c6b1da0a2 | ||
|
1f11726563 | ||
|
bba894de7e | ||
|
3715b23426 | ||
|
f38d3f777f | ||
|
0114881ab4 | ||
|
a786ef1504 | ||
|
2931b99be7 | ||
|
70e587526e | ||
|
9c86a420ea | ||
|
0c8ed285d3 | ||
|
ddbcb5d66f | ||
|
8c750b960c | ||
|
abdbef9e0e | ||
|
43b4197d44 | ||
|
b0c18eeafc | ||
|
9c55220808 | ||
|
8a6545912f | ||
|
e7a5495ba4 | ||
|
7c50250c92 | ||
|
1217c82a28 | ||
|
8d6f5530e7 | ||
|
fe9cf79756 | ||
|
0d4b487537 | ||
|
13c95af02e | ||
|
c8153cb68b | ||
|
a82adb1178 | ||
|
0da31a640b | ||
|
c5116a4d3d | ||
|
f6c80111f0 | ||
|
65809728d6 | ||
|
d7454e4e0a | ||
|
804031cde8 | ||
|
f126724be1 | ||
|
9e94fbdfaf | ||
|
b070296ace | ||
|
98f7173b37 | ||
|
4bd118debc | ||
|
78e076b5af | ||
|
976474060f | ||
|
d60970c7cd | ||
|
4a2e67ce27 | ||
|
5cee54462c | ||
|
5e9e44ba9d | ||
|
03686a5492 | ||
|
c4b36fdbe9 | ||
|
ba585a6512 | ||
|
3aa610e268 | ||
|
af4b4952f8 | ||
|
cbed2814c2 | ||
|
92605c05f0 | ||
|
fc46f52db9 | ||
|
7ccae1fdf3 | ||
|
1fdc7e124d | ||
|
be247e2321 | ||
|
7d89214d12 | ||
|
189f095ebc | ||
|
a7b4842132 | ||
|
07c18dd027 | ||
|
415b03ce74 | ||
|
3d9c93f7ab | ||
|
59dc7d2595 | ||
|
bf4b7aed66 | ||
|
501243427a | ||
|
9e63d61879 | ||
|
19975cf06e | ||
|
7b01ed79a0 | ||
|
f871a2726e | ||
|
f52ea67e29 | ||
|
df3db8be0e | ||
|
da3f27e563 | ||
|
d5be4a1cc6 | ||
|
950231a5bb | ||
|
b774776eb5 | ||
|
be7e755323 | ||
|
95e779c6c1 | ||
|
73dfbc7ffd | ||
|
be70cfd29d | ||
|
2e1f76369c | ||
|
6daabd97d4 | ||
|
fbd3e48156 | ||
|
6fc0065262 | ||
|
df740a5e36 | ||
|
cb586a7643 | ||
|
447d02458a | ||
|
f0623329e5 | ||
|
624de89cce | ||
|
0e58e2f39c | ||
|
66d0b21911 | ||
|
abcc0b7100 | ||
|
cc4e5c3669 | ||
|
5c46ad7f7e | ||
|
5904d137cf | ||
|
21ae44b9d8 | ||
|
ab7f0da7e2 | ||
|
db4f36a951 | ||
|
0654a1fdc4 | ||
|
1e83c5c029 | ||
|
e4cc93f966 | ||
|
26fd4ffbc6 | ||
|
d463ff311e | ||
|
ef8dc618c7 | ||
|
fcc245cca3 | ||
|
acfede696d | ||
|
d6834c5aab | ||
|
a09febb7ef | ||
|
9cdcdd7459 | ||
|
6c126d30be | ||
|
3913155591 | ||
|
648550e64f | ||
|
4deb491174 | ||
|
d8a9bdfabe | ||
|
0d98dedd32 | ||
|
16a5d9d365 | ||
|
b7bbd8375e | ||
|
7816ec5783 | ||
|
e7d942d1e6 | ||
|
e559532d4b | ||
|
2abb0a0f7c | ||
|
ce8aeac3f1 | ||
|
c5f02885fe | ||
|
0bbc5f85a7 | ||
|
b0cac5e936 | ||
|
a384bd1238 | ||
|
c7349cff7f | ||
|
f706627b65 | ||
|
0f1e9aab49 | ||
|
0c11deb6e7 | ||
|
f2665f8f56 | ||
|
d472f02868 | ||
|
9ccdbdeb2a | ||
|
f8c0702a5e | ||
|
51d56299ba | ||
|
f92c59c650 | ||
|
89637a46f7 | ||
|
c3ded1ba4d | ||
|
229de7b3ab | ||
|
d7375fe89d | ||
|
8ceca65767 |
@ -1,65 +0,0 @@
|
|||||||
From a45270a441d483ce57db48cda699a0d2d9c01f18 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Boris Ranto <branto@redhat.com>
|
|
||||||
Date: Thu, 28 Feb 2019 00:58:12 +0100
|
|
||||||
Subject: [PATCH] s390x: A compile hack
|
|
||||||
|
|
||||||
Signed-off-by: Boris Ranto <branto@redhat.com>
|
|
||||||
---
|
|
||||||
src/rgw/rgw_dmclock_async_scheduler.cc | 2 ++
|
|
||||||
src/test/rgw/test_rgw_dmclock_scheduler.cc | 8 ++++----
|
|
||||||
2 files changed, 6 insertions(+), 4 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/src/rgw/rgw_dmclock_async_scheduler.cc b/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
index 18ba5a5e32..08657cf2b5 100644
|
|
||||||
--- a/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
+++ b/src/rgw/rgw_dmclock_async_scheduler.cc
|
|
||||||
@@ -41,6 +41,7 @@ int AsyncScheduler::schedule_request_impl(const client_id& client,
|
|
||||||
const Time& time, const Cost& cost,
|
|
||||||
optional_yield yield_ctx)
|
|
||||||
{
|
|
||||||
+#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
ceph_assert(yield_ctx);
|
|
||||||
|
|
||||||
auto &yield = yield_ctx.get_yield_context();
|
|
||||||
@@ -53,6 +54,7 @@ int AsyncScheduler::schedule_request_impl(const client_id& client,
|
|
||||||
else
|
|
||||||
return -ec.value();
|
|
||||||
}
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
diff --git a/src/test/rgw/test_rgw_dmclock_scheduler.cc b/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
index 4e4177cb0b..ddbfd12217 100644
|
|
||||||
--- a/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
+++ b/src/test/rgw/test_rgw_dmclock_scheduler.cc
|
|
||||||
@@ -14,6 +14,8 @@
|
|
||||||
|
|
||||||
//#define BOOST_ASIO_ENABLE_HANDLER_TRACKING
|
|
||||||
|
|
||||||
+#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
+
|
|
||||||
#include "rgw/rgw_dmclock_sync_scheduler.h"
|
|
||||||
#include "rgw/rgw_dmclock_async_scheduler.h"
|
|
||||||
|
|
||||||
@@ -395,8 +397,6 @@ TEST(Queue, CrossExecutorRequest)
|
|
||||||
EXPECT_EQ(PhaseType::priority, *p2);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#ifdef HAVE_BOOST_CONTEXT
|
|
||||||
-
|
|
||||||
TEST(Queue, SpawnAsyncRequest)
|
|
||||||
{
|
|
||||||
boost::asio::io_context context;
|
|
||||||
@@ -426,6 +426,6 @@ TEST(Queue, SpawnAsyncRequest)
|
|
||||||
EXPECT_TRUE(context.stopped());
|
|
||||||
}
|
|
||||||
|
|
||||||
-#endif
|
|
||||||
-
|
|
||||||
} // namespace rgw::dmclock
|
|
||||||
+
|
|
||||||
+#endif
|
|
||||||
--
|
|
||||||
2.20.1
|
|
||||||
|
|
55
0001-src-common-crc32c_intel_fast.patch
Normal file
55
0001-src-common-crc32c_intel_fast.patch
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
--- ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s.orig 2020-05-26 08:34:32.226201974 -0400
|
||||||
|
+++ ceph-15.2.2/src/common/crc32c_intel_fast_zero_asm.s 2020-05-26 17:19:32.497201974 -0400
|
||||||
|
@@ -1,5 +1,5 @@
|
||||||
|
;
|
||||||
|
-; Copyright 2012-2013 Intel Corporation All Rights Reserved.
|
||||||
|
+; Copyright 2012-2015 Intel Corporation All Rights Reserved.
|
||||||
|
; All rights reserved.
|
||||||
|
;
|
||||||
|
; http://opensource.org/licenses/BSD-3-Clause
|
||||||
|
@@ -59,6 +59,19 @@
|
||||||
|
xor rbx, rbx ;; rbx = crc1 = 0;
|
||||||
|
xor r10, r10 ;; r10 = crc2 = 0;
|
||||||
|
|
||||||
|
+ cmp len, %%bSize*3*2
|
||||||
|
+ jbe %%non_prefetch
|
||||||
|
+
|
||||||
|
+ %assign i 0
|
||||||
|
+ %rep %%bSize/8 - 1
|
||||||
|
+ crc32 rax, bufptmp ;; update crc0
|
||||||
|
+ crc32 rbx, bufptmp ;; update crc1
|
||||||
|
+ crc32 r10, bufptmp ;; update crc2
|
||||||
|
+ %assign i (i+8)
|
||||||
|
+ %endrep
|
||||||
|
+ jmp %%next %+ %1
|
||||||
|
+
|
||||||
|
+%%non_prefetch:
|
||||||
|
%assign i 0
|
||||||
|
%rep %%bSize/8 - 1
|
||||||
|
crc32 rax, bufptmp ;; update crc0
|
||||||
|
@@ -66,6 +79,8 @@
|
||||||
|
crc32 r10, bufptmp ;; update crc2
|
||||||
|
%assign i (i+8)
|
||||||
|
%endrep
|
||||||
|
+
|
||||||
|
+%%next %+ %1:
|
||||||
|
crc32 rax, bufptmp ;; update crc0
|
||||||
|
crc32 rbx, bufptmp ;; update crc1
|
||||||
|
; SKIP ;crc32 r10, bufptmp ;; update crc2
|
||||||
|
@@ -180,12 +195,15 @@
|
||||||
|
%define crc_init_dw r8d
|
||||||
|
%endif
|
||||||
|
|
||||||
|
-
|
||||||
|
+ endbranch
|
||||||
|
push rdi
|
||||||
|
push rbx
|
||||||
|
|
||||||
|
mov rax, crc_init ;; rax = crc_init;
|
||||||
|
|
||||||
|
+ cmp len, 8
|
||||||
|
+ jb less_than_8
|
||||||
|
+
|
||||||
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; 1) ALIGN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
@ -1,13 +0,0 @@
|
|||||||
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt
|
|
||||||
index 65ba10b0f1..eeedc29c37 100644
|
|
||||||
--- a/src/common/CMakeLists.txt
|
|
||||||
+++ b/src/common/CMakeLists.txt
|
|
||||||
@@ -165,7 +165,7 @@ elseif(HAVE_ARMV8_CRC)
|
|
||||||
crc32c_aarch64.c)
|
|
||||||
endif(HAVE_INTEL)
|
|
||||||
|
|
||||||
-add_library(crc32 ${crc32_srcs})
|
|
||||||
+add_library(crc32 STATIC ${crc32_srcs})
|
|
||||||
if(HAVE_ARMV8_CRC)
|
|
||||||
set_target_properties(crc32 PROPERTIES
|
|
||||||
COMPILE_FLAGS "${CMAKE_C_FLAGS} ${ARMV8_CRC_COMPILE_FLAGS}")
|
|
10
0003-src-common-bitstr.h.patch
Normal file
10
0003-src-common-bitstr.h.patch
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
--- ceph-15.1.0/src/common/bit_str.h.orig 2020-02-03 09:47:20.047149798 -0500
|
||||||
|
+++ ceph-15.1.0/src/common/bit_str.h 2020-02-03 09:47:50.213149798 -0500
|
||||||
|
@@ -17,6 +17,7 @@
|
||||||
|
#include <cstdint>
|
||||||
|
#include <iosfwd>
|
||||||
|
#include <functional>
|
||||||
|
+#include <ostream>
|
||||||
|
|
||||||
|
namespace ceph {
|
||||||
|
class Formatter;
|
11
0008-cmake-modules-Finduring.cmake.patch
Normal file
11
0008-cmake-modules-Finduring.cmake.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
--- ceph-16.1.0-43-g6b74fb5c/cmake/modules/Finduring.cmake.orig 2021-02-01 08:45:39.316108287 -0500
|
||||||
|
+++ ceph-16.1.0-43-g6b74fb5c/cmake/modules/Finduring.cmake 2021-02-01 08:45:59.813665378 -0500
|
||||||
|
@@ -5,7 +5,7 @@
|
||||||
|
# uring_FOUND - True if uring found.
|
||||||
|
|
||||||
|
find_path(URING_INCLUDE_DIR liburing.h)
|
||||||
|
-find_library(URING_LIBRARIES liburing.a liburing)
|
||||||
|
+find_library(URING_LIBRARIES liburing.so liburing)
|
||||||
|
|
||||||
|
include(FindPackageHandleStandardArgs)
|
||||||
|
find_package_handle_standard_args(uring DEFAULT_MSG URING_LIBRARIES URING_INCLUDE_DIR)
|
@ -0,0 +1,27 @@
|
|||||||
|
From 1999108aeb1f6f93a19ea7bb64c6ae8b87d1b264 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:33:13 -0800
|
||||||
|
Subject: [PATCH] CET: Add CET marker to crc32c_intel_fast_zero_asm.s
|
||||||
|
|
||||||
|
Add .note.gnu.property section to crc32c_intel_fast_zero_asm.s to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
src/common/crc32c_intel_fast_zero_asm.s | 4 ++++
|
||||||
|
1 file changed, 4 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/common/crc32c_intel_fast_zero_asm.s b/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
index 216ecf639f3..2e291d858f3 100644
|
||||||
|
--- a/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
+++ b/src/common/crc32c_intel_fast_zero_asm.s
|
||||||
|
@@ -654,4 +654,8 @@ slversion crc32_iscsi_zero_00, 00, 02, 0014
|
||||||
|
%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
; inform linker that this doesn't require executable stack
|
||||||
|
section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
172
0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch
Normal file
172
0011-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assembly-co.patch
Normal file
@ -0,0 +1,172 @@
|
|||||||
|
From bbcc1a69f787881f16156f3c789052942a564103 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:35:49 -0800
|
||||||
|
Subject: [PATCH] isa-l/CET: Add CET marker to x86-64 crc32 assembly codes
|
||||||
|
|
||||||
|
Add .note.gnu.property section to x86-64 crc32 assembly codes to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
crc/crc32_gzip_refl_by16_10.asm | 9 +++++++++
|
||||||
|
crc/crc32_gzip_refl_by8.asm | 9 +++++++++
|
||||||
|
crc/crc32_gzip_refl_by8_02.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_01.asm | 8 ++++++++
|
||||||
|
crc/crc32_ieee_02.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_by16_10.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_by4.asm | 9 +++++++++
|
||||||
|
crc/crc32_iscsi_00.asm | 8 ++++++++
|
||||||
|
crc/crc32_iscsi_01.asm | 8 ++++++++
|
||||||
|
9 files changed, 78 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
index 40236f6..b16874d 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by16_10.asm
|
||||||
|
@@ -566,3 +566,12 @@ global no_ %+ FUNCTION_NAME
|
||||||
|
no_ %+ FUNCTION_NAME %+ :
|
||||||
|
%endif
|
||||||
|
%endif ; (AS_FEATURE_LEVEL) >= 10
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by8.asm b/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
index 62f7e7d..97b0c4a 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_gzip_refl_by8, 01, 00, 002c
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
index 80d849e..1d5a75f 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_gzip_refl_by8_02.asm
|
||||||
|
@@ -553,3 +553,12 @@ pshufb_shf_table:
|
||||||
|
; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15
|
||||||
|
dq 0x8786858483828100, 0x8f8e8d8c8b8a8988
|
||||||
|
dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_01.asm b/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
index 32495ed..cfc443b 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_01, 01, 06, 0011
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_02.asm b/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
index 8a472b0..dd7096a 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_02.asm
|
||||||
|
@@ -649,3 +649,12 @@ pshufb_shf_table:
|
||||||
|
; dq 0x060504030201008f, 0x0e0d0c0b0a090807 ; shl 1 (16-15) / shr15
|
||||||
|
dq 0x8786858483828100, 0x8f8e8d8c8b8a8988
|
||||||
|
dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_by16_10.asm b/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
index 200fd93..2afd597 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_by16_10.asm
|
||||||
|
@@ -582,3 +582,12 @@ global no_ %+ FUNCTION_NAME
|
||||||
|
no_ %+ FUNCTION_NAME %+ :
|
||||||
|
%endif
|
||||||
|
%endif ; (AS_FEATURE_LEVEL) >= 10
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_ieee_by4.asm b/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
index 39bed5a..847d0bd 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_by4, 05, 02, 0017
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_iscsi_00.asm b/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
index 4f81e3a..3d6b2d1 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_00, 00, 04, 0014
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/isa-l/crc/crc32_iscsi_01.asm b/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
index 2a81517..c048413 100644
|
||||||
|
--- a/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
+++ b/src/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
@@ -588,3 +588,11 @@ K_table:
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_01, 01, 04, 0015
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
100
0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch
Normal file
100
0012-spdk-isa-l-CET-Add-CET-marker-to-x86-64-crc32-assemb.patch
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
From 72e6d27e08c86c16e8931739a5e6ecbc06b102d5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "H.J. Lu" <hjl.tools@gmail.com>
|
||||||
|
Date: Thu, 20 Jan 2022 05:40:56 -0800
|
||||||
|
Subject: [PATCH] spdk/isa-l/CET: Add CET marker to x86-64 crc32 assembly codes
|
||||||
|
|
||||||
|
Add .note.gnu.property section to x86-64 crc32 assembly codes to mark
|
||||||
|
for IBT and SHSTK compatibility.
|
||||||
|
---
|
||||||
|
crc/crc32_gzip_refl_by8.asm | 9 +++++++++
|
||||||
|
crc/crc32_ieee_01.asm | 8 ++++++++
|
||||||
|
crc/crc32_ieee_by4.asm | 9 +++++++++
|
||||||
|
crc/crc32_iscsi_00.asm | 8 ++++++++
|
||||||
|
crc/crc32_iscsi_01.asm | 8 ++++++++
|
||||||
|
5 files changed, 42 insertions(+)
|
||||||
|
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
index 62f7e7d..97b0c4a 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_gzip_refl_by8.asm
|
||||||
|
@@ -622,3 +622,12 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_gzip_refl_by8, 01, 00, 002c
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_ieee_01.asm b/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
index 32495ed..cfc443b 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_ieee_01.asm
|
||||||
|
@@ -653,3 +653,11 @@ dq 0x0706050403020100, 0x000e0d0c0b0a0908
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_01, 01, 06, 0011
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_ieee_by4.asm b/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
index 39bed5a..847d0bd 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_ieee_by4.asm
|
||||||
|
@@ -563,3 +563,12 @@ SHUF_MASK dq 0x08090A0B0C0D0E0F, 0x0001020304050607
|
||||||
|
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_ieee_by4, 05, 02, 0017
|
||||||
|
+
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_iscsi_00.asm b/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
index 4f81e3a..3d6b2d1 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_iscsi_00.asm
|
||||||
|
@@ -669,3 +669,11 @@ DD 0x54851c7f,0x89e3d7c4,0xeba4fdf8,0x36c23643
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_00, 00, 04, 0014
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
diff --git a/src/spdk/isa-l/crc/crc32_iscsi_01.asm b/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
index 2a81517..c048413 100644
|
||||||
|
--- a/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
+++ b/src/spdk/isa-l/crc/crc32_iscsi_01.asm
|
||||||
|
@@ -588,3 +588,11 @@ K_table:
|
||||||
|
;;; func core, ver, snum
|
||||||
|
slversion crc32_iscsi_01, 01, 04, 0015
|
||||||
|
|
||||||
|
+%ifidn __OUTPUT_FORMAT__, elf64
|
||||||
|
+; inform linker that this doesn't require executable stack
|
||||||
|
+section .note.GNU-stack noalloc noexec nowrite progbits
|
||||||
|
+; inform linker that this is compatible with IBT and SHSTK
|
||||||
|
+section .note.gnu.property note alloc noexec align=8
|
||||||
|
+DD 0x00000004,0x00000010,0x00000005,0x00554e47
|
||||||
|
+DD 0xc0000002,0x00000004,0x00000003,0x00000000
|
||||||
|
+%endif
|
||||||
|
--
|
||||||
|
2.34.1
|
||||||
|
|
23
0016-src-tracing-patch
Normal file
23
0016-src-tracing-patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
--- ceph-16.2.6-681-gfdc003bc/src/tracing/bluestore.tp.orig 2021-12-07 08:02:04.682972474 -0500
|
||||||
|
+++ ceph-16.2.6-681-gfdc003bc/src/tracing/bluestore.tp 2021-12-07 08:03:13.840771852 -0500
|
||||||
|
@@ -1,3 +1,9 @@
|
||||||
|
+
|
||||||
|
+#ifdef __x86_64__
|
||||||
|
+#undef STAP_SDT_ARG_CONSTRAINT
|
||||||
|
+#define STAP_SDT_ARG_CONSTRAINT norx
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "include/int_types.h"
|
||||||
|
|
||||||
|
TRACEPOINT_EVENT(bluestore, transaction_state_duration,
|
||||||
|
--- ceph-16.2.6-681-gfdc003bc/src/tracing/librbd.tp.orig 2021-12-07 09:50:16.467579483 -0500
|
||||||
|
+++ ceph-16.2.6-681-gfdc003bc/src/tracing/librbd.tp 2021-12-07 09:50:47.620026940 -0500
|
||||||
|
@@ -1,3 +1,8 @@
|
||||||
|
+#ifdef __x86_64__
|
||||||
|
+#undef STAP_SDT_ARG_CONSTRAINT
|
||||||
|
+#define STAP_SDT_ARG_CONSTRAINT norx
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include "tracing/tracing-common.h"
|
||||||
|
#include "include/rbd/librbd.h"
|
||||||
|
#include "include/int_types.h"
|
63
0017-gcc-12-omnibus.patch
Normal file
63
0017-gcc-12-omnibus.patch
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
--- ceph-16.2.7/src/include/buffer.h.orig 2022-01-17 12:17:19.193356237 -0500
|
||||||
|
+++ ceph-16.2.7/src/include/buffer.h 2022-01-17 12:17:58.599639592 -0500
|
||||||
|
@@ -38,6 +38,7 @@
|
||||||
|
# include <sys/mman.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
+#include <memory>
|
||||||
|
#include <iosfwd>
|
||||||
|
#include <iomanip>
|
||||||
|
#include <list>
|
||||||
|
--- ceph-16.2.7/src/common/LogEntry.cc.orig 2022-01-17 13:52:10.799134159 -0500
|
||||||
|
+++ ceph-16.2.7/src/common/LogEntry.cc 2022-01-17 13:52:47.244469274 -0500
|
||||||
|
@@ -183,7 +183,7 @@
|
||||||
|
return "crit";
|
||||||
|
default:
|
||||||
|
ceph_abort();
|
||||||
|
- return 0;
|
||||||
|
+ return "";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
--- ceph-16.2.7/src/test/librados/tier_cxx.cc.orig 2022-01-19 09:30:47.209459506 -0500
|
||||||
|
+++ ceph-16.2.7/src/test/librados/tier_cxx.cc 2022-01-19 10:02:47.783240298 -0500
|
||||||
|
@@ -114,7 +114,7 @@
|
||||||
|
#include "rgw/rgw_common.h"
|
||||||
|
|
||||||
|
void check_fp_oid_refcount(librados::IoCtx& ioctx, std::string foid, uint64_t count,
|
||||||
|
- std::string fp_algo = NULL)
|
||||||
|
+ std::string fp_algo = "")
|
||||||
|
{
|
||||||
|
bufferlist t;
|
||||||
|
int size = foid.length();
|
||||||
|
@@ -142,7 +142,7 @@
|
||||||
|
ASSERT_LE(count, refs.count());
|
||||||
|
}
|
||||||
|
|
||||||
|
-string get_fp_oid(string oid, std::string fp_algo = NULL)
|
||||||
|
+string get_fp_oid(string oid, std::string fp_algo = "")
|
||||||
|
{
|
||||||
|
if (fp_algo == "sha1") {
|
||||||
|
unsigned char fingerprint[CEPH_CRYPTO_SHA1_DIGESTSIZE + 1];
|
||||||
|
--- ceph-16.2.7/src/test/test_trans.cc.orig 2022-01-19 13:24:33.460008897 -0500
|
||||||
|
+++ ceph-16.2.7/src/test/test_trans.cc 2022-01-19 13:24:58.211554005 -0500
|
||||||
|
@@ -51,7 +51,7 @@
|
||||||
|
cout << "#dev " << filename << std::endl;
|
||||||
|
cout << "#mb " << mb << std::endl;
|
||||||
|
|
||||||
|
- ObjectStore *fs = new FileStore(cct.get(), filename, NULL);
|
||||||
|
+ ObjectStore *fs = new FileStore(cct.get(), filename, "");
|
||||||
|
if (fs->mount() < 0) {
|
||||||
|
cout << "mount failed" << std::endl;
|
||||||
|
return -1;
|
||||||
|
--- ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h.orig 2022-02-11 17:21:40.268627997 -0500
|
||||||
|
+++ ceph-17.0.0-10335-gfd206722/src/s3select/include/s3select_functions.h 2022-02-11 17:21:57.155325437 -0500
|
||||||
|
@@ -466,7 +466,7 @@
|
||||||
|
|
||||||
|
std::string print(int ident) override
|
||||||
|
{
|
||||||
|
- return std::string(0);
|
||||||
|
+ return std::string("");
|
||||||
|
}
|
||||||
|
|
||||||
|
void push_argument(base_statement* arg)
|
37
0018-src-rgw-store-dbstore-CMakeLists.txt.patch
Normal file
37
0018-src-rgw-store-dbstore-CMakeLists.txt.patch
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
--- ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt.orig 2022-03-01 08:19:04.974902872 -0500
|
||||||
|
+++ ceph-17.1.0/src/rgw/store/dbstore/sqlite/CMakeLists.txt 2022-03-11 07:55:16.236261471 -0500
|
||||||
|
@@ -12,5 +12,5 @@
|
||||||
|
set(SQLITE_COMPILE_FLAGS "-DSQLITE_THREADSAFE=1")
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SQLITE_COMPILE_FLAGS}")
|
||||||
|
|
||||||
|
-add_library(sqlite_db ${sqlite_db_srcs})
|
||||||
|
+add_library(sqlite_db STATIC ${sqlite_db_srcs})
|
||||||
|
target_link_libraries(sqlite_db sqlite3 dbstore_lib rgw_common)
|
||||||
|
--- ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt.orig 2022-02-28 14:11:49.987077811 -0500
|
||||||
|
+++ ceph-17.1.0/src/rgw/store/dbstore/CMakeLists.txt 2022-03-11 08:40:13.409682698 -0500
|
||||||
|
@@ -16,7 +16,7 @@
|
||||||
|
dbstore_mgr.cc
|
||||||
|
)
|
||||||
|
|
||||||
|
-add_library(dbstore_lib ${dbstore_srcs})
|
||||||
|
+add_library(dbstore_lib STATIC ${dbstore_srcs})
|
||||||
|
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/fmt/include")
|
||||||
|
target_include_directories(dbstore_lib PUBLIC "${CMAKE_SOURCE_DIR}/src/rgw")
|
||||||
|
set(link_targets spawn)
|
||||||
|
@@ -38,6 +38,7 @@
|
||||||
|
|
||||||
|
# add pthread library
|
||||||
|
set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} pthread)
|
||||||
|
+set (CMAKE_LINK_LIBRARIES ${CMAKE_LINK_LIBRARIES} global)
|
||||||
|
|
||||||
|
find_package(gtest QUIET)
|
||||||
|
if(WITH_TESTS)
|
||||||
|
@@ -47,7 +48,7 @@
|
||||||
|
endif()
|
||||||
|
|
||||||
|
include_directories(${CMAKE_INCLUDE_DIR})
|
||||||
|
-add_library(dbstore ${dbstore_mgr_srcs})
|
||||||
|
+add_library(dbstore STATIC ${dbstore_mgr_srcs})
|
||||||
|
target_link_libraries(dbstore ${CMAKE_LINK_LIBRARIES})
|
||||||
|
|
||||||
|
# testing purpose
|
43
0019-cmake-modules-CheckCxxAtomic.cmake.patch
Normal file
43
0019-cmake-modules-CheckCxxAtomic.cmake.patch
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
--- ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake.orig 2022-06-03 08:45:32.341075140 -0400
|
||||||
|
+++ ceph-17.2.0-359-gb2fe9ec8/cmake/modules/CheckCxxAtomic.cmake 2022-06-03 08:46:47.195775813 -0400
|
||||||
|
@@ -10,8 +10,9 @@
|
||||||
|
check_cxx_source_compiles("
|
||||||
|
#include <atomic>
|
||||||
|
#include <cstdint>
|
||||||
|
+#include <cstddef>
|
||||||
|
|
||||||
|
-#if defined(__s390x__) || defined(__mips__)
|
||||||
|
+#if defined(__SIZEOF_INT128__)
|
||||||
|
// Boost needs 16-byte atomics for tagged pointers.
|
||||||
|
// These are implemented via inline instructions on the platform
|
||||||
|
// if 16-byte alignment can be proven, and are delegated to libatomic
|
||||||
|
@@ -21,13 +22,27 @@
|
||||||
|
// We specifically test access via an otherwise unknown pointer here
|
||||||
|
// to ensure we get the most complex case. If this access can be
|
||||||
|
// done without libatomic, then all accesses can be done.
|
||||||
|
-bool atomic16(std::atomic<unsigned __int128> *ptr)
|
||||||
|
+struct tagged_ptr {
|
||||||
|
+ int* ptr;
|
||||||
|
+ std::size_t tag;
|
||||||
|
+};
|
||||||
|
+
|
||||||
|
+void atomic16(std::atomic<tagged_ptr> *ptr) __attribute__ ((used));
|
||||||
|
+void atomic16(std::atomic<tagged_ptr> *ptr)
|
||||||
|
{
|
||||||
|
- return *ptr != 0;
|
||||||
|
+ tagged_ptr p{nullptr, 1};
|
||||||
|
+ ptr->store(p);
|
||||||
|
+ tagged_ptr f = ptr->load();
|
||||||
|
+ tagged_ptr new_tag{nullptr, 0};
|
||||||
|
+ ptr->compare_exchange_strong(f, new_tag);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
+#if defined(__SIZEOF_INT128__)
|
||||||
|
+ std::atomic<tagged_ptr> ptr;
|
||||||
|
+ atomic16(&ptr);
|
||||||
|
+#endif
|
||||||
|
std::atomic<uint8_t> w1;
|
||||||
|
std::atomic<uint16_t> w2;
|
||||||
|
std::atomic<uint32_t> w4;
|
@ -0,0 +1,11 @@
|
|||||||
|
--- ceph-17.1.0-175-g086c8f84/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake.orig 2022-04-08 11:27:53.593570634 -0400
|
||||||
|
+++ ceph-17.1.0-175-g086c8f84/src/arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake 2022-04-08 11:28:20.778087653 -0400
|
||||||
|
@@ -1991,7 +1991,7 @@
|
||||||
|
|
||||||
|
if((NOT ARROW_SIMD_LEVEL STREQUAL "NONE") OR (NOT ARROW_RUNTIME_SIMD_LEVEL STREQUAL "NONE"
|
||||||
|
))
|
||||||
|
- set(xsimd_SOURCE "BUNDLED")
|
||||||
|
+ set(xsimd_SOURCE "SYSTEM")
|
||||||
|
resolve_dependency(xsimd)
|
||||||
|
# TODO: Don't use global includes but rather target_include_directories
|
||||||
|
include_directories(SYSTEM ${XSIMD_INCLUDE_DIR})
|
1756
0021-cephfs-shell.patch
Normal file
1756
0021-cephfs-shell.patch
Normal file
File diff suppressed because it is too large
Load Diff
28
0022-mon-Replace-deprecated-use-of-format_to.patch
Normal file
28
0022-mon-Replace-deprecated-use-of-format_to.patch
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
From fff72cd14c58d06774cbd0274e6144b42448af03 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "Adam C. Emerson" <aemerson@redhat.com>
|
||||||
|
Date: Mon, 7 Mar 2022 18:54:30 -0500
|
||||||
|
Subject: [PATCH] mon: Replace deprecated use of format_to
|
||||||
|
|
||||||
|
The non-deprecated version takes an explicit OutputIterator.
|
||||||
|
|
||||||
|
Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
|
||||||
|
---
|
||||||
|
src/mon/LogMonitor.cc | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/src/mon/LogMonitor.cc b/src/mon/LogMonitor.cc
|
||||||
|
index 9103ddf7c5b..c196e8429fb 100644
|
||||||
|
--- a/src/mon/LogMonitor.cc
|
||||||
|
+++ b/src/mon/LogMonitor.cc
|
||||||
|
@@ -411,7 +411,7 @@ void LogMonitor::log_external(const LogEntry& le)
|
||||||
|
}
|
||||||
|
|
||||||
|
if (fd >= 0) {
|
||||||
|
- fmt::format_to(file_log_buffer, "{}\n", le);
|
||||||
|
+ fmt::format_to(std::back_inserter(file_log_buffer), "{}\n", le);
|
||||||
|
int err = safe_write(fd, file_log_buffer.data(), file_log_buffer.size());
|
||||||
|
file_log_buffer.clear();
|
||||||
|
if (err < 0) {
|
||||||
|
--
|
||||||
|
2.36.1
|
||||||
|
|
218
0023-src-s3select-include-s3select_parquet_intrf.h.patch
Normal file
218
0023-src-s3select-include-s3select_parquet_intrf.h.patch
Normal file
@ -0,0 +1,218 @@
|
|||||||
|
--- ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h.orig 2022-01-11 15:47:52.000000000 -0500
|
||||||
|
+++ ceph-17.2.3/src/s3select/include/s3select_parquet_intrf.h 2022-08-22 10:26:06.738082924 -0400
|
||||||
|
@@ -26,6 +26,14 @@
|
||||||
|
#include "internal_file_decryptor.h"
|
||||||
|
#include "encryption_internal.h"
|
||||||
|
|
||||||
|
+#if ARROW_VERSION_MAJOR < 9
|
||||||
|
+#define _ARROW_FD fd_
|
||||||
|
+#define _ARROW_FD_TYPE int
|
||||||
|
+#else
|
||||||
|
+#define _ARROW_FD fd_.fd()
|
||||||
|
+#define _ARROW_FD_TYPE arrow::internal::FileDescriptor
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
/******************************************/
|
||||||
|
/******************************************/
|
||||||
|
class optional_yield;
|
||||||
|
@@ -164,7 +172,7 @@
|
||||||
|
std::mutex lock_;
|
||||||
|
|
||||||
|
// File descriptor
|
||||||
|
- int fd_;
|
||||||
|
+ _ARROW_FD_TYPE fd_;
|
||||||
|
|
||||||
|
FileMode::type mode_;
|
||||||
|
|
||||||
|
@@ -202,7 +210,7 @@
|
||||||
|
mode_ = write_only ? FileMode::WRITE : FileMode::READWRITE;
|
||||||
|
|
||||||
|
if (!truncate) {
|
||||||
|
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
|
||||||
|
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
|
||||||
|
} else {
|
||||||
|
size_ = 0;
|
||||||
|
}
|
||||||
|
@@ -222,7 +230,11 @@
|
||||||
|
RETURN_NOT_OK(SetFileName(fd));
|
||||||
|
is_open_ = true;
|
||||||
|
mode_ = FileMode::WRITE;
|
||||||
|
+ #if ARROW_VERSION_MAJOR < 9
|
||||||
|
fd_ = fd;
|
||||||
|
+ #else
|
||||||
|
+ fd_ = arrow::internal::FileDescriptor{fd};
|
||||||
|
+ #endif
|
||||||
|
return Status::OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -230,7 +242,7 @@
|
||||||
|
RETURN_NOT_OK(SetFileName(path));
|
||||||
|
|
||||||
|
ARROW_ASSIGN_OR_RAISE(fd_, ::arrow::internal::FileOpenReadable(file_name_));
|
||||||
|
- ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(fd_));
|
||||||
|
+ ARROW_ASSIGN_OR_RAISE(size_, ::arrow::internal::FileGetSize(_ARROW_FD));
|
||||||
|
|
||||||
|
is_open_ = true;
|
||||||
|
mode_ = FileMode::READ;
|
||||||
|
@@ -242,7 +254,11 @@
|
||||||
|
RETURN_NOT_OK(SetFileName(fd));
|
||||||
|
is_open_ = true;
|
||||||
|
mode_ = FileMode::READ;
|
||||||
|
+ #if ARROW_VERSION_MAJOR < 9
|
||||||
|
fd_ = fd;
|
||||||
|
+ #else
|
||||||
|
+ fd_ = arrow::internal::FileDescriptor{fd};
|
||||||
|
+ #endif
|
||||||
|
return Status::OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -258,9 +274,13 @@
|
||||||
|
// Even if closing fails, the fd will likely be closed (perhaps it's
|
||||||
|
// already closed).
|
||||||
|
is_open_ = false;
|
||||||
|
+ #if ARROW_VERSION_MAJOR < 9
|
||||||
|
int fd = fd_;
|
||||||
|
fd_ = -1;
|
||||||
|
RETURN_NOT_OK(::arrow::internal::FileClose(fd));
|
||||||
|
+ #else
|
||||||
|
+ RETURN_NOT_OK(fd_.Close());
|
||||||
|
+ #endif
|
||||||
|
}
|
||||||
|
return Status::OK();
|
||||||
|
}
|
||||||
|
@@ -268,7 +288,7 @@
|
||||||
|
Result<int64_t> Read(int64_t nbytes, void* out) override {
|
||||||
|
RETURN_NOT_OK(CheckClosed());
|
||||||
|
RETURN_NOT_OK(CheckPositioned());
|
||||||
|
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
|
||||||
|
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) override {
|
||||||
|
@@ -277,7 +297,7 @@
|
||||||
|
// ReadAt() leaves the file position undefined, so require that we seek
|
||||||
|
// before calling Read() or Write().
|
||||||
|
need_seeking_.store(true);
|
||||||
|
- return ::arrow::internal::FileReadAt(fd_, reinterpret_cast<uint8_t*>(out), position,
|
||||||
|
+ return ::arrow::internal::FileReadAt(_ARROW_FD, reinterpret_cast<uint8_t*>(out), position,
|
||||||
|
nbytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -286,7 +306,7 @@
|
||||||
|
if (pos < 0) {
|
||||||
|
return Status::Invalid("Invalid position");
|
||||||
|
}
|
||||||
|
- Status st = ::arrow::internal::FileSeek(fd_, pos);
|
||||||
|
+ Status st = ::arrow::internal::FileSeek(_ARROW_FD, pos);
|
||||||
|
if (st.ok()) {
|
||||||
|
need_seeking_.store(false);
|
||||||
|
}
|
||||||
|
@@ -295,7 +315,7 @@
|
||||||
|
|
||||||
|
Result<int64_t> Tell() const override {
|
||||||
|
RETURN_NOT_OK(CheckClosed());
|
||||||
|
- return ::arrow::internal::FileTell(fd_);
|
||||||
|
+ return ::arrow::internal::FileTell(_ARROW_FD);
|
||||||
|
}
|
||||||
|
|
||||||
|
Status Write(const void* data, int64_t length) override {
|
||||||
|
@@ -306,11 +326,11 @@
|
||||||
|
if (length < 0) {
|
||||||
|
return Status::IOError("Length must be non-negative");
|
||||||
|
}
|
||||||
|
- return ::arrow::internal::FileWrite(fd_, reinterpret_cast<const uint8_t*>(data),
|
||||||
|
+ return ::arrow::internal::FileWrite(_ARROW_FD, reinterpret_cast<const uint8_t*>(data),
|
||||||
|
length);
|
||||||
|
}
|
||||||
|
|
||||||
|
- int fd() const override { return fd_; }
|
||||||
|
+ int fd() const override { return _ARROW_FD; }
|
||||||
|
|
||||||
|
bool is_open() const override { return is_open_; }
|
||||||
|
|
||||||
|
@@ -345,7 +365,7 @@
|
||||||
|
std::mutex lock_;
|
||||||
|
|
||||||
|
// File descriptor
|
||||||
|
- int fd_;
|
||||||
|
+ _ARROW_FD_TYPE fd_;
|
||||||
|
|
||||||
|
FileMode::type mode_;
|
||||||
|
|
||||||
|
@@ -411,7 +431,11 @@
|
||||||
|
// already closed).
|
||||||
|
is_open_ = false;
|
||||||
|
//int fd = fd_;
|
||||||
|
+ #if ARROW_VERSION_MAJOR < 9
|
||||||
|
fd_ = -1;
|
||||||
|
+ #else
|
||||||
|
+ fd_.Close();
|
||||||
|
+ #endif
|
||||||
|
//RETURN_NOT_OK(::arrow::internal::FileClose(fd));
|
||||||
|
}
|
||||||
|
return Status::OK();
|
||||||
|
@@ -421,7 +445,7 @@
|
||||||
|
NOT_IMPLEMENT;
|
||||||
|
RETURN_NOT_OK(CheckClosed());
|
||||||
|
RETURN_NOT_OK(CheckPositioned());
|
||||||
|
- return ::arrow::internal::FileRead(fd_, reinterpret_cast<uint8_t*>(out), nbytes);
|
||||||
|
+ return ::arrow::internal::FileRead(_ARROW_FD, reinterpret_cast<uint8_t*>(out), nbytes);
|
||||||
|
}
|
||||||
|
|
||||||
|
Result<int64_t> ReadAt(int64_t position, int64_t nbytes, void* out) {
|
||||||
|
@@ -443,7 +467,7 @@
|
||||||
|
return Status::OK();
|
||||||
|
}
|
||||||
|
|
||||||
|
- int fd() const { return fd_; }
|
||||||
|
+ int fd() const { return _ARROW_FD; }
|
||||||
|
|
||||||
|
bool is_open() const { return is_open_; }
|
||||||
|
|
||||||
|
@@ -467,7 +491,7 @@
|
||||||
|
std::mutex lock_;
|
||||||
|
|
||||||
|
// File descriptor
|
||||||
|
- int fd_;
|
||||||
|
+ _ARROW_FD_TYPE fd_;
|
||||||
|
|
||||||
|
FileMode::type mode_;
|
||||||
|
|
||||||
|
@@ -609,7 +633,7 @@
|
||||||
|
for (const auto& range : ranges) {
|
||||||
|
RETURN_NOT_OK(internal::ValidateRange(range.offset, range.length));
|
||||||
|
#if defined(POSIX_FADV_WILLNEED)
|
||||||
|
- if (posix_fadvise(fd_, range.offset, range.length, POSIX_FADV_WILLNEED)) {
|
||||||
|
+ if (posix_fadvise(_ARROW_FD, range.offset, range.length, POSIX_FADV_WILLNEED)) {
|
||||||
|
return IOErrorFromErrno(errno, "posix_fadvise failed");
|
||||||
|
}
|
||||||
|
#elif defined(F_RDADVISE) // macOS, BSD?
|
||||||
|
@@ -617,7 +641,7 @@
|
||||||
|
off_t ra_offset;
|
||||||
|
int ra_count;
|
||||||
|
} radvisory{range.offset, static_cast<int>(range.length)};
|
||||||
|
- if (radvisory.ra_count > 0 && fcntl(fd_, F_RDADVISE, &radvisory) == -1) {
|
||||||
|
+ if (radvisory.ra_count > 0 && fcntl(_ARROW_FD, F_RDADVISE, &radvisory) == -1) {
|
||||||
|
return IOErrorFromErrno(errno, "fcntl(fd, F_RDADVISE, ...) failed");
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
@@ -970,6 +994,9 @@
|
||||||
|
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
|
||||||
|
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
|
||||||
|
return PageReader::Open(stream, col->num_values(), col->compression(),
|
||||||
|
+ #if ARROW_VERSION_MAJOR > 8
|
||||||
|
+ false,
|
||||||
|
+ #endif
|
||||||
|
properties_.memory_pool(), &ctx);
|
||||||
|
}
|
||||||
|
|
||||||
|
@@ -985,6 +1012,9 @@
|
||||||
|
CryptoContext ctx(col->has_dictionary_page(), row_group_ordinal_,
|
||||||
|
static_cast<int16_t>(i), meta_decryptor, data_decryptor);
|
||||||
|
return PageReader::Open(stream, col->num_values(), col->compression(),
|
||||||
|
+ #if ARROW_VERSION_MAJOR > 8
|
||||||
|
+ false,
|
||||||
|
+ #endif
|
||||||
|
properties_.memory_pool(), &ctx);
|
||||||
|
}
|
||||||
|
|
13
cmake-modules-BuildBoost.cmake.noautopatch
Normal file
13
cmake-modules-BuildBoost.cmake.noautopatch
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
diff --git a/cmake/modules/BuildBoost.cmake b/cmake/modules/BuildBoost.cmake
|
||||||
|
index 2e92132366..3cb1e3d958 100644
|
||||||
|
--- a/cmake/modules/BuildBoost.cmake
|
||||||
|
+++ b/cmake/modules/BuildBoost.cmake
|
||||||
|
@@ -62,7 +62,7 @@ function(do_build_boost version)
|
||||||
|
else()
|
||||||
|
list(APPEND boost_features "address-model=32")
|
||||||
|
endif()
|
||||||
|
- set(BOOST_CXXFLAGS "-fPIC -w") # check on arm, etc <---XXX
|
||||||
|
+ set(BOOST_CXXFLAGS "-fPIC -w -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -ftemplate-depth-1024 -fno-new-ttp-matching -fno-builtin-malloc -fno-builtin-calloc -fno-builtin-realloc -fno-builtin-free") # check on arm, etc <---XXX
|
||||||
|
list(APPEND boost_features "cxxflags=${BOOST_CXXFLAGS}")
|
||||||
|
|
||||||
|
set(boost_with_libs)
|
2
sources
2
sources
@ -1 +1 @@
|
|||||||
SHA512 (ceph-14.2.0.tar.gz) = c86a335714fd5678988133ec0e60cb10cd948250a133c073d1ed055c5bba232fa6f1e102dd7fcb0c70b37a07c9c2d1220d4a1713720e4dcab9659152ee577480
|
SHA512 (ceph-17.2.5.tar.gz) = 10cd3d9eb01c91c148a92f1f7d040bbd78af5bb1ab15d071d93f54b37097dc9e1268eed9e788fe32794d137f6af81abd6a2aeaee39cef44d2c45234a15cc6020
|
||||||
|
Loading…
Reference in New Issue
Block a user