libunwind: refresh ppc32/musl patch

There was a precedence order problem in the patch so update to the latest
version in the pull request.

(From OE-Core rev: c64c4ca0c72f6fde3b1d5cfea5803ddf16550fd5)

Signed-off-by: Ross Burton <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Ross Burton
2025-04-25 12:43:19 +01:00
committed by Richard Purdie
parent f2bef9fa5f
commit f2dc1e086c

View File

@@ -30,9 +30,9 @@ index 9444cbb8..5e94ed8a 100644
+/* glibc and musl disagree over the layout of this struct */
+#ifdef __GLIBC__
+#define _UC_MCONTEXT_REGS(x) x->uc_mcontext.uc_regs
+#define _UCONTEXT_UC_REGS(uc) uc->uc_mcontext.uc_regs
+#else
+#define _UC_MCONTEXT_REGS(x) x->uc_regs
+#define _UCONTEXT_UC_REGS(uc) uc->uc_regs
+#endif
+
static void *
@@ -43,7 +43,7 @@ index 9444cbb8..5e94ed8a 100644
if ((unsigned) (reg - UNW_PPC32_R0) < 32)
#if defined(__linux__)
- addr = &uc->uc_mcontext.uc_regs->gregs[reg - UNW_PPC32_R0];
+ addr = _UC_MCONTEXT_REGS(&uc)->gregs[reg - UNW_PPC32_R0];
+ addr = &_UCONTEXT_UC_REGS(uc)->gregs[reg - UNW_PPC32_R0];
#elif defined(__FreeBSD__)
addr = &uc->uc_mcontext.mc_gpr[reg - UNW_PPC32_R0];
#endif
@@ -52,7 +52,7 @@ index 9444cbb8..5e94ed8a 100644
((unsigned) (reg - UNW_PPC32_F0) >= 0) )
#if defined(__linux__)
- addr = &uc->uc_mcontext.uc_regs->fpregs.fpregs[reg - UNW_PPC32_F0];
+ addr = _UC_MCONTEXT_REGS(&uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
+ addr = &_UCONTEXT_UC_REGS(uc)->fpregs.fpregs[reg - UNW_PPC32_F0];
#elif defined(__FreeBSD__)
addr = &uc->uc_mcontext.mc_fpreg[reg - UNW_PPC32_F0];
#endif
@@ -61,7 +61,7 @@ index 9444cbb8..5e94ed8a 100644
}
#if defined(__linux__)
- addr = &uc->uc_mcontext.uc_regs->gregs[gregs_idx];
+ addr = _UC_MCONTEXT_REGS(&uc)->gregs[gregs_idx];
+ addr = &_UCONTEXT_UC_REGS(uc)->gregs[gregs_idx];
#elif defined(__FreeBSD__)
addr = &uc->uc_mcontext.mc_gpr[gregs_idx];
#endif