3

If I got a kernel oops, what is 0xac/0x2b8 below means? Also, how can I get the line number in the file where the function is? This is linux on ARM arch.

PC is at get_next_timer_interrupt+0xac/0x2b8

user1804788
  • 187
  • 1
  • 3
  • 12
  • See also the answers to this question: http://stackoverflow.com/questions/6151538/addr2line-on-kernel-module – Eugene Nov 24 '13 at 08:29

2 Answers2

4

The kernel might need various debug options to be enabled, but 'addr2line' should give you file name and line number for an address. http://elinux.org/Addr2line_for_kernel_debugging

skorgon
  • 604
  • 4
  • 12
3

It means that exception occured at get_next_timer_interrupt+0xac address. 0xac is the offset in the get_next_timer_interrupt procedure. 0x2b8 means how long is the procedure where the exception occurred (get_next_timer_interrupt).

You may decode it using addr2line as skorgon wrote, or use objdump command to disassemble Linux Kernel and find the problematic line in kernel sources. Of course, Linux kernel has to be compiled with debugging symbols.

Abhijeet Kasurde
  • 3,937
  • 1
  • 24
  • 33
user2699113
  • 4,262
  • 3
  • 25
  • 43