Add sw64 architecture

Signed-off-by: wzx <wuzx1226@qq.com>
(cherry picked from commit ec3d33ae31c14815dafa471a84b89249208b0703)
This commit is contained in:
wzx 2022-10-22 11:26:02 +08:00 committed by openeuler-sync-bot
parent ff5fd81339
commit a5389d66f7
2 changed files with 31 additions and 1 deletions

26
leveldb-1.20-sw.patch Executable file
View File

@ -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() {

View File

@ -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<wuzx1226@qq.com> - 1.20-5
- add sw64 patch
* Fri Dec 20 2019 wangyiru <wangyiru1@huawei.com> - 1.20-4
- Package init