src/debug.c do not support aarch64 dump utcontext, so add the context
of aarch64. The content comes from the definition of the sigcontext and tested on my aarch64 server. sigcontext defined at the linux kernel code: arch/arm64/include/uapi/asm/sigcontext.h
This commit is contained in:
parent
19bb67b6d0
commit
e6c2020a55
27
src/debug.c
27
src/debug.c
@ -1110,6 +1110,33 @@ void logRegisters(ucontext_t *uc) {
|
|||||||
(unsigned long) uc->uc_mcontext.mc_cs
|
(unsigned long) uc->uc_mcontext.mc_cs
|
||||||
);
|
);
|
||||||
logStackContent((void**)uc->uc_mcontext.mc_rsp);
|
logStackContent((void**)uc->uc_mcontext.mc_rsp);
|
||||||
|
#elif defined(__aarch64__) /* Linux AArch64 */
|
||||||
|
serverLog(LL_WARNING,
|
||||||
|
"\n"
|
||||||
|
"X18:%016lx X19:%016lx\nX20:%016lx X21:%016lx\n"
|
||||||
|
"X22:%016lx X23:%016lx\nX24:%016lx X25:%016lx\n"
|
||||||
|
"X26:%016lx X27:%016lx\nX28:%016lx X29:%016lx\n"
|
||||||
|
"X30:%016lx\n"
|
||||||
|
"pc:%016lx sp:%016lx\npstate:%016lx fault_address:%016lx\n",
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[18],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[19],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[20],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[21],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[22],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[23],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[24],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[25],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[26],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[27],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[28],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[29],
|
||||||
|
(unsigned long) uc->uc_mcontext.regs[30],
|
||||||
|
(unsigned long) uc->uc_mcontext.pc,
|
||||||
|
(unsigned long) uc->uc_mcontext.sp,
|
||||||
|
(unsigned long) uc->uc_mcontext.pstate,
|
||||||
|
(unsigned long) uc->uc_mcontext.fault_address
|
||||||
|
);
|
||||||
|
logStackContent((void**)uc->uc_mcontext.sp);
|
||||||
#else
|
#else
|
||||||
serverLog(LL_WARNING,
|
serverLog(LL_WARNING,
|
||||||
" Dumping of registers not supported for this OS/arch");
|
" Dumping of registers not supported for this OS/arch");
|
||||||
|
Loading…
x
Reference in New Issue
Block a user