summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-devtools/abseil-cpp
diff options
context:
space:
mode:
authorJonas Gorski <jonas.gorski@bisdn.de>2022-06-16 15:23:15 +0200
committerKhem Raj <raj.khem@gmail.com>2022-06-30 13:39:28 -0400
commit727bf829c4da7656cfa4189527760b063398f8d4 (patch)
treef98d4e12c8fd272ea83d78872ebc150cd201dd17 /meta-oe/recipes-devtools/abseil-cpp
parent5665c76046c0fa2d5745653e111c70fd5a9ec32a (diff)
downloadmeta-openembedded-727bf829c4da7656cfa4189527760b063398f8d4.tar.gz
abseil-cpp: do not enforce -mfpu=neon on arm
Abseil-cpp assumes that if you are building for ARM, you can use neon instructions. This is of course bogus, since not every ARM platform supports these. This then leaks via pkgconfig into any package using abseil-cpp, e.g. gprc. Fixes application crashes on ARM platforms without neon that use grpc due to use of illegal instructions. Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de> Signed-off-by: Khem Raj <raj.khem@gmail.com>
Diffstat (limited to 'meta-oe/recipes-devtools/abseil-cpp')
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch8
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch14
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch47
-rw-r--r--meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb3
4 files changed, 60 insertions, 12 deletions
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
index 2bafcc6b13..a5bebf5f00 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch
@@ -1,7 +1,7 @@
1From 8f21fdfb83b0fa844a9f1f03a86a9ca46642d85e Mon Sep 17 00:00:00 2001 1From 738549dea7a4e6c462a79962c414eaa450c2cffd Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Thu, 9 Apr 2020 13:06:27 -0700 3Date: Thu, 9 Apr 2020 13:06:27 -0700
4Subject: [PATCH 1/2] absl: always use <asm/sgidefs.h> 4Subject: [PATCH 1/3] absl: always use <asm/sgidefs.h>
5 5
6Fixes mips/musl build, since sgidefs.h is not present on all C libraries 6Fixes mips/musl build, since sgidefs.h is not present on all C libraries
7but on linux asm/sgidefs.h is there and contains same definitions, using 7but 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>
15 1 file changed, 1 insertion(+), 5 deletions(-) 15 1 file changed, 1 insertion(+), 5 deletions(-)
16 16
17diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h 17diff --git a/absl/base/internal/direct_mmap.h b/absl/base/internal/direct_mmap.h
18index 16accf096604..ba7936cc934e 100644 18index a01d61220376..c8a4fbabbb3a 100644
19--- a/absl/base/internal/direct_mmap.h 19--- a/absl/base/internal/direct_mmap.h
20+++ b/absl/base/internal/direct_mmap.h 20+++ b/absl/base/internal/direct_mmap.h
21@@ -41,13 +41,9 @@ 21@@ -41,13 +41,9 @@
@@ -34,5 +34,5 @@ index 16accf096604..ba7936cc934e 100644
34 34
35 // SYS_mmap and SYS_munmap are not defined in Android. 35 // SYS_mmap and SYS_munmap are not defined in Android.
36-- 36--
372.25.1 372.36.1
38 38
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
index da9dbd9367..7b7244b491 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Remove-maes-option-from-cross-compilation.patch
@@ -1,7 +1,7 @@
1From a9e15a4855c82eb948dedeecd83d5e17c3c8f767 Mon Sep 17 00:00:00 2001 1From d25cf3b9aa873595a19e197cc29ab46c0093bff1 Mon Sep 17 00:00:00 2001
2From: Sinan Kaya <sinan.kaya@microsoft.com> 2From: Sinan Kaya <sinan.kaya@microsoft.com>
3Date: Mon, 3 Feb 2020 03:25:57 +0000 3Date: Mon, 3 Feb 2020 03:25:57 +0000
4Subject: [PATCH 2/2] Remove maes option from cross-compilation 4Subject: [PATCH 2/3] Remove maes option from cross-compilation
5 5
6--- 6---
7 absl/copts/GENERATED_AbseilCopts.cmake | 4 ---- 7 absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
@@ -9,10 +9,10 @@ Subject: [PATCH 2/2] Remove maes option from cross-compilation
9 2 files changed, 8 deletions(-) 9 2 files changed, 8 deletions(-)
10 10
11diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake 11diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
12index 97bd283eb739..ce29ac031b9c 100644 12index a4ab1aa2041e..23b9253c1f00 100644
13--- a/absl/copts/GENERATED_AbseilCopts.cmake 13--- a/absl/copts/GENERATED_AbseilCopts.cmake
14+++ b/absl/copts/GENERATED_AbseilCopts.cmake 14+++ b/absl/copts/GENERATED_AbseilCopts.cmake
15@@ -210,7 +210,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS 15@@ -158,7 +158,3 @@ list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
16 list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS 16 list(APPEND ABSL_RANDOM_HWAES_MSVC_X64_FLAGS
17 ) 17 )
18 18
@@ -21,10 +21,10 @@ index 97bd283eb739..ce29ac031b9c 100644
21- "-msse4.1" 21- "-msse4.1"
22-) 22-)
23diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl 23diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
24index bcdd61ef8211..3e8eddd4bb08 100644 24index a6efc98e11d4..1e847f769501 100644
25--- a/absl/copts/GENERATED_copts.bzl 25--- a/absl/copts/GENERATED_copts.bzl
26+++ b/absl/copts/GENERATED_copts.bzl 26+++ b/absl/copts/GENERATED_copts.bzl
27@@ -211,7 +211,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [ 27@@ -159,7 +159,3 @@ ABSL_RANDOM_HWAES_ARM64_FLAGS = [
28 ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [ 28 ABSL_RANDOM_HWAES_MSVC_X64_FLAGS = [
29 ] 29 ]
30 30
@@ -33,5 +33,5 @@ index bcdd61ef8211..3e8eddd4bb08 100644
33- "-msse4.1", 33- "-msse4.1",
34-] 34-]
35-- 35--
362.25.1 362.36.1
37 37
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
new file mode 100644
index 0000000000..c0039c2107
--- /dev/null
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Remove-neon-option-from-cross-compilation.patch
@@ -0,0 +1,47 @@
1From fb24c3e3539b5743d398a429a302a3886186f261 Mon Sep 17 00:00:00 2001
2From: Jonas Gorski <jonas.gorski@bisdn.de>
3Date: Thu, 16 Jun 2022 11:46:31 +0000
4Subject: [PATCH 3/3] Remove neon option from cross compilation
5
6Not every arm platform supports neon instructions, so do not enforce
7them.
8
9Signed-off-by: Jonas Gorski <jonas.gorski@bisdn.de>
10---
11 absl/copts/GENERATED_AbseilCopts.cmake | 4 ----
12 absl/copts/GENERATED_copts.bzl | 4 ----
13 2 files changed, 8 deletions(-)
14
15diff --git a/absl/copts/GENERATED_AbseilCopts.cmake b/absl/copts/GENERATED_AbseilCopts.cmake
16index 23b9253c1f00..5d112a97f3e4 100644
17--- a/absl/copts/GENERATED_AbseilCopts.cmake
18+++ b/absl/copts/GENERATED_AbseilCopts.cmake
19@@ -147,10 +147,6 @@ list(APPEND ABSL_MSVC_TEST_FLAGS
20 "/DNOMINMAX"
21 )
22
23-list(APPEND ABSL_RANDOM_HWAES_ARM32_FLAGS
24- "-mfpu=neon"
25-)
26-
27 list(APPEND ABSL_RANDOM_HWAES_ARM64_FLAGS
28 "-march=armv8-a+crypto"
29 )
30diff --git a/absl/copts/GENERATED_copts.bzl b/absl/copts/GENERATED_copts.bzl
31index 1e847f769501..3e10db204faf 100644
32--- a/absl/copts/GENERATED_copts.bzl
33+++ b/absl/copts/GENERATED_copts.bzl
34@@ -148,10 +148,6 @@ ABSL_MSVC_TEST_FLAGS = [
35 "/DNOMINMAX",
36 ]
37
38-ABSL_RANDOM_HWAES_ARM32_FLAGS = [
39- "-mfpu=neon",
40-]
41-
42 ABSL_RANDOM_HWAES_ARM64_FLAGS = [
43 "-march=armv8-a+crypto",
44 ]
45--
462.36.1
47
diff --git a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
index 1bb27d4369..b271134fd2 100644
--- a/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
+++ b/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp_git.bb
@@ -7,13 +7,14 @@ SECTION = "libs"
7LICENSE = "Apache-2.0" 7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=df52c6edb7adc22e533b2bacc3bd3915"
9 9
10PV = "20211102.0+git${SRCPV}" 10PV = "20211102.1+git${SRCPV}"
11SRCREV = "7c6608d0dbe43cf9bdf7f77787bc6bc89cc42f8b" 11SRCREV = "7c6608d0dbe43cf9bdf7f77787bc6bc89cc42f8b"
12BRANCH = "master" 12BRANCH = "master"
13SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \ 13SRC_URI = "git://github.com/abseil/abseil-cpp;branch=${BRANCH};protocol=https \
14 file://0001-absl-always-use-asm-sgidefs.h.patch \ 14 file://0001-absl-always-use-asm-sgidefs.h.patch \
15 file://0002-Remove-maes-option-from-cross-compilation.patch \ 15 file://0002-Remove-maes-option-from-cross-compilation.patch \
16 file://abseil-ppc-fixes.patch \ 16 file://abseil-ppc-fixes.patch \
17 file://0003-Remove-neon-option-from-cross-compilation.patch \
17 " 18 "
18 19
19S = "${WORKDIR}/git" 20S = "${WORKDIR}/git"