diff options
-rw-r--r-- | libdwfl/=ideas | 16 | ||||
-rw-r--r-- | libdwfl/=oops | 88 | ||||
-rw-r--r-- | src/addr2line.c | 2 | ||||
-rw-r--r-- | tests/Makefile.am | 4 |
4 files changed, 2 insertions, 108 deletions
diff --git a/libdwfl/=ideas b/libdwfl/=ideas deleted file mode 100644 index bdce3253..00000000 --- a/libdwfl/=ideas +++ /dev/null @@ -1,16 +0,0 @@ -* dev+ino+mtime hash table, global -** share fd; if !isrel, share Elf*,Ebl*,Dwarf* - -* find_debuginfo - When local search fails, try "yum install-debugfor elf-file". - i.e., yum install `rpm -qf elffile --qf '%{SOURCERPM} %{V}-%{R} %{ARCH}\n' | awk '{ print substr($1, 1, length($1)-length("-" $2 ".src.rpm")) "-debuginfo-" $2 "." $3 }' ` - done in rpm-python inside yum(?) -** all yum ops should have a -qf mode, means `rpm -qf --qf %{name}.%{arch}` - plus debug-of modifier to name.arch or -qf * - -* libdw_findcu reads all cu hdrs from beginning -** good for dwarf_offdie: find cu containing that offset -** bad for dwarf_addrdie: reads in whole debuginfo file -** when from aranges (dwarf_addrdie), could read cuhdr offset directly w/o scan -*** aranges really store cu header offset, but libdw adds in header size to - get cu die offset; but libdw_findcu interning should start with header diff --git a/libdwfl/=oops b/libdwfl/=oops deleted file mode 100644 index bba65b08..00000000 --- a/libdwfl/=oops +++ /dev/null @@ -1,88 +0,0 @@ -* regexp on multiple formats to yield records (pc, mod, sym, offset, size?) - -glibc backtrace_symbols_fd: - -foo.so(sym+0x123)[0x345] -foo.so(sym-0x123)[0x345] -foobar[0x12345678] - - ======= Backtrace: ========= - /lib/libc.so.6[0x715124] - /lib/libc.so.6(__libc_free+0x77)[0x71565f] - ./loser[0x80483f8] - /lib/libc.so.6(__libc_start_main+0xdf)[0x6c6d5f] - ./loser[0x804832d] - ---> - (0x715124, "/lib/libc.so.6", , , ) - (0x71565f, "/lib/libc.so.6", "__libc_free", +0x77, ) - (0x80483f8, "./loser", , , ) - (0x6c6d5f, "/lib/libc.so.6", "__libc_start_main", +0xdf, ) - (0x804832d, "./loser", , , ) - - -i386 kernel oops: - - st_size -[<%x>] sym+0x123/0x32 -[<%x>] sym-0x123/0x32 -[<%x>] sym+0x123/0x32 [mod] - -
<1>Unable to handle kernel NULL pointer dereference at virtual address 00000000 -
printing eip: -
f8c54000 -
*pde = 2f36a001 -
Oops: 0002 [#2] -
SMP -
last sysfs file: /block/hdc/removable -
Modules linked in: oopsmod2(U) oopsmod(U) nfs lockd nfs_acl ipv6 lp ppdev autofs4 rfcomm l2cap bluetooth sunrpc video button battery ac parport_pc parport floppy ohci1394 ieee1394 hw_random e1000 snd_intel8x0 snd_ac97_codec snd_ac97_bus snd_seq_dummy snd_seq_oss snd_seq_midi_event snd_seq snd_seq_device snd_pcm_oss snd_mixer_oss snd_pcm snd_timer i2c_i801 snd soundcore i2c_core ehci_hcd snd_page_alloc shpchp uhci_hcd dm_snapshot dm_zero dm_mirror dm_mod ext3 jbd ata_piix libata sd_mod scsi_mod -
CPU: 0 -
EIP: 0060:[<f8c54000>] Not tainted VLI -
EFLAGS: 00010286 (2.6.14-1.1773_FC5smp) -
EIP is at crasher+0x0/0xc [oopsmod2] -
eax: f8bd2000 ebx: f8c54380 ecx: f8c54380 edx: 00000001 -
esi: 00000000 edi: 00000000 ebp: eecb8000 esp: eecb8fa8 -
ds: 007b es: 007b ss: 0068 -
Process insmod (pid: 3454, threadinfo=eecb8000 task=f768eaa0) -
Stack: f8bd2006 c01393d7 083d8018 00000000 c0103f19 083d8018 000109ca 083d8008 -
00000000 00000000 bfc73888 ffffffda 0000007b c010007b 00000080 0059a402 -
00000073 00000206 bfc7381c 0000007b 00000000 00000000 -
Call Trace: -
[<f8bd2006>] init_crash+0x6/0x9 [oopsmod2] [<c01393d7>] sys_init_module+0xe2/0x205 -
[<c0103f19>] syscall_call+0x7/0xb - ---> - kernel-release "2.6.14-1.1773_FC5smp" - (0xf8c54000, "oopsmod2", "crasher", 0x0, 0xc) - (0xf8bd2006, "oopsmod2", "init_crash", +0x6, 0x9) - (0xc01393d7, "kernel", "sys_init_module", +0xe2, 0x205) - (0xc0103f19, "kernel", "syscall_call", +0x7, 0xb) - - -x86-64 oops: - -[<%x>] -<%x>{sym+%d} -<%x>{sym-%d} -<%x>{:mod:sym+%d} -<%x>{:mod:sym-%d} - -kernel `uname -r`: - -... Not tainted (%s) -... Tainted: [A-Z]* (%s) - - -* guess mod loadbase from sym+ofs==pc -> pc-(symval+ofs)==bias - -* for kernel -** seen-modules = "kernel", "mod", ... -** dwfl_linux_kernel_report_offline with predicate = member seen-modules -** intuit mod bases -** dwfl_report_end, dwfl_report_begin, dwfl_report_elf on seen-modules w/bases - -* for user -** seen-modules = files -** dwfl_report_offline on seen-modules -** intuit mod bases -** dwfl_report_end, dwfl_report_begin, dwfl_report_elf on seen-modules w/bases diff --git a/src/addr2line.c b/src/addr2line.c index e2ea4b4d..1229ce48 100644 --- a/src/addr2line.c +++ b/src/addr2line.c @@ -64,7 +64,7 @@ static const struct argp_option options[] = { NULL, 0, NULL, 0, N_("Output Selection:"), 0 }, { "basenames", 's', NULL, 0, N_("Show only base names of source files"), 0 }, { "absolute", 'A', NULL, 0, - N_("Show absolute directory names of source files"), 0 }, + N_("Show absolute file names using compilation directory"), 0 }, { "functions", 'f', NULL, 0, N_("Also show function names"), 0 }, { NULL, 0, NULL, 0, N_("Miscellaneous:"), 0 }, diff --git a/tests/Makefile.am b/tests/Makefile.am index b608a2bd..0ceef1b9 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -57,8 +57,7 @@ noinst_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \ show-die-info get-files get-lines get-pubnames \ get-aranges allfcts line2addr addrscopes funcscopes \ show-abbrev hash newscn ecp dwflmodtest \ - find-prologues funcretval allregs rdwrmmap \ - countcu + find-prologues funcretval allregs rdwrmmap # get-ciefde asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \ asm-tst6 asm-tst7 asm-tst8 asm-tst9 @@ -184,7 +183,6 @@ addrscopes_LDADD = $(libdw) $(libmudflap) funcscopes_LDADD = $(libdw) $(libmudflap) funcretval_LDADD = $(libdw) $(libmudflap) allregs_LDADD = $(libdw) $(libmudflap) -countcu_LDADD = $(libdw) $(libmudflap) find_prologues_LDADD = $(libdw) $(libmudflap) #show_ciefde_LDADD = ../libdwarf/libdwarf.so $(libelf) $(libmudflap) asm_tst1_LDADD = $(libasm) $(libebl) $(libelf) $(libmudflap) -ldl |