diff --git a/leveldb-1.20-sw.patch b/leveldb-1.20-sw.patch new file mode 100755 index 0000000000000000000000000000000000000000..9ff903da4de4798fe92c4e1c41d50b8d289a4e52 --- /dev/null +++ b/leveldb-1.20-sw.patch @@ -0,0 +1,26 @@ +diff -Naur leveldb-1.20.org/port/atomic_pointer.h leveldb-1.20.sw/port/atomic_pointer.h +--- leveldb-1.20.org/port/atomic_pointer.h 2022-08-18 15:03:54.160000000 +0000 ++++ leveldb-1.20.sw/port/atomic_pointer.h 2022-08-18 15:06:03.380000000 +0000 +@@ -37,6 +37,8 @@ + #define ARCH_CPU_ARM_FAMILY 1 + #elif defined(__aarch64__) + #define ARCH_CPU_ARM64_FAMILY 1 ++#elif defined(__sw_64__) ++#define ARCH_CPU_SW_64_FAMILY 1 + #elif defined(__ppc__) || defined(__powerpc__) || defined(__powerpc64__) + #define ARCH_CPU_PPC_FAMILY 1 + #elif defined(__mips__) +@@ -96,6 +98,13 @@ + } + #define LEVELDB_HAVE_MEMORY_BARRIER + ++// SW_64 ++#elif defined(ARCH_CPU_SW_64_FAMILY) ++inline void MemoryBarrier() { ++ asm volatile("memb" : : : "memory"); ++} ++#define LEVELDB_HAVE_MEMORY_BARRIER ++ + // ARM64 + #elif defined(ARCH_CPU_ARM64_FAMILY) + inline void MemoryBarrier() { diff --git a/leveldb.spec b/leveldb.spec index dc1bb47c81032e6f9e9a46831a41803b6dc6c8c0..2edf43841321c14d13145fd5dfb4f0fa67dd5079 100644 --- a/leveldb.spec +++ b/leveldb.spec @@ -1,6 +1,6 @@ Name: leveldb Version: 1.20 -Release: 4 +Release: 5 Summary: A key/value database library License: BSD URL: https://github.com/google/leveldb @@ -10,6 +10,7 @@ Patch0001: 0001-Allow-leveldbjni-build.patch Patch0002: 0002-Added-a-DB-SuspendCompations-and-DB-ResumeCompaction.patch Patch0003: 0003-allow-Get-calls-to-avoid-copies-into-std-string.patch Patch0004: 0004-bloom_test-failure-on-big-endian-archs.patch +Patch0005: leveldb-1.20-sw.patch BuildRequires: make gcc-c++ snappy-devel @@ -71,5 +72,8 @@ make -j1 check %{_libdir}/pkgconfig/leveldb.pc %changelog +* Fri Oct 21 2022 wuzx - 1.20-5 +- add sw64 patch + * Fri Dec 20 2019 wangyiru - 1.20-4 - Package init