diff options
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-grpcio')
2 files changed, 10 insertions, 85 deletions
diff --git a/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch b/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch deleted file mode 100644 index 63ec2e23d1..0000000000 --- a/meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch +++ /dev/null | |||
| @@ -1,79 +0,0 @@ | |||
| 1 | From ee0e37b02d0d28279e103653688bf7203275ec47 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: aurel32 <aurelien@aurel32.net> | ||
| 3 | Date: Fri, 22 Mar 2024 14:21:13 -0700 | ||
| 4 | Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support | ||
| 5 | |||
| 6 | Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644 | ||
| 7 | |||
| 8 | Starting with Linux 6.6 [1], RDCYCLE is a privileged instruction on RISC-V and can't be used directly from userland. There is a sysctl option to change that as a transition period, but it will eventually disappear. | ||
| 9 | |||
| 10 | The RDTIME instruction is another less accurate alternative, however its frequency varies from board to board, and there is currently now way to get its frequency from userland [2]. | ||
| 11 | |||
| 12 | Therefore this patch just removes the code for unscaledcycleclock on RISC-V. Without processor specific implementation, abseil relies on std::chrono::steady_clock::now().time_since_epoch() which is basically a wrapper around clock_gettime (CLOCK_MONOTONIC), which in turns use __vdso_clock_gettime(). On RISC-V this VDSO is just a wrapper around RDTIME correctly scaled to use nanoseconds units. | ||
| 13 | |||
| 14 | This fixes the testsuite on riscv64, tested on a VisionFive 2 board. | ||
| 15 | |||
| 16 | [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cc4c07c89aada16229084eeb93895c95b7eabaa3 | ||
| 17 | [2] https://github.com/abseil/abseil-cpp/pull/1631 | ||
| 18 | Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1 | ||
| 19 | |||
| 20 | Merging this change closes #1644 | ||
| 21 | |||
| 22 | COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71 | ||
| 23 | PiperOrigin-RevId: 618286262 | ||
| 24 | Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652 | ||
| 25 | |||
| 26 | Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d] | ||
| 27 | [Adapted to apply on top of meta-oe's patch stack] | ||
| 28 | Signed-off-by: Scott Murray <scott.murray@konsulko.com> | ||
| 29 | --- | ||
| 30 | .../absl/base/internal/unscaledcycleclock.cc | 12 ------------ | ||
| 31 | .../absl/base/internal/unscaledcycleclock_config.h | 5 ++--- | ||
| 32 | 2 files changed, 2 insertions(+), 15 deletions(-) | ||
| 33 | |||
| 34 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | ||
| 35 | index f11fecb..103b4f6 100644 | ||
| 36 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | ||
| 37 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | ||
| 38 | @@ -121,18 +121,6 @@ double UnscaledCycleClock::Frequency() { | ||
| 39 | return aarch64_timer_frequency; | ||
| 40 | } | ||
| 41 | |||
| 42 | -#elif defined(__riscv) | ||
| 43 | - | ||
| 44 | -int64_t UnscaledCycleClock::Now() { | ||
| 45 | - int64_t virtual_timer_value; | ||
| 46 | - asm volatile("rdcycle %0" : "=r"(virtual_timer_value)); | ||
| 47 | - return virtual_timer_value; | ||
| 48 | -} | ||
| 49 | - | ||
| 50 | -double UnscaledCycleClock::Frequency() { | ||
| 51 | - return base_internal::NominalCPUFrequency(); | ||
| 52 | -} | ||
| 53 | - | ||
| 54 | #elif defined(_M_IX86) || defined(_M_X64) | ||
| 55 | |||
| 56 | #pragma intrinsic(__rdtsc) | ||
| 57 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | ||
| 58 | index 5e232c1..83552fc 100644 | ||
| 59 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | ||
| 60 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | ||
| 61 | @@ -22,7 +22,6 @@ | ||
| 62 | // The following platforms have an implementation of a hardware counter. | ||
| 63 | #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ | ||
| 64 | ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ | ||
| 65 | - defined(__riscv) || \ | ||
| 66 | defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) | ||
| 67 | #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 | ||
| 68 | #else | ||
| 69 | @@ -54,8 +53,8 @@ | ||
| 70 | #if ABSL_USE_UNSCALED_CYCLECLOCK | ||
| 71 | // This macro can be used to test if UnscaledCycleClock::Frequency() | ||
| 72 | // is NominalCPUFrequency() on a particular platform. | ||
| 73 | -#if (defined(__i386__) || defined(__x86_64__) || defined(__riscv) || \ | ||
| 74 | - defined(_M_IX86) || defined(_M_X64)) | ||
| 75 | +#if (defined(__i386__) || defined(__x86_64__) || defined(_M_IX86) || \ | ||
| 76 | + defined(_M_X64)) | ||
| 77 | #define ABSL_INTERNAL_UNSCALED_CYCLECLOCK_FREQUENCY_IS_CPU_FREQUENCY | ||
| 78 | #endif | ||
| 79 | #endif | ||
diff --git a/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch b/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch index 1daebfa19d..69e06a7918 100644 --- a/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch +++ b/meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch | |||
| @@ -1,5 +1,5 @@ | |||
| 1 | From a2ec96a96ff7ba016e800212a942b9f29f255415 Mon Sep 17 00:00:00 2001 | 1 | From a2ec96a96ff7ba016e800212a942b9f29f255415 Mon Sep 17 00:00:00 2001 |
| 2 | From: Khem Raj <raj.khem@gmail.com> | 2 | From: Khem Raj <raj.khem@gmail.com> |
| 3 | Date: Sat, 13 Mar 2021 10:26:25 -0800 | 3 | Date: Sat, 13 Mar 2021 10:26:25 -0800 |
| 4 | Subject: [PATCH] An all-in-one patch that fixes several issues: | 4 | Subject: [PATCH] An all-in-one patch that fixes several issues: |
| 5 | 5 | ||
| @@ -13,6 +13,7 @@ Sourced from void linux | |||
| 13 | Upstream-Status: Pending | 13 | Upstream-Status: Pending |
| 14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> | 14 | Signed-off-by: Khem Raj <raj.khem@gmail.com> |
| 15 | Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com> | 15 | Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com> |
| 16 | Signed-off-by: Wang Mingyu <wangmy@fujitsu.com> | ||
| 16 | --- | 17 | --- |
| 17 | .../abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 4 ++-- | 18 | .../abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 4 ++-- |
| 18 | .../absl/base/internal/unscaledcycleclock_config.h | 3 ++- | 19 | .../absl/base/internal/unscaledcycleclock_config.h | 3 ++- |
| @@ -21,7 +22,7 @@ Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com> | |||
| 21 | 4 files changed, 12 insertions(+), 5 deletions(-) | 22 | 4 files changed, 12 insertions(+), 5 deletions(-) |
| 22 | 23 | ||
| 23 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 24 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc |
| 24 | index 05e0e7b..f11fecb 100644 | 25 | index a0bf3a6..103b4f6 100644 |
| 25 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 26 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc |
| 26 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc | 27 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc |
| 27 | @@ -20,7 +20,7 @@ | 28 | @@ -20,7 +20,7 @@ |
| @@ -43,17 +44,17 @@ index 05e0e7b..f11fecb 100644 | |||
| 43 | int64_t UnscaledCycleClock::Now() { | 44 | int64_t UnscaledCycleClock::Now() { |
| 44 | #ifdef __GLIBC__ | 45 | #ifdef __GLIBC__ |
| 45 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | 46 | diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h |
| 46 | index 24b324a..5e232c1 100644 | 47 | index 43a3dab..196a853 100644 |
| 47 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | 48 | --- a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h |
| 48 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h | 49 | +++ b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h |
| 49 | @@ -21,7 +21,8 @@ | 50 | @@ -21,7 +21,8 @@ |
| 50 | 51 | ||
| 51 | // The following platforms have an implementation of a hardware counter. | 52 | // The following platforms have an implementation of a hardware counter. |
| 52 | #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ | 53 | #if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \ |
| 53 | - defined(__powerpc__) || defined(__ppc__) || defined(__riscv) || \ | 54 | - defined(__powerpc__) || defined(__ppc__) || defined(_M_IX86) || \ |
| 54 | + ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ | 55 | + ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)) || \ |
| 55 | + defined(__riscv) || \ | 56 | + defined(_M_IX86) || \ |
| 56 | defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC)) | 57 | (defined(_M_X64) && !defined(_M_ARM64EC)) |
| 57 | #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 | 58 | #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1 |
| 58 | #else | 59 | #else |
| 59 | diff --git a/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc | 60 | diff --git a/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc |
| @@ -96,3 +97,6 @@ index 3929b1b..23d5e50 100644 | |||
| 96 | #define ABSL_STACKTRACE_INL_HEADER \ | 97 | #define ABSL_STACKTRACE_INL_HEADER \ |
| 97 | "absl/debugging/internal/stacktrace_powerpc-inl.inc" | 98 | "absl/debugging/internal/stacktrace_powerpc-inl.inc" |
| 98 | #elif defined(__aarch64__) | 99 | #elif defined(__aarch64__) |
| 100 | -- | ||
| 101 | 2.43.0 | ||
| 102 | |||
