Re: [RFC] Crash patch for DWARF CFI based unwind support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Rachita,

Just started playing with this. I think something will need to be done to the make system to make this work properly on ia32. I just tried to compile a patched version crash and I got:


cc -c -g -DX86 -D_FILE_OFFSET_BITS=64 x86_64.c
In file included from x86_64.c:17:
unwind_x86_64.h:1:1: warning: "BITS_PER_LONG" redefined
In file included from x86_64.c:16:
defs.h:2509:1: warning: this is the location of the previous definition
In file included from x86_64.c:17:
unwind_x86_64.h:5: error: conflicting types for 'size_t'
/usr/lib/gcc/i386-redhat-linux/3.4.6/include/stddef.h:213: error: previous declaration of 'size_t' was here
make[4]: *** [x86_64.o] Error 1
make[3]: *** [gdb] Error 2
make[2]: *** [all-gdb] Error 2
make[1]: *** [gdb_merge] Error 2
make: *** [all] Error 2

Obviously, we shouldn't be compiling the x86_64 stuff for ia32 so that is why I'm thinking that some makefile tweaks are necessary.

BTW the customer site that I'm working at LLNL is VERY VERY interested in this and basically made it my top priority to put it through its paces. As you update the patch please keep me in the loop.

-ben

Rachita Kothiyal wrote:
Hi Dave

The following patch adds support for DWARF CFI based stack unwinding
for crash. Since this method uses the call frame instructions for unwinding, it generates better backtraces than the existing backtrace mechanism. So when we have the unwind info available, this new method will be called, else we fall back to the existing mechanism.

There still are a couple of things which need to be done, viz
1. Extend to obtaining unwind info from modules as well(currently
   doing only for the kernel)
2. Currently reading the unwind info from eh_frame section only(ie
   __start_unwind to __end_unwind). Need to add facility to read from
   the .debug_frame(if .debug_frame is present in cases where .eh_frame
   is absent. Will have to read from the vmlinux if we want to read the
   .debug_frame info)
3. Add FRAME_POINTER support.

Please provide your suggestions and comments.

Thanks
Rachita

--
Crash-utility mailing list
Crash-utility@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/crash-utility

[Index of Archives]     [Fedora Development]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [KDE Users]     [Fedora Tools]

 

Powered by Linux