coaxing objdump to give useful offsets

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

 




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
[  120.536000] *pde = 00000000
[  120.540000] Oops: 0000 [#1]
[  120.540000] 4K_STACKS
[  120.540000] last sysfs file: /devices/platform/i2c-9191/9191-6620/vrm
[ 120.540000] Modules linked in: usbcore scx200_hrt scx200_gpio scx200 pc8736x_gpio nsc_gpio pc87360 hwmon_vid i2c_isa i2c_core
[  120.540000] CPU:    0
[  120.540000] EIP:    0060:[<c016c499>]    Not tainted VLI
[  120.540000] EFLAGS: 00010246   (2.6.18-rc3-mm2-sk #5)
[  120.540000] EIP is at sysfs_hash_and_remove+0x55/0x144
[  120.540000] eax: c8811570   ebx: c7b2db68   ecx: c1126ce0   edx: 00000004
[  120.540000] esi: c88115a0   edi: 00000000   ebp: c5ce9f0c   esp: c5ce9ef0
[  120.540000] ds: 007b   es: 007b   ss: 0068
[ 120.540000] Process rmmod (pid: 1831, ti=c5ce9000 task=c1173030 task.ti=c5ce9000) [ 120.540000] Stack: 00000000 c740ba88 c7b2db64 c7a7ecf0 c7ac2208 c88154f8 00000001 c5ce9f14 [ 120.540000] c016c6ed c5ce9f24 c01e7bce c8815540 c7ac2208 c5ce9f3c c880c988 00000008 [ 120.540000] c7ac22ac 00000000 00000880 c5ce9f54 c8811253 c88125ac c028f41b c7ac22ac
[  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:
[  120.540000]  [<c0102dd8>] show_stack_log_lvl+0x8b/0x96
[  120.540000]  [<c0102f3a>] show_registers+0x157/0x1e8
[  120.540000]  [<c01033ee>] die+0x197/0x23f
[  120.540000]  [<c0109b85>] do_page_fault+0x3c8/0x495
[  120.540000]  [<c026b529>] error_code+0x39/0x40
[  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] Code: 89 55 f0 e8 33 e3 0f 00 8b 45 f0 8b 50 0c e9 bf 00 00 00 8b 45 ec 83 78 14 00 0f 84 ac 00 00 00 e8 19 ff ff ff 8b 7d e4 89 c6 ac <ae> 75 08 84 c0 75 f8 31 c0 eb 04 19 c0 0c 01 85 c0 0f 85 8a 00 [ 120.540000] EIP: [<c016c499>] sysfs_hash_and_remove+0x55/0x144 SS:ESP 0068:c5ce9ef0 [ 120.540000] /root/pinlab/exer-gpio.sh: line 5: 1831 Segmentation fault rmmod pc8736x_gpio scx200_gpio nsc_gpio



problem is, objdump doesnt render with that convention, so mental math is necessary to find lines.

000003c4 <sysfs_hash_and_remove>:
3c4:   55                      push   %ebp
3c5:   89 e5                   mov    %esp,%ebp
3c7:   57                      push   %edi
3c8:   56                      push   %esi


It would be nice if it instead showed

000003c4 <sysfs_hash_and_remove>:
 +000:   55                      push   %ebp
 +001:   89 e5                   mov    %esp,%ebp
 +003:   57                      push   %edi


Is there a way, that Ive missed rtfm'g, to make objdump output and kernel-oopses correspond obviously ?

--
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