diff options
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.patch | 24 |
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 && |