From fbd338edac39c873822d1fa3a098c2e0d7c51e8b Mon Sep 17 00:00:00 2001 From: Wenlong Zhang Date: Sat, 19 Nov 2022 01:01:00 +0000 Subject: [PATCH] add loongarch support for abseil-cpp Signed-off-by: Wenlong Zhang (cherry picked from commit aa71a1c78ada2f223ab7a49fbe05ca192dc21b6e) --- ...dd-loongarch-suopport-for-abseil-cpp.patch | 34 +++++++++++++++++++ abseil-cpp.spec | 8 ++++- 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 0001-add-loongarch-suopport-for-abseil-cpp.patch diff --git a/0001-add-loongarch-suopport-for-abseil-cpp.patch b/0001-add-loongarch-suopport-for-abseil-cpp.patch new file mode 100644 index 0000000..0e28a69 --- /dev/null +++ b/0001-add-loongarch-suopport-for-abseil-cpp.patch @@ -0,0 +1,34 @@ +From a8c98703c8b7b1fc3ae104dce0bfd05dc92a1d7d Mon Sep 17 00:00:00 2001 +From: Wenlong Zhang Huang Yang +Date: Mon, 14 Nov 2022 11:48:49 +0000 +Subject: [PATCH] add loongarch suopport for abseil-cpp + +Signed-off-by: Wenlong Zhang +--- + absl/base/internal/direct_mmap.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h +index e492bb0..d11a64e 100644 +--- a/absl/base/internal/direct_mmap.h ++++ b/absl/base/internal/direct_mmap.h +@@ -79,6 +79,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, + (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) || \ + (defined(__PPC__) && !defined(__PPC64__)) || \ + (defined(__riscv) && __riscv_xlen == 32) || \ ++ defined(__loongarch64) || \ + (defined(__s390__) && !defined(__s390x__)) || \ + (defined(__sparc__) && !defined(__arch64__)) + // On these architectures, implement mmap with mmap2. +@@ -100,7 +101,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd, + return __mmap2(start, length, prot, flags, fd, offset / pagesize); + #else + return reinterpret_cast( +- syscall(SYS_mmap2, start, length, prot, flags, fd, ++ syscall(SYS_mmap, start, length, prot, flags, fd, + static_cast(offset / pagesize))); + #endif + #elif defined(__s390x__) +-- +2.33.0 + diff --git a/abseil-cpp.spec b/abseil-cpp.spec index a62953e..c9eebf0 100644 --- a/abseil-cpp.spec +++ b/abseil-cpp.spec @@ -6,7 +6,7 @@ Name: abseil-cpp Version: 20220623.1 -Release: 2 +Release: 3 Summary: C++ Common Libraries License: ASL 2.0 @@ -15,6 +15,9 @@ Source0: https://github.com/abseil/abseil-cpp/archive/%{version}/%{name}- Patch0: backport-Do-not-leak-maes-msse4.1-into-pkgconfig.patch Patch1: abseil-cpp-20210324.2-sw.patch +%ifarch loongarch64 +Patch100: 0001-add-loongarch-suopport-for-abseil-cpp.patch +%endif BuildRequires: cmake BuildRequires: gcc-c++ @@ -64,6 +67,9 @@ Development headers for %{name} %{_libdir}/pkgconfig/*.pc %changelog +* Mon Nov 14 2022 Wenlong Zhang - 20220623.1-3 +- add loongarch support for abseil-cpp + * Fri Nov 11 2022 wuzx - 20220623.1-2 - Type:feature - CVE:NA -- Gitee