Merge pull request #6354 from jaredzhu/aarch64-devel
Add aarch64 uc_mcontext debug dump info
This commit is contained in:
commit
388bc55344
27
src/debug.c
27
src/debug.c
@ -1111,6 +1111,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");
|
||||||
|
@ -58,7 +58,8 @@ int siptlw(int c) {
|
|||||||
/* Test of the CPU is Little Endian and supports not aligned accesses.
|
/* Test of the CPU is Little Endian and supports not aligned accesses.
|
||||||
* Two interesting conditions to speedup the function that happen to be
|
* Two interesting conditions to speedup the function that happen to be
|
||||||
* in most of x86 servers. */
|
* in most of x86 servers. */
|
||||||
#if defined(__X86_64__) || defined(__x86_64__) || defined (__i386__)
|
#if defined(__X86_64__) || defined(__x86_64__) || defined (__i386__) \
|
||||||
|
|| defined (__aarch64__) || defined (__arm64__)
|
||||||
#define UNALIGNED_LE_CPU
|
#define UNALIGNED_LE_CPU
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user