From 87583fd09f51ea7ce3441adf023bcabb6d7761f6 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 15 Nov 2020 15:08:02 -0800 Subject: rocksdb: Update to 6.12.7 Add a patch to fix build on riscv32 Signed-off-by: Khem Raj --- .../0001-folly-Use-SYS_futex-for-syscall.patch | 47 ++++++++++++++++++++++ meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb | 7 ++-- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch (limited to 'meta-oe') diff --git a/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch b/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch new file mode 100644 index 0000000000..aa291daa3e --- /dev/null +++ b/meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch @@ -0,0 +1,47 @@ +From ddcc8a9f7e0f0bfee96f2f0a0c10f21f9fa9b05d Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 15 Nov 2020 15:02:28 -0800 +Subject: [PATCH] folly: Use SYS_futex for syscall + +glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there +is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64 + +Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7676] +Signed-off-by: Khem Raj +--- + third-party/folly/folly/detail/Futex.cpp | 10 ++++++++-- + 1 file changed, 8 insertions(+), 2 deletions(-) + +diff --git a/third-party/folly/folly/detail/Futex.cpp b/third-party/folly/folly/detail/Futex.cpp +index 62d6ea2b2..a914a8c73 100644 +--- a/third-party/folly/folly/detail/Futex.cpp ++++ b/third-party/folly/folly/detail/Futex.cpp +@@ -48,9 +48,15 @@ namespace { + #define FUTEX_CLOCK_REALTIME 256 + #endif + ++/// Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and ++/// therefore do not define __NR_futex ++#if !defined(SYS_futex) && defined(SYS_futex_time64) ++# define SYS_futex SYS_futex_time64 ++#endif ++ + int nativeFutexWake(const void* addr, int count, uint32_t wakeMask) { + long rv = syscall( +- __NR_futex, ++ SYS_futex, + addr, /* addr1 */ + FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG, /* op */ + count, /* val */ +@@ -112,7 +118,7 @@ FutexResult nativeFutexWaitImpl( + // Unlike FUTEX_WAIT, FUTEX_WAIT_BITSET requires an absolute timeout + // value - http://locklessinc.com/articles/futex_cheat_sheet/ + long rv = syscall( +- __NR_futex, ++ SYS_futex, + addr, /* addr1 */ + op, /* op */ + expected, /* val */ +-- +2.29.2 + diff --git a/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb b/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb index 7ebc5ab1da..117a16b9e8 100644 --- a/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb +++ b/meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb @@ -6,13 +6,14 @@ LIC_FILES_CHKSUM = "file://LICENSE.Apache;md5=3b83ef96387f14655fc854ddc3c6bd57 \ file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" -SRCREV = "48bfca38f6f175435052a59791922a1a453d9609" -SRCBRANCH = "6.11.fb" -PV = "6.11.4" +SRCREV = "f3e33549c151f30ac4eb7c22356c6d0331f37652" +SRCBRANCH = "6.12.fb" +PV = "6.12.7" SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \ file://0001-cmake-Add-check-for-atomic-support.patch \ file://0001-cmake-Use-exported-target-for-bz2.patch \ + file://0001-folly-Use-SYS_futex-for-syscall.patch \ " S = "${WORKDIR}/git" -- cgit 1.2.3-korg