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

Reply via email to