diff options
author | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
---|---|---|
committer | takeshi_hoshina <takeshi_hoshina@mail.toyota.co.jp> | 2020-11-02 11:07:33 +0900 |
commit | 1c7d6584a7811b7785ae5c1e378f14b5ba0971cf (patch) | |
tree | cd70a267a5ef105ba32f200aa088e281fbd85747 /external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp | |
parent | 4204309872da5cb401cbb2729d9e2d4869a87f42 (diff) |
basesystem-jjsandbox/ToshikazuOhiwa/master-jj
recipes
Diffstat (limited to 'external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp')
6 files changed, 256 insertions, 0 deletions
diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch new file mode 100644 index 00000000..95ec070f --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Add-RISCV-support-to-GetProgramCounter.patch @@ -0,0 +1,29 @@ +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 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch new file mode 100644 index 00000000..e7c9b43c --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Fix-build-on-riscv32.patch @@ -0,0 +1,74 @@ +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 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch new file mode 100644 index 00000000..4c41cd89 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-Remove-maes-option-from-cross-compilation.patch @@ -0,0 +1,53 @@ +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 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch new file mode 100644 index 00000000..6bb59d93 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0001-absl-always-use-asm-sgidefs.h.patch @@ -0,0 +1,38 @@ +From 14229e8c6f42a96e4d725124193ceefa54e5e1a4 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> + +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 +that makes it portable. + +Upstream-Status: Pending + +Signed-off-by: Khem Raj <raj.khem@gmail.com> +--- + absl/base/internal/direct_mmap.h | 6 +----- + 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 +--- a/absl/base/internal/direct_mmap.h ++++ b/absl/base/internal/direct_mmap.h +@@ -41,13 +41,9 @@ + + #ifdef __mips__ + // Include definitions of the ABI currently in use. +-#ifdef __BIONIC__ +-// Android doesn't have sgidefs.h, but does have asm/sgidefs.h, which has the ++// bionic/musl C libs don't have sgidefs.h, but do have asm/sgidefs.h, which has the + // definitions we need. + #include <asm/sgidefs.h> +-#else +-#include <sgidefs.h> +-#endif // __BIONIC__ + #endif // __mips__ + + // SYS_mmap and SYS_munmap are not defined in Android. +-- +2.26.0 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch new file mode 100644 index 00000000..fab4a738 --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0002-Add-forgotten-ABSL_HAVE_VDSO_SUPPORT-conditional.patch @@ -0,0 +1,35 @@ +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 + diff --git a/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch new file mode 100644 index 00000000..bb78813a --- /dev/null +++ b/external/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/0003-Add-fPIC-option.patch @@ -0,0 +1,27 @@ +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 + |