summaryrefslogtreecommitdiff
path: root/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
diff options
context:
space:
mode:
Diffstat (limited to 'meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch')
-rw-r--r--meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch24
1 files changed, 4 insertions, 20 deletions
diff --git a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
index ee0c25473..a4937e1b3 100644
--- a/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
+++ b/meta-openembedded/meta-oe/recipes-devtools/abseil-cpp/abseil-cpp/abseil-ppc-fixes.patch
@@ -53,21 +53,21 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#include "absl/base/attributes.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/base/macros.h"
-@@ -55,8 +59,10 @@ void* GetProgramCounter(void* vuc) {
+@@ -63,8 +67,10 @@ void* GetProgramCounter(void* vuc) {
return reinterpret_cast<void*>(context->uc_mcontext.pc);
#elif defined(__powerpc64__)
return reinterpret_cast<void*>(context->uc_mcontext.gp_regs[32]);
-#elif defined(__powerpc__)
+#elif defined(__powerpc__) && defined(__GLIBC__)
- return reinterpret_cast<void*>(context->uc_mcontext.regs->nip);
+ return reinterpret_cast<void*>(context->uc_mcontext.uc_regs->gregs[32]);
+#elif defined(__powerpc__)
-+ return reinterpret_cast<void*>(((struct pt_regs *)context->uc_regs)->nip);
++ return reinterpret_cast<void*>(((struct pt_regs *)context->uc_regs)->gregs[32]);
#elif defined(__riscv)
return reinterpret_cast<void*>(context->uc_mcontext.__gregs[REG_PC]);
#elif defined(__s390__) && !defined(__s390x__)
--- a/absl/debugging/internal/stacktrace_config.h
+++ b/absl/debugging/internal/stacktrace_config.h
-@@ -64,7 +64,7 @@
+@@ -55,7 +55,7 @@
#elif defined(__i386__) || defined(__x86_64__)
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_x86-inl.inc"
@@ -76,19 +76,3 @@ Signed-off-by: Khem Raj <raj.khem@gmail.com>
#define ABSL_STACKTRACE_INL_HEADER \
"absl/debugging/internal/stacktrace_powerpc-inl.inc"
#elif defined(__aarch64__)
---- a/absl/debugging/internal/stacktrace_powerpc-inl.inc
-+++ b/absl/debugging/internal/stacktrace_powerpc-inl.inc
-@@ -130,8 +130,13 @@ static void **NextStackFrame(void **old_
- StacktracePowerPCGetLR(new_sp) == kernel_sigtramp_rt64_address) {
- const ucontext_t* signal_context =
- reinterpret_cast<const ucontext_t*>(uc);
-+#if defined(__powerpc64__)
- void **const sp_before_signal =
- reinterpret_cast<void**>(signal_context->uc_mcontext.gp_regs[PT_R1]);
-+#else
-+ void **const sp_before_signal =
-+ reinterpret_cast<void**>(signal_context->uc_mcontext.uc_regs->gregs[PT_R1]);
-+#endif
- // Check that alleged sp before signal is nonnull and is reasonably
- // aligned.
- if (sp_before_signal != nullptr &&