This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: backtrace not working on mainline x86_64


In recent x86_64, process kernel stack is different from trap stack, I modify runtime/stack.c _stp_stack_sprint() function, the original is
__stp_stack_sprint (str, (unsigned long *)&REG_SP(regs), verbose, 0);
__stp_stack_sprint (str, (unsigned long *)REG_SP(regs), verbose, 0);


It works well for x86_86 in recent kernel version, this is only temporary method.

Jose R. Santos wrote:
Hi folks,

I've notice that on x86_64, the way in which we walk the stack has changed and this breaks backtrace() on mainline kernels. There are a couple of dependencies that make coping the kernel's show_trace() function not very straight forward. My hack seems to partially work but also crashes the system from time to time. Has anyone experience this or have a fix available that would work with 2.6.16 kernels?

Thanks

-JRS



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]