What is the difference among CFI version 1, 3 and 4?
crash utility has a dwarf unwinder that is derived from Linux kernel
just as the one in systemtap. I'm using it in gcore extension module
for crash utility, ELF core dumper on crash utility for user-mode
tasks, on x86_64 to restore callee-saved register values saved at the
first stack frame on kernel stack.
The problem is that the dwarf unwinder doesn't work well for RHEL6's
debuginfo since it supports version 1 only while RHEL6 contains CIEs
with version 3.
I want to make crash utility support at least version 3. BTW, I've
already confirmed systemtap supports all versions, i.e. 1, 3 and 4,
and appears to work fine. So, I think that the simplest way to achieve
the purpose is to barrow the code.
However, I don't know what was added from version 1 to 3, and from
version 3 and 4. Could anyone suggest me that or tell me documentation
useful to recognize the difference in addition to the original Dwarf
Crash-utility mailing list