On Fri, Apr 27, 2007 at 12:12:29PM -0400, Dave Anderson wrote: > > - Implemented dependable backtraces for the x86_64 architecture. (!!!) > This feature builds upon the current "low_budget" backtrace function, > and also required the fix for the BUG()/ud2a disassembly problem > addressed in 4.0-3.22. It does not require kernel unwind support, > but rather it calculates function framesizes by disassembling the > code from the beginning of the function to the point where it calls > the next function, parsing for add or sub instructions on the rsp, > and for push and pop instructions, thereby determining the framesize > of the function at the point of the call. This is similar to what is > done for x86, but requires far less hackery. You will notice a slight > hitch the first time a "bt" is done on a task, but for each text > return address in any backtrace, its framesize is cached for all > subsequent instances. It also accounts for backtrace text return > addresses from the .text.lock section, by appending "(via function)" > to the end of the frame line. Also, because it layers on top of the > current backtrace code, it does not compromise the capability of > switching between the process, IRQ, and exception stacks. That all > being said, 100% accuracy cannot be guaranteed. But for the ~30 > sample dumpfiles I keep around for x86_64 testing, I cannot find any > obviously invalid backtraces. However, if there is any doubt, the > "bt -o" option will perform backtraces using the "old" manner; and > "bt -O" will force the old manner to always be used. Of course the > "bt -t" and "bt -T" options are still available. It's interesting to > redirect the output of "foreach bt" to a file using this version, and > then compare it with the output from an older version. > (anderson@xxxxxxxxxx) > Hi Dave, Why to go for this approach? Does it give better backtraces as compared to retrieving the information from kernel vmlinux (unwind info) or from debug sections? Thanks Vivek -- Crash-utility mailing list Crash-utility@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/crash-utility