All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/2] package/libabseil-cpp: fix build on RISC-V 32-bits
@ 2020-08-08 15:39 Thomas Petazzoni
  2020-08-08 15:39 ` [Buildroot] [PATCH 2/2] package/libabseil-cpp: add BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS Thomas Petazzoni
  2020-08-09 16:55 ` [Buildroot] [PATCH 1/2] package/libabseil-cpp: fix build on RISC-V 32-bits Yann E. MORIN
  0 siblings, 2 replies; 3+ messages in thread
From: Thomas Petazzoni @ 2020-08-08 15:39 UTC (permalink / raw)
  To: buildroot

This commit backports an upstream patch that fixes the build on RISC-V
32-bits.

Fixes:

  http://autobuild.buildroot.net/results/c6c2c99bdba8c840d52fe0464d26aca169ea1d90/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
---
 .../0003-Fix-build-on-riscv32-675.patch       | 77 +++++++++++++++++++
 1 file changed, 77 insertions(+)
 create mode 100644 package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch

diff --git a/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch b/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch
new file mode 100644
index 0000000000..0077c5fe9b
--- /dev/null
+++ b/package/libabseil-cpp/0003-Fix-build-on-riscv32-675.patch
@@ -0,0 +1,77 @@
+From 3f347c46272886a099852a4cd303ecf37a054de8 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Mon, 18 May 2020 10:23:50 -0700
+Subject: [PATCH] Fix build on riscv32 (#675)
+
+[Backport from upstream commit 3f347c46272886a099852a4cd303ecf37a054de8]
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
+---
+ absl/base/internal/direct_mmap.h        | 5 +++++
+ absl/base/internal/spinlock_linux.inc   | 8 ++++++++
+ absl/synchronization/internal/waiter.cc | 8 ++++++++
+ 3 files changed, 21 insertions(+)
+
+diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
+index 5618867..16accf0 100644
+--- a/absl/base/internal/direct_mmap.h
++++ b/absl/base/internal/direct_mmap.h
+@@ -61,6 +61,10 @@ extern "C" void* __mmap2(void*, size_t, int, int, int, size_t);
+ #endif
+ #endif  // __BIONIC__
+ 
++#if defined(__NR_mmap2) && !defined(SYS_mmap2)
++#define SYS_mmap2 __NR_mmap2
++#endif
++
+ namespace absl {
+ ABSL_NAMESPACE_BEGIN
+ namespace base_internal {
+@@ -72,6 +76,7 @@ inline void* DirectMmap(void* start, size_t length, int prot, int flags, int fd,
+ #if defined(__i386__) || defined(__ARM_ARCH_3__) || defined(__ARM_EABI__) || \
+     (defined(__mips__) && _MIPS_SIM == _MIPS_SIM_ABI32) ||                   \
+     (defined(__PPC__) && !defined(__PPC64__)) ||                             \
++    (defined(__riscv) && __riscv_xlen == 32) ||                              \
+     (defined(__s390__) && !defined(__s390x__))
+   // On these architectures, implement mmap with mmap2.
+   static int pagesize = 0;
+diff --git a/absl/base/internal/spinlock_linux.inc b/absl/base/internal/spinlock_linux.inc
+index 323edd6..e31c6ed 100644
+--- a/absl/base/internal/spinlock_linux.inc
++++ b/absl/base/internal/spinlock_linux.inc
+@@ -46,6 +46,14 @@ static_assert(sizeof(std::atomic<uint32_t>) == sizeof(int),
+ #endif
+ #endif
+ 
++#if defined(__NR_futex_time64) && !defined(SYS_futex_time64)
++#define SYS_futex_time64 __NR_futex_time64
++#endif
++
++#if defined(SYS_futex_time64) && !defined(SYS_futex)
++#define SYS_futex SYS_futex_time64
++#endif
++
+ extern "C" {
+ 
+ ABSL_ATTRIBUTE_WEAK void AbslInternalSpinLockDelay(
+diff --git a/absl/synchronization/internal/waiter.cc b/absl/synchronization/internal/waiter.cc
+index 2949f5a..b6150b9 100644
+--- a/absl/synchronization/internal/waiter.cc
++++ b/absl/synchronization/internal/waiter.cc
+@@ -86,6 +86,14 @@ static void MaybeBecomeIdle() {
+ #endif
+ #endif
+ 
++#if defined(__NR_futex_time64) && !defined(SYS_futex_time64)
++#define SYS_futex_time64 __NR_futex_time64
++#endif
++
++#if defined(SYS_futex_time64) && !defined(SYS_futex)
++#define SYS_futex SYS_futex_time64
++#endif
++
+ class Futex {
+  public:
+   static int WaitUntil(std::atomic<int32_t> *v, int32_t val,
+-- 
+2.26.2
+
-- 
2.26.2

^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-09 16:55 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-08 15:39 [Buildroot] [PATCH 1/2] package/libabseil-cpp: fix build on RISC-V 32-bits Thomas Petazzoni
2020-08-08 15:39 ` [Buildroot] [PATCH 2/2] package/libabseil-cpp: add BR2_PACKAGE_LIBABSEIL_CPP_ARCH_SUPPORTS Thomas Petazzoni
2020-08-09 16:55 ` [Buildroot] [PATCH 1/2] package/libabseil-cpp: fix build on RISC-V 32-bits Yann E. MORIN

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.