diff options
| author | Khem Raj <raj.khem@gmail.com> | 2020-11-15 15:08:02 -0800 |
|---|---|---|
| committer | Khem Raj <raj.khem@gmail.com> | 2020-11-15 15:09:20 -0800 |
| commit | 87583fd09f51ea7ce3441adf023bcabb6d7761f6 (patch) | |
| tree | a7efe33cad53523191d81bb6dbc8451b63534afb | |
| parent | f7a175c5b4608db40823dcf0df5cba46fc5778af (diff) | |
| download | meta-openembedded-87583fd09f51ea7ce3441adf023bcabb6d7761f6.tar.gz | |
rocksdb: Update to 6.12.7
Add a patch to fix build on riscv32
Signed-off-by: Khem Raj <raj.khem@gmail.com>
| -rw-r--r-- | meta-oe/recipes-dbs/rocksdb/files/0001-folly-Use-SYS_futex-for-syscall.patch | 47 | ||||
| -rw-r--r-- | meta-oe/recipes-dbs/rocksdb/rocksdb_git.bb | 7 |
2 files changed, 51 insertions, 3 deletions
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 @@ | |||
| 1 | From ddcc8a9f7e0f0bfee96f2f0a0c10f21f9fa9b05d Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Khem Raj <raj.khem@gmail.com> | ||
| 3 | Date: Sun, 15 Nov 2020 15:02:28 -0800 | ||
| 4 | Subject: [PATCH] folly: Use SYS_futex for syscall | ||
| 5 | |||
| 6 | glibc defines SYS_futex and on newer 32bit CPUs like RISCV-32, arc there | ||
| 7 | is no 32bit time_t therefore define SYS_futex in terms of SYS_futex_time64 | ||
| 8 | |||
| 9 | Upstream-Status: Submitted [https://github.com/facebook/rocksdb/pull/7676] | ||
| 10 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
| 11 | --- | ||
| 12 | third-party/folly/folly/detail/Futex.cpp | 10 ++++++++-- | ||
| 13 | 1 file changed, 8 insertions(+), 2 deletions(-) | ||
| 14 | |||
| 15 | diff --git a/third-party/folly/folly/detail/Futex.cpp b/third-party/folly/folly/detail/Futex.cpp | ||
| 16 | index 62d6ea2b2..a914a8c73 100644 | ||
| 17 | --- a/third-party/folly/folly/detail/Futex.cpp | ||
| 18 | +++ b/third-party/folly/folly/detail/Futex.cpp | ||
| 19 | @@ -48,9 +48,15 @@ namespace { | ||
| 20 | #define FUTEX_CLOCK_REALTIME 256 | ||
| 21 | #endif | ||
| 22 | |||
| 23 | +/// Newer 32bit CPUs eg. RISCV-32 are defaulting to 64bit time_t from get go and | ||
| 24 | +/// therefore do not define __NR_futex | ||
| 25 | +#if !defined(SYS_futex) && defined(SYS_futex_time64) | ||
| 26 | +# define SYS_futex SYS_futex_time64 | ||
| 27 | +#endif | ||
| 28 | + | ||
| 29 | int nativeFutexWake(const void* addr, int count, uint32_t wakeMask) { | ||
| 30 | long rv = syscall( | ||
| 31 | - __NR_futex, | ||
| 32 | + SYS_futex, | ||
| 33 | addr, /* addr1 */ | ||
| 34 | FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG, /* op */ | ||
| 35 | count, /* val */ | ||
| 36 | @@ -112,7 +118,7 @@ FutexResult nativeFutexWaitImpl( | ||
| 37 | // Unlike FUTEX_WAIT, FUTEX_WAIT_BITSET requires an absolute timeout | ||
| 38 | // value - http://locklessinc.com/articles/futex_cheat_sheet/ | ||
| 39 | long rv = syscall( | ||
| 40 | - __NR_futex, | ||
| 41 | + SYS_futex, | ||
| 42 | addr, /* addr1 */ | ||
| 43 | op, /* op */ | ||
| 44 | expected, /* val */ | ||
| 45 | -- | ||
| 46 | 2.29.2 | ||
| 47 | |||
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 \ | |||
| 6 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | 6 | file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ |
| 7 | file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" | 7 | file://LICENSE.leveldb;md5=fb04ff57a14f308f2eed4a9b87d45837" |
| 8 | 8 | ||
| 9 | SRCREV = "48bfca38f6f175435052a59791922a1a453d9609" | 9 | SRCREV = "f3e33549c151f30ac4eb7c22356c6d0331f37652" |
| 10 | SRCBRANCH = "6.11.fb" | 10 | SRCBRANCH = "6.12.fb" |
| 11 | PV = "6.11.4" | 11 | PV = "6.12.7" |
| 12 | 12 | ||
| 13 | SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \ | 13 | SRC_URI = "git://github.com/facebook/${BPN}.git;branch=${SRCBRANCH} \ |
| 14 | file://0001-cmake-Add-check-for-atomic-support.patch \ | 14 | file://0001-cmake-Add-check-for-atomic-support.patch \ |
| 15 | file://0001-cmake-Use-exported-target-for-bz2.patch \ | 15 | file://0001-cmake-Use-exported-target-for-bz2.patch \ |
| 16 | file://0001-folly-Use-SYS_futex-for-syscall.patch \ | ||
| 16 | " | 17 | " |
| 17 | 18 | ||
| 18 | S = "${WORKDIR}/git" | 19 | S = "${WORKDIR}/git" |
