summaryrefslogtreecommitdiffstats
path: root/meta-python/recipes-devtools/python/python3-grpcio
diff options
context:
space:
mode:
Diffstat (limited to 'meta-python/recipes-devtools/python/python3-grpcio')
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio/0001-PR-1644-unscaledcycleclock-remove-RISC-V-support.patch79
-rw-r--r--meta-python/recipes-devtools/python/python3-grpcio/abseil-ppc-fixes.patch16
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 @@
1From ee0e37b02d0d28279e103653688bf7203275ec47 Mon Sep 17 00:00:00 2001
2From: aurel32 <aurelien@aurel32.net>
3Date: Fri, 22 Mar 2024 14:21:13 -0700
4Subject: [PATCH] PR #1644: unscaledcycleclock: remove RISC-V support
5
6Imported from GitHub PR https://github.com/abseil/abseil-cpp/pull/1644
7
8Starting 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
10The 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
12Therefore 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
14This 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
18Merge 43356a2548cfde76e164d446cb69004b488c6a71 into 76f8011beabdaee872b5fde7546e02407b220cb1
19
20Merging this change closes #1644
21
22COPYBARA_INTEGRATE_REVIEW=https://github.com/abseil/abseil-cpp/pull/1644 from aurel32:rv64-no-unscaledcycleclock 43356a2548cfde76e164d446cb69004b488c6a71
23PiperOrigin-RevId: 618286262
24Change-Id: Ie4120a727e7d0bb185df6e06ea145c780ebe6652
25
26Upstream-Status: Backport [https://github.com/abseil/abseil-cpp/commit/7335a36d]
27[Adapted to apply on top of meta-oe's patch stack]
28Signed-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
34diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
35index 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)
57diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
58index 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 @@
1From a2ec96a96ff7ba016e800212a942b9f29f255415 Mon Sep 17 00:00:00 2001 1From a2ec96a96ff7ba016e800212a942b9f29f255415 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com> 2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 13 Mar 2021 10:26:25 -0800 3Date: Sat, 13 Mar 2021 10:26:25 -0800
4Subject: [PATCH] An all-in-one patch that fixes several issues: 4Subject: [PATCH] An all-in-one patch that fixes several issues:
5 5
@@ -13,6 +13,7 @@ Sourced from void linux
13Upstream-Status: Pending 13Upstream-Status: Pending
14Signed-off-by: Khem Raj <raj.khem@gmail.com> 14Signed-off-by: Khem Raj <raj.khem@gmail.com>
15Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com> 15Signed-off-by: Xu Huan <xuhuan.fnst@fujitsu.com>
16Signed-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
23diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc 24diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
24index 05e0e7b..f11fecb 100644 25index 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__
45diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h 46diff --git a/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
46index 24b324a..5e232c1 100644 47index 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
59diff --git a/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc 60diff --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--
1012.43.0
102