Hello, I have a kernel panic that prints a backtrace, but no kernel dump. The lines in the backtrace has the usual format:
[<addr1>] ? func1+num1/num2 [module1] I understand that num1 is the address offset from the beginning of func1. What is num2? I tried to narrow down the location in func1() by doing the following steps: loaded file1.o file into gdb and issued a "disassemble func1". The disassembled version of func1, the lines pertaining to function calls in func1() has the following format: ...............callq num3 <func1+num4> <==== And NOT the following format I am used to: .................callq <addr2> <func2> (func2 is a function called from within func1) My question is related to line marked with <==== - Looking closely as the values of num3 and num4, the instruction seems to point to a location somewhere in func1 itself, and not the called function- func2. I must be reading the instruction wrong? How does one interpret the "calls" instruction. - I understand I can't get something like addr2 in the line marked with <==== as the object file is not linked to the kernel. However, is there any way or tools I can use so the function name shows up in the the line <====. That would make it easier for me to understand the disassembled code. Using gdb on the kernel module (*.ko) did not make a difference in the disassemble output. I apologize for my cryptic question and for posting this question here as this is not related to crash, however, I felt the audience of this mailing list might be able to help. Thank you, Ahmed.
-- Crash-utility mailing list [email protected] https://www.redhat.com/mailman/listinfo/crash-utility
