mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 02:50:46 +00:00
rocksdb: upgrade 7.9.2 -> 9.0.0
ChangeLog: https://github.com/facebook/rocksdb/releases/tag/v9.0.0 * Refresh patches. * Drop backport patch. Signed-off-by: Yi Zhao <yi.zhao@windriver.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
@@ -1,70 +0,0 @@
|
||||
From 6e376601c990abaa5e261d1311f92acb3b370b8f Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Tue, 24 Jan 2023 21:40:43 -0800
|
||||
Subject: [PATCH] Add missing includes <cstdint> and <cstdio>
|
||||
|
||||
This is needed with GCC 13 and newer [1]
|
||||
|
||||
[1] https://www.gnu.org/software/gcc/gcc-13/porting_to.html
|
||||
|
||||
Upstream-Status: Backport [https://github.com/facebook/rocksdb/commit/88edfbfb5e1cac228f7cc31fbec24bb637fe54b1]
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../rocksdb/rocksdb/db/compaction/compaction_iteration_stats.h | 1 +
|
||||
storage/rocksdb/rocksdb/include/rocksdb/utilities/checkpoint.h | 1 +
|
||||
.../rocksdb/rocksdb/table/block_based/data_block_hash_index.h | 1 +
|
||||
storage/rocksdb/rocksdb/util/slice.cc | 1 +
|
||||
storage/rocksdb/rocksdb/util/string_util.h | 1 +
|
||||
tpool/aio_linux.cc | 1 +
|
||||
6 files changed, 6 insertions(+)
|
||||
|
||||
--- a/db/compaction/compaction_iteration_stats.h
|
||||
+++ b/db/compaction/compaction_iteration_stats.h
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
+#include <cstdint>
|
||||
#include "rocksdb/rocksdb_namespace.h"
|
||||
|
||||
namespace ROCKSDB_NAMESPACE {
|
||||
--- a/include/rocksdb/utilities/checkpoint.h
|
||||
+++ b/include/rocksdb/utilities/checkpoint.h
|
||||
@@ -8,6 +8,7 @@
|
||||
#pragma once
|
||||
#ifndef ROCKSDB_LITE
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--- a/table/block_based/data_block_hash_index.h
|
||||
+++ b/table/block_based/data_block_hash_index.h
|
||||
@@ -5,6 +5,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--- a/util/slice.cc
|
||||
+++ b/util/slice.cc
|
||||
@@ -12,6 +12,7 @@
|
||||
#include <stdio.h>
|
||||
|
||||
#include <algorithm>
|
||||
+#include <cstdint>
|
||||
|
||||
#include "rocksdb/convenience.h"
|
||||
#include "rocksdb/slice_transform.h"
|
||||
--- a/util/string_util.h
|
||||
+++ b/util/string_util.h
|
||||
@@ -6,6 +6,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <sstream>
|
||||
#include <string>
|
||||
#include <unordered_map>
|
||||
@@ -1,4 +1,4 @@
|
||||
From cf168ae0b7bceab8432d096719b331f18428fe39 Mon Sep 17 00:00:00 2001
|
||||
From 034a9c4ce2ae61cfcffa977f1eb8e6f68947f480 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Wed, 18 Mar 2020 15:10:37 -0700
|
||||
Subject: [PATCH] cmake: Add check for atomic support
|
||||
@@ -18,6 +18,7 @@ Fixes
|
||||
| /mnt/b/yoe/build/tmp/work/mips32r2-yoe-linux/rocksdb/6.6.4-r0/recipe-sysroot-native/usr/bin/mips-yoe-linux/mips-yoe-linux-ld: librocksdb.so.6.6.4: undefined reference to `__atomic_fetch_add_8'
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/6555]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
CMakeLists.txt | 5 +++
|
||||
@@ -25,9 +26,11 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
2 files changed, 74 insertions(+)
|
||||
create mode 100644 cmake/modules/CheckAtomic.cmake
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5cfc1b4803..0a7f820a22 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -1057,7 +1057,12 @@ set(ROCKSDB_SHARED_LIB rocksdb-shared${A
|
||||
@@ -1038,7 +1038,12 @@ set(ROCKSDB_SHARED_LIB rocksdb-shared${ARTIFACT_SUFFIX})
|
||||
if(WIN32)
|
||||
set(SYSTEM_LIBS ${SYSTEM_LIBS} shlwapi.lib rpcrt4.lib)
|
||||
else()
|
||||
@@ -40,6 +43,9 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
endif()
|
||||
|
||||
set(ROCKSDB_PLUGIN_EXTERNS "")
|
||||
diff --git a/cmake/modules/CheckAtomic.cmake b/cmake/modules/CheckAtomic.cmake
|
||||
new file mode 100644
|
||||
index 0000000000..8b7dc8a377
|
||||
--- /dev/null
|
||||
+++ b/cmake/modules/CheckAtomic.cmake
|
||||
@@ -0,0 +1,69 @@
|
||||
@@ -112,3 +118,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
+ endif()
|
||||
+endif()
|
||||
+
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
+8
-3
@@ -1,4 +1,4 @@
|
||||
From 114c42fba3fc86119710e8dd1bb2b7a9e39e3064 Mon Sep 17 00:00:00 2001
|
||||
From 1ba84e1b8d4c9a3ad85dc443b0df4d79c89cca4b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 17 Jun 2021 19:35:01 -0700
|
||||
Subject: [PATCH] replace old sync with new atomic builtin equivalents
|
||||
@@ -6,13 +6,15 @@ Subject: [PATCH] replace old sync with new atomic builtin equivalents
|
||||
Helps compiling with gcc on newer arches e.g. riscv32 where these
|
||||
__sync* builtins are not implemented atleast for 64bit values
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../range/range_tree/lib/portability/toku_atomic.h | 12 ++++++------
|
||||
1 file changed, 6 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
|
||||
index aaa2298faf..9385902808 100644
|
||||
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
|
||||
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_atomic.h
|
||||
@@ -77,37 +77,37 @@ template <typename T, typename U>
|
||||
@@ -59,3 +61,6 @@ Upstream-Status: Pending
|
||||
}
|
||||
|
||||
// in case you include this but not toku_portability.h
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
||||
+9
-4
@@ -1,4 +1,4 @@
|
||||
From 46a4e585175cac8d76bd0b64f0fc27c9e22f04a1 Mon Sep 17 00:00:00 2001
|
||||
From bb3fc86f87a9acc64628e1cb32f5c8a1cfbeb880 Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Bach <pascal.bach@nextrem.ch>
|
||||
Date: Mon, 12 Oct 2020 21:22:46 +0200
|
||||
Subject: [PATCH] cmake: Use exported target for bz2
|
||||
@@ -8,12 +8,14 @@ This is not portable and makes it fail in environment like Yocto.
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7541]
|
||||
---
|
||||
CMakeLists.txt | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
CMakeLists.txt | 7 +------
|
||||
1 file changed, 1 insertion(+), 6 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 0a7f820a22..be80edb955 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -154,12 +154,7 @@ else()
|
||||
@@ -149,12 +149,7 @@ else()
|
||||
if(WITH_BZ2)
|
||||
find_package(BZip2 REQUIRED)
|
||||
add_definitions(-DBZIP2)
|
||||
@@ -27,3 +29,6 @@ Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7541]
|
||||
endif()
|
||||
|
||||
if(WITH_LZ4)
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
From cedc84a8db468d0b6652e78a8a6667e655586b53 Mon Sep 17 00:00:00 2001
|
||||
From bb10f55eb77be7b7eee94cb3506c9cbef8e24099 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 26 Jan 2023 13:00:43 -0800
|
||||
Subject: [PATCH] cmake: Do not add -msse4.2 -mpclmul on clang
|
||||
@@ -16,10 +16,10 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index dbef059028..981545a4e0 100644
|
||||
index be80edb955..a1bbade81a 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -290,7 +290,7 @@ endif()
|
||||
@@ -279,7 +279,7 @@ endif()
|
||||
|
||||
include(CheckCXXSourceCompiles)
|
||||
set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
|
||||
@@ -29,5 +29,5 @@ index dbef059028..981545a4e0 100644
|
||||
endif()
|
||||
|
||||
--
|
||||
2.39.1
|
||||
2.25.1
|
||||
|
||||
+16
-4
@@ -1,11 +1,20 @@
|
||||
From c6accd34e8169d7a6b92fc89dce5d4309978e39e Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 21 Mar 2024 14:11:09 +0800
|
||||
Subject: [PATCH] Implement support for musl/ppc64
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
implement support for musl/ppc64
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../lock/range/range_tree/lib/portability/toku_time.h | 8 ++++++--
|
||||
1 file changed, 6 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
index 9b83c53511..0a7488c397 100644
|
||||
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or
|
||||
@@ -58,7 +58,7 @@ Copyright (c) 2006, 2015, Percona and/or its affiliates. All rights reserved.
|
||||
#include <stdint.h>
|
||||
#include <sys/time.h>
|
||||
#include <time.h>
|
||||
@@ -14,7 +23,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
#include <sys/platform/ppc.h>
|
||||
#endif
|
||||
|
||||
@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(v
|
||||
@@ -131,8 +131,12 @@ static inline tokutime_t toku_time_now(void) {
|
||||
uint64_t result;
|
||||
__asm __volatile__("mrs %[rt], cntvct_el0" : [rt] "=r"(result));
|
||||
return result;
|
||||
@@ -28,3 +37,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
#elif defined(__s390x__)
|
||||
uint64_t result;
|
||||
asm volatile("stckf %0" : "=Q"(result) : : "cc");
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+32
@@ -0,0 +1,32 @@
|
||||
From 2ebc0ff33e41d23e4d3aec1a86f3d8bd4be410e7 Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 21 Mar 2024 14:14:58 +0800
|
||||
Subject: [PATCH] Implement timer implementation for mips platform
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../lock/range/range_tree/lib/portability/toku_time.h | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
index 0a7488c397..ad7d9f2124 100644
|
||||
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
@@ -162,6 +162,12 @@ static inline tokutime_t toku_time_now(void) {
|
||||
unsigned long result;
|
||||
asm volatile ("rdtime.d\t%0,$r0" : "=r" (result));
|
||||
return result;
|
||||
+#elif defined(__mips__)
|
||||
+ // mips apparently only allows rdtsc for superusers, so we fall
|
||||
+ // back to gettimeofday. It's possible clock_gettime would be better.
|
||||
+ struct timeval tv;
|
||||
+ gettimeofday(&tv, nullptr);
|
||||
+ return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
|
||||
#else
|
||||
#error No timer implementation for this platform
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
|
||||
+15
-3
@@ -1,11 +1,20 @@
|
||||
From 9e274ba2762724f353227b5a3a6e4433f706468a Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Thu, 21 Mar 2024 14:16:08 +0800
|
||||
Subject: [PATCH] Implement timer for arm >= v6
|
||||
|
||||
Upstream-Status: Pending
|
||||
|
||||
implement timer for arm >= v6
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
.../range/range_tree/lib/portability/toku_time.h | 14 ++++++++++++++
|
||||
1 file changed, 14 insertions(+)
|
||||
|
||||
diff --git a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
index ad7d9f2124..bcb795b7e7 100644
|
||||
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
@@ -164,6 +164,20 @@ static inline tokutime_t toku_time_now(v
|
||||
@@ -168,6 +168,20 @@ static inline tokutime_t toku_time_now(void) {
|
||||
struct timeval tv;
|
||||
gettimeofday(&tv, nullptr);
|
||||
return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
|
||||
@@ -26,3 +35,6 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
#else
|
||||
#error No timer implementation for this platform
|
||||
#endif
|
||||
--
|
||||
2.25.1
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
Upstream-Status: Pending
|
||||
|
||||
implement timer implementation for mips platform
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
--- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
@@ -158,6 +158,12 @@ static inline tokutime_t toku_time_now(v
|
||||
uint64_t cycles;
|
||||
asm volatile("rdcycle %0" : "=r"(cycles));
|
||||
return cycles;
|
||||
+#elif defined(__mips__)
|
||||
+ // mips apparently only allows rdtsc for superusers, so we fall
|
||||
+ // back to gettimeofday. It's possible clock_gettime would be better.
|
||||
+ struct timeval tv;
|
||||
+ gettimeofday(&tv, nullptr);
|
||||
+ return (uint64_t)tv.tv_sec * 1000000 + tv.tv_usec;
|
||||
#else
|
||||
#error No timer implementation for this platform
|
||||
#endif
|
||||
+8
-11
@@ -6,17 +6,16 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
|
||||
file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837"
|
||||
|
||||
SRCREV = "444b3f4845dd01b0d127c4b420fdd3b50ad56682"
|
||||
SRCBRANCH = "7.9.fb"
|
||||
SRCREV = "f4441966592636253fd5ab0bb9ed44fc2697fc53"
|
||||
SRCBRANCH = "9.0.fb"
|
||||
|
||||
SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH};protocol=https \
|
||||
file://0001-cmake-Add-check-for-atomic-support.patch \
|
||||
file://0001-cmake-Use-exported-target-for-bz2.patch \
|
||||
file://0001-Add-missing-includes-cstdint-and-cstdio.patch \
|
||||
file://0001-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch \
|
||||
file://ppc64.patch \
|
||||
file://mips.patch \
|
||||
file://arm.patch \
|
||||
file://0002-cmake-Use-exported-target-for-bz2.patch \
|
||||
file://0003-cmake-Do-not-add-msse4.2-mpclmul-on-clang.patch \
|
||||
file://0004-Implement-support-for-musl-ppc64.patch \
|
||||
file://0005-Implement-timer-implementation-for-mips-platform.patch \
|
||||
file://0006-Implement-timer-for-arm-v6.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:riscv32 = " file://0001-replace-old-sync-with-new-atomic-builtin-equivalents.patch"
|
||||
@@ -46,12 +45,10 @@ EXTRA_OECMAKE = "\
|
||||
"
|
||||
|
||||
do_install:append() {
|
||||
# fix for qa check buildpaths
|
||||
# Fix for qa check buildpaths
|
||||
sed -i "s#${RECIPE_SYSROOT}##g" ${D}${libdir}/cmake/rocksdb/RocksDBTargets.cmake
|
||||
}
|
||||
|
||||
LDFLAGS:append:riscv64 = " -pthread"
|
||||
|
||||
# Need toku_time_now() implemented for ppc/musl
|
||||
# see utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
|
||||
COMPATIBLE_HOST:libc-musl:powerpc = "null"
|
||||
Reference in New Issue
Block a user