summaryrefslogtreecommitdiff
path: root/dev-libs/rocksdb/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-03-19 00:49:58 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-03-19 00:49:58 +0000
commit2c18b7f7fb2885d27960657c60906ef0bac0681e (patch)
tree91c24c33362baf968c4c08f3a7220157b57a374f /dev-libs/rocksdb/files
parentbc7e0dbdbd194a8c2e09f82e1a5a4ea5e1b556f4 (diff)
gentoo auto-resync : 19:03:2024 - 00:49:58
Diffstat (limited to 'dev-libs/rocksdb/files')
-rw-r--r--dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch40
1 files changed, 0 insertions, 40 deletions
diff --git a/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch b/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch
deleted file mode 100644
index b98cc9dc5fd6..000000000000
--- a/dev-libs/rocksdb/files/rocksdb-6.17.3-add_timer_for_riscv.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Add timer for riscv.
-Upstream PR status: https://github.com/facebook/rocksdb/pull/9215
-This PR hasn't been merged into the main branch.
-https://bugs.gentoo.org/834855
-
---- a/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
-+++ b/utilities/transactions/lock/range/range_tree/lib/portability/toku_time.h
-@@ -101,7 +101,7 @@ int toku_clock_gettime(clockid_t clk_id, struct timespec *ts) __attribute__((__v
- typedef uint64_t tokutime_t; // Time type used in by tokutek timers.
-
- #if 0
--// The value of tokutime_t is not specified here.
-+// The value of tokutime_t is not specified here.
- // It might be microseconds since 1/1/1970 (if gettimeofday() is
- // used), or clock cycles since boot (if rdtsc is used). Or something
- // else.
-@@ -133,6 +133,23 @@ static inline tokutime_t toku_time_now(void) {
- return result;
- #elif defined(__powerpc__)
- return __ppc_get_timebase();
-+#elif defined(__riscv) && __riscv_xlen == 32
-+ uint32_t cycles_lo, cycles_hi0, cycles_hi1;
-+ // Implemented in assembly because Clang insisted on branching.
-+ asm volatile(
-+ "rdcycleh %0\n"
-+ "rdcycle %1\n"
-+ "rdcycleh %2\n"
-+ "sub %0, %0, %2\n"
-+ "seqz %0, %0\n"
-+ "sub %0, zero, %0\n"
-+ "and %1, %1, %0\n"
-+ : "=r"(cycles_hi0), "=r"(cycles_lo), "=r"(cycles_hi1));
-+ return (static_cast<uint64_t>(cycles_hi1) << 32) | cycles_lo;
-+#elif defined(__riscv) && __riscv_xlen == 64
-+ uint64_t cycles;
-+ asm volatile("rdcycle %0" : "=r"(cycles));
-+ return cycles;
- #else
- #error No timer implementation for this platform
- #endif