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.