abseil-cpp: bump to LTS 2020_09_23 Patch Release 3

Most patches have been upstreamed and accepted.

We can drop the -fPIC patch and pass BUILD_SHARED_LIBS instead.

Signed-off-by: Clément Péron <peron.clem@gmail.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
This commit is contained in:
Clément Péron
2021-01-26 10:24:05 +01:00
committed by Khem Raj
parent 486d0fa33e
commit ce9fa374e1
8 changed files with 54 additions and 233 deletions
@@ -1,29 +0,0 @@
From 983eeae0792946fe5c090f95164c892ec6db5cc4 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 16 Feb 2020 16:22:53 -0800
Subject: [PATCH] Add RISCV support to GetProgramCounter()
Identify PC register from signal context
Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/621]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
absl/debugging/internal/examine_stack.cc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/absl/debugging/internal/examine_stack.cc b/absl/debugging/internal/examine_stack.cc
index 4739fbc..fb77450 100644
--- a/absl/debugging/internal/examine_stack.cc
+++ b/absl/debugging/internal/examine_stack.cc
@@ -53,6 +53,8 @@ void* GetProgramCounter(void* vuc) {
return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
#elif defined(__powerpc__)
return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
+#elif defined(__riscv)
+ return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
#elif defined(__s390__) && !defined(__s390x__)
return reinterpret_cast<void*>(context->uc_mcontext.psw.addr & 0x7fffffff);
#elif defined(__s390__) && defined(__s390x__)
--
2.25.0
@@ -1,74 +0,0 @@
From 04e28fdda03b545a0f7b446a784ec2fa7249cbb8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 29 Apr 2020 15:37:40 -0700
Subject: [PATCH] Fix build on riscv32
Define __NR_mmap in terms of __NR_mmap2 and __NR_futex interms of
__NR_futex_time64 for rv32, since there calls dont exist for rv32
Also recognise rv32 as a new 32bit platform
Upstream-Status: Submitted [https://github.com/abseil/abseil-cpp/pull/675]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
absl/base/internal/direct_mmap.h | 5 +++++
absl/base/internal/spinlock_linux.inc | 4 ++++
absl/synchronization/internal/waiter.cc | 4 ++++
3 files changed, 13 insertions(+)
diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
index 5618867..90cfeca 100644
--- a/absl/base/internal/direct_mmap.h
+++ b/absl/base/internal/direct_mmap.h
@@ -26,6 +26,10 @@
#ifdef __linux__
+#if !defined(__NR_mmap) && defined(__riscv) && __riscv_xlen == 32
+# define __NR_mmap __NR_mmap2
+#endif
+
#include <sys/types.h>
#ifdef __BIONIC__
#include <sys/syscall.h>
@@ -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..3dca444 100644
--- a/absl/base/internal/spinlock_linux.inc
+++ b/absl/base/internal/spinlock_linux.inc
@@ -14,6 +14,10 @@
//
// This file is a Linux-specific part of spinlock_wait.cc
+#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
+# define __NR_futex __NR_futex_time64
+#endif
+
#include <linux/futex.h>
#include <sys/syscall.h>
#include <unistd.h>
diff --git a/absl/synchronization/internal/waiter.cc b/absl/synchronization/internal/waiter.cc
index 2949f5a..7411042 100644
--- a/absl/synchronization/internal/waiter.cc
+++ b/absl/synchronization/internal/waiter.cc
@@ -24,6 +24,10 @@
#include <unistd.h>
#endif
+#if !defined(__NR_futex) && defined(__riscv) && __riscv_xlen == 32
+# define __NR_futex __NR_futex_time64
+#endif
+
#ifdef __linux__
#include <linux/futex.h>
#include <sys/syscall.h>
--
2.26.2
@@ -1,53 +0,0 @@
From 70926666f7c5c35add363e3bcade6eaabace7206 Mon Sep 17 00:00:00 2001
From: Sinan Kaya <sinan.kaya@microsoft.com>
Date: Mon, 3 Feb 2020 03:25:57 +0000
Subject: [PATCH] Remove maes option from cross-compilation
---
absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
absl/copts/GENERATED_copts.bzl | 4 ----
absl/copts/copts.py | 4 ----
3 files changed, 12 deletions(-)
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
index 01bd40b..af99694 100644
--- a/absl/copts/GENERATED_AbseilCopts.cmake
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
@@ -230,7 +230,3 @@ list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
"/Ob2"
)
-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
- "-maes"
- "-msse4.1"
-)
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
index 82f332f..9a548d1 100644
--- a/absl/copts/GENERATED_copts.bzl
+++ b/absl/copts/GENERATED_copts.bzl
@@ -231,7 +231,3 @@ ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
"/Ob2",
]
-ABSL_RANDOM_HWAES_X64_FLAGS = [
- "-maes",
- "-msse4.1",
-]
diff --git a/absl/copts/copts.py b/absl/copts/copts.py
index 068abce..c2f70fb 100644
--- a/absl/copts/copts.py
+++ b/absl/copts/copts.py
@@ -203,10 +203,6 @@ COPT_VARS = {
# to improve performance of some random bit generators.
"ABSL_RANDOM_HWAES_ARM64_FLAGS": ["-march=armv8-a+crypto"],
"ABSL_RANDOM_HWAES_ARM32_FLAGS": ["-mfpu=neon"],
- "ABSL_RANDOM_HWAES_X64_FLAGS": [
- "-maes",
- "-msse4.1",
- ],
"ABSL_RANDOM_HWAES_MSVC_X64_FLAGS": [
"/O2", # Maximize speed
"/Ob2", # Aggressive inlining
--
2.23.0
@@ -1,7 +1,7 @@
From 14229e8c6f42a96e4d725124193ceefa54e5e1a4 Mon Sep 17 00:00:00 2001
From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 9 Apr 2020 13:06:27 -0700
Subject: [PATCH] absl: always use <asm/sgidefs.h>
Subject: [PATCH 1/2] absl: always use <asm/sgidefs.h>
Fixes mips/musl build, since sgidefs.h is not present on all C libraries
but on linux asm/sgidefs.h is there and contains same definitions, using
@@ -15,7 +15,7 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
1 file changed, 1 insertion(+), 5 deletions(-)
diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
index 2e5e422..c515325 100644
index 16accf096604..ba7936cc934e 100644
--- a/absl/base/internal/direct_mmap.h
+++ b/absl/base/internal/direct_mmap.h
@@ -41,13 +41,9 @@
@@ -34,5 +34,5 @@ index 2e5e422..c515325 100644
// SYS_mmap and SYS_munmap are not defined in Android.
--
2.26.0
2.25.1
@@ -1,35 +0,0 @@
From 9384735383a0b8688e3f05ed23a53f18863eae20 Mon Sep 17 00:00:00 2001
From: Sinan Kaya <sinan.kaya@microsoft.com>
Date: Tue, 11 Feb 2020 11:36:00 -0500
Subject: [PATCH] Add forgotten ABSL_HAVE_VDSO_SUPPORT conditional
Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
---
absl/debugging/internal/stacktrace_x86-inl.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/absl/debugging/internal/stacktrace_x86-inl.inc b/absl/debugging/internal/stacktrace_x86-inl.inc
index ff0fd31..28607c3 100644
--- a/absl/debugging/internal/stacktrace_x86-inl.inc
+++ b/absl/debugging/internal/stacktrace_x86-inl.inc
@@ -171,6 +171,7 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
static const unsigned char *kernel_rt_sigreturn_address = nullptr;
static const unsigned char *kernel_vsyscall_address = nullptr;
if (num_push_instructions == -1) {
+#ifdef ABSL_HAVE_VDSO_SUPPORT
absl::debugging_internal::VDSOSupport vdso;
if (vdso.IsPresent()) {
absl::debugging_internal::VDSOSupport::SymbolInfo
@@ -199,6 +200,9 @@ static void **NextStackFrame(void **old_fp, const void *uc) {
} else {
num_push_instructions = 0;
}
+#else
+ num_push_instructions = 0;
+#endif
}
if (num_push_instructions != 0 && kernel_rt_sigreturn_address != nullptr &&
old_fp[1] == kernel_rt_sigreturn_address) {
--
2.20.1.windows.1
@@ -0,0 +1,37 @@
From a9e15a4855c82eb948dedeecd83d5e17c3c8f767 Mon Sep 17 00:00:00 2001
From: Sinan Kaya <sinan.kaya@microsoft.com>
Date: Mon, 3 Feb 2020 03:25:57 +0000
Subject: [PATCH 2/2] Remove maes option from cross-compilation
---
absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
absl/copts/GENERATED_copts.bzl | 4 ----
2 files changed, 8 deletions(-)
diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
index 97bd283eb739..ce29ac031b9c 100644
--- a/absl/copts/GENERATED_AbseilCopts.cmake
+++ b/absl/copts/GENERATED_AbseilCopts.cmake
@@ -210,7 +210,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
)
-list(APPEND ABSL_RANDOM_HWAES_X64_FLAGS
- "-maes"
- "-msse4.1"
-)
diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
index bcdd61ef8211..3e8eddd4bb08 100644
--- a/absl/copts/GENERATED_copts.bzl
+++ b/absl/copts/GENERATED_copts.bzl
@@ -211,7 +211,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
]
-ABSL_RANDOM_HWAES_X64_FLAGS = [
- "-maes",
- "-msse4.1",
-]
--
2.25.1
@@ -1,27 +0,0 @@
From d7160d647c8f8847f3ea8d7b0eb222936962c1af Mon Sep 17 00:00:00 2001
From: Sinan Kaya <sinan.kaya@microsoft.com>
Date: Tue, 11 Feb 2020 11:58:02 -0500
Subject: [PATCH] Add fPIC option
Signed-off-by: Sinan Kaya <sinan.kaya@microsoft.com>
---
CMakeLists.txt | 3 +++
1 file changed, 3 insertions(+)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 74a3a4c..4f837b3 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -79,6 +79,9 @@ option(ABSL_USE_GOOGLETEST_HEAD
option(ABSL_RUN_TESTS "If ON, Abseil tests will be run." OFF)
+# link fails on arm64 and x86-64 without this
+add_compile_options(-fPIC)
+
if(${ABSL_RUN_TESTS})
# enable CTest. This will set BUILD_TESTING to ON unless otherwise specified
# on the command line
--
2.20.1.windows.1
@@ -7,16 +7,12 @@ SECTION = "libs"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
PV = "20190808+git${SRCPV}"
SRCREV = "aa844899c937bde5d2b24f276b59997e5b668bde"
BRANCH = "lts_2019_08_08"
SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \
file://0001-Remove-maes-option-from-cross-compilation.patch \
file://0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch \
file://0003-Add-fPIC-option.patch \
file://0001-Add-RISCV-support-to-GetProgramCounter.patch \
file://0001-absl-always-use-asm-sgidefs.h.patch \
file://0001-Fix-build-on-riscv32.patch \
PV = "20200923+git${SRCPV}"
SRCREV = "6f9d96a1f41439ac172ee2ef7ccd8edf0e5d068c"
BRANCH = "lts_2020_09_23"
SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH} \
file://0001-absl-always-use-asm-sgidefs.h.patch \
file://0002-Remove-maes-option-from-cross-compilation.patch \
"
S = "${WORKDIR}/git"
@@ -28,9 +24,16 @@ ASNEEDED_class-nativesdk = ""
inherit cmake
EXTRA_OECMAKE = "-DBUILD_SHARED_LIBS=ON \
-DBUILD_TESTING=OFF \
"
BBCLASSEXTEND = "native nativesdk"
ALLOW_EMPTY_${PN} = "1"
FILES_${PN} = "${libdir}/libabsl_*.so ${libdir}/cmake"
FILES_${PN}-dev = "${includedir}"
python () {
arch = d.getVar("TARGET_ARCH")
@@ -55,4 +58,3 @@ python () {
raise bb.parse.SkipRecipe("%s-%s Needs support for corei7 on x86_64" % (pkgn, pkgv))
}