mirror of
https://github.com/thead-yocto-mirror/meta-openembedded
synced 2026-09-18 13:11:57 +02:00
Redis 7.0 "includes changes that potentially break backwards compatibility with older versions", so let's let folks some time to test 7.0 and later decide which version(s) we want to keep. Signed-off-by: Oleksandr Kravchuk <open.source@oleksandr-kravchuk.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
61 lines
2.5 KiB
Diff
61 lines
2.5 KiB
Diff
From f26a978c638bcbc621669dce0ab89e43af42af98 Mon Sep 17 00:00:00 2001
|
|
From: Khem Raj <raj.khem@gmail.com>
|
|
Date: Mon, 26 Oct 2020 21:32:22 -0700
|
|
Subject: [PATCH] Define correct gregs for RISCV32
|
|
|
|
Upstream-Status: Pending
|
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
|
|
|
Updated patch for 6.2.1
|
|
Signed-off-by: Yi Fan Yu <yifan.yu@windriver.com>
|
|
|
|
---
|
|
src/debug.c | 26 ++++++++++++++++++++++++--
|
|
1 file changed, 24 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/src/debug.c b/src/debug.c
|
|
index 2da2c5d..1d778fa 100644
|
|
--- a/src/debug.c
|
|
+++ b/src/debug.c
|
|
@@ -1116,7 +1116,9 @@ static void *getMcontextEip(ucontext_t *uc) {
|
|
#endif
|
|
#elif defined(__linux__)
|
|
/* Linux */
|
|
- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
|
|
+ #if defined(__riscv) && __riscv_xlen == 32
|
|
+ return (void*) uc->uc_mcontext.__gregs[REG_PC];
|
|
+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
|
|
return (void*) uc->uc_mcontext.gregs[14]; /* Linux 32 */
|
|
#elif defined(__X86_64__) || defined(__x86_64__)
|
|
return (void*) uc->uc_mcontext.gregs[16]; /* Linux 64 */
|
|
@@ -1298,8 +1300,28 @@ void logRegisters(ucontext_t *uc) {
|
|
#endif
|
|
/* Linux */
|
|
#elif defined(__linux__)
|
|
+ /* Linux RISCV32 */
|
|
+ #if defined(__riscv) && __riscv_xlen == 32
|
|
+ serverLog(LL_WARNING,
|
|
+ "\n"
|
|
+ "RA:%08lx S0:%08lx S1:%08lx S2:%08lx\n"
|
|
+ "SP:%08lx PC:%08lx A0:%08lx A1:%08lx\n"
|
|
+ "A2 :%08lx A3:%08lx A4:%08lx",
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_RA],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_S0],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_S1],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_S2],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_SP],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_PC],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 0],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 1],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 2],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 3],
|
|
+ (unsigned long) uc->uc_mcontext.__gregs[REG_A0 + 4]
|
|
+ );
|
|
+ logStackContent((void**)uc->uc_mcontext.__gregs[REG_SP]);
|
|
/* Linux x86 */
|
|
- #if defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
|
|
+ #elif defined(__i386__) || ((defined(__X86_64__) || defined(__x86_64__)) && defined(__ILP32__))
|
|
serverLog(LL_WARNING,
|
|
"\n"
|
|
"EAX:%08lx EBX:%08lx ECX:%08lx EDX:%08lx\n"
|