projects/aports·blob master · refs

79 lines · 4.0 KiB

1commit 1fbfea71fb42b2e79f9e342c1843bd26a8703536
2Author: q66 <[email protected]>
3Date: Thu Aug 25 01:20:58 2022 +0200
4
5 An all-in-one patch that fixes several issues:
6
7 1) UnscaledCycleClock not fully implemented for ppc*-musl (disabled on musl)
8 2) powerpc stacktrace implementation only works on glibc (disabled on musl)
9 3) powerpc stacktrace implementation has ppc64 assumptions (fixed)
10 4) examine_stack.cpp makes glibc assumptions on powerpc (fixed)
11
12diff --git a/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc b/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
13index a0bf3a6..103b4f6 100644
14--- a/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
15+++ b/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock.cc
16@@ -20,7 +20,7 @@
17 #include <intrin.h>
18 #endif
19
20-#if defined(__powerpc__) || defined(__ppc__)
21+#if (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
22 #ifdef __GLIBC__
23 #include <sys/platform/ppc.h>
24 #elif defined(__FreeBSD__)
25@@ -58,7 +58,7 @@ double UnscaledCycleClock::Frequency() {
26 return base_internal::NominalCPUFrequency();
27 }
28
29-#elif defined(__powerpc__) || defined(__ppc__)
30+#elif (defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC__)
31
32 int64_t UnscaledCycleClock::Now() {
33 #ifdef __GLIBC__
34diff --git a/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h b/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
35index 43a3dab..da63c74 100644
36--- a/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
37+++ b/deps/v8/third_party/abseil-cpp/absl/base/internal/unscaledcycleclock_config.h
38@@ -20,9 +20,9 @@
39 #endif
40
41 // The following platforms have an implementation of a hardware counter.
42-#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
43- defined(__powerpc__) || defined(__ppc__) || defined(_M_IX86) || \
44- (defined(_M_X64) && !defined(_M_ARM64EC))
45+#if defined(__i386__) || defined(__x86_64__) || defined(__aarch64__) || \
46+ ((defined(__powerpc__) || defined(__ppc__)) && defined(__GLIBC)) || \
47+ defined(_M_IX86) || (defined(_M_X64) && !defined(_M_ARM64EC))
48 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 1
49 #else
50 #define ABSL_HAVE_UNSCALED_CYCLECLOCK_IMPLEMENTATION 0
51diff --git a/deps/v8/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc b/deps/v8/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
52index 3dd6ba1..ec596c7 100644
53--- a/deps/v8/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
54+++ b/deps/v8/third_party/abseil-cpp/absl/debugging/internal/examine_stack.cc
55@@ -177,8 +177,10 @@ void* GetProgramCounter(void* const vuc) {
56 return reinterpret_cast<void*>(context->uc_mcontext.pc);
57 #elif defined(__powerpc64__)
58 return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
59-#elif defined(__powerpc__)
60+#elif defined(__powerpc__) && defined(__GLIBC__)
61 return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
62+#elif defined(__powerpc__)
63+ return reinterpret_cast<void*>(context->uc_mcontext.gregs[32]);
64 #elif defined(__riscv)
65 return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
66 #elif defined(__s390__) && !defined(__s390x__)
67diff --git a/deps/v8/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h b/deps/v8/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
68index 3929b1b..23d5e50 100644
69--- a/deps/v8/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
70+++ b/deps/v8/third_party/abseil-cpp/absl/debugging/internal/stacktrace_config.h
71@@ -67,7 +67,7 @@
72 #elif defined(__i386__) || defined(__x86_64__)
73 #define ABSL_STACKTRACE_INL_HEADER \
74 "absl/debugging/internal/stacktrace_x86-inl.inc"
75-#elif defined(__ppc__) || defined(__PPC__)
76+#elif (defined(__ppc__) || defined(__PPC__)) && defined(__GLIBC__)
77 #define ABSL_STACKTRACE_INL_HEADER \
78 "absl/debugging/internal/stacktrace_powerpc-inl.inc"
79 #elif defined(__aarch64__)