Re: coaxing objdump to give useful offsets

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Mulyadi Santosa wrote:
On Monday 07 August 2006 08:47, Jim Cromie wrote:

Ive got an oops, which is heavy with <symbol-addres> + <hex/hex> offsets?
inter dereference at virtual address 00000000
[  120.532000]  printing eip:
[  120.536000] c016c499
The first column is not the symbol address, Jim. AFAIK, that is the time printk took to display the strings.
Let me rephrase.
1st column is as you say. The 3rd column has <function-name> +< offset to an instruction >

[ 120.540000] Call Trace:
[ 120.540000] [<c016c6ed>] sysfs_remove_file+0xd/0xf
[ 120.540000] [<c01e7bce>] device_remove_file+0x1c/0x27
[ 120.540000] [<c880c988>] nsc_gpio_sysfs_bits_fini+0x6e/0x79 [nsc_gpio]
[ 120.540000] [<c8811253>] pc8736x_gpio_cleanup+0x3b/0xe4 [pc8736x_gpio]
[ 120.540000] [<c0123760>] sys_delete_module+0x16c/0x19c
[ 120.540000] [<c0102607>] syscall_call+0x7/0xb
[ 120.540000] DWARF2 unwinder stuck at syscall_call+0x7/0xb
[ 120.540000] Leftover inexact backtrace:


Unfortunately, function-name + offset is not as helpfull
as it could be, cuz objdump prints file-relative addresses,
not function-relative ones.


00000205 <sysfs_remove_file>:
205:   55                      push   %ebp
206:   89 e5                   mov    %esp,%ebp
208:   8b 40 30                mov    0x30(%eax),%eax
20b:   8b 12                   mov    (%edx),%edx
20d:   e8 fc ff ff ff          call   20e <sysfs_remove_file+0x9>
212:   5d                      pop    %ebp
213:   c3                      ret

So, what is sysfs_remove_file+0x9 ?
Casually, it looks like the call target,
but is probably a branch backwards of a few insns.

My x86 assembler-fu is non-existent,
but it seems the address to label correspondence
could be more obvious.

I guess this isnt a kernel Q any more,
except that a good answer improves tool usage for/by all knewbies.


thanks, hope that clarifies
-jimc

regards,

Mulyadi




--
Kernelnewbies: Help each other learn about the Linux kernel.
Archive:       http://mail.nl.linux.org/kernelnewbies/
FAQ:           http://kernelnewbies.org/faq/


[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux