This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
[Bug translator/14369] Markers with $vars are reported "not found" when missing debuginfo
- From: "jistone at redhat dot com" <sourceware-bugzilla at sourceware dot org>
- To: systemtap at sourceware dot org
- Date: Wed, 18 Jul 2012 22:21:47 +0000
- Subject: [Bug translator/14369] Markers with $vars are reported "not found" when missing debuginfo
- Auto-submitted: auto-generated
- References: <bug-14369-6586@http.sourceware.org/bugzilla/>
http://sourceware.org/bugzilla/show_bug.cgi?id=14369
Josh Stone <jistone at redhat dot com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |WAITING
--- Comment #1 from Josh Stone <jistone at redhat dot com> 2012-07-18 22:21:47 UTC ---
(In reply to comment #0)
> We ought to fall back on this direct method when the query_addr path fails, and
> then the $foo can fail later (if it even survives optimization).
commit 73d53dd2213ce54a72db9b3bd029eb1f39760656
With this, we now get:
> $ gcc ../testsuite/systemtap.base/sdt_asm.S -o sdt_asm.x
> $ ./run-stap -e 'probe process("./sdt_asm.x").mark("*") { println($foo) }' -p2
> WARNING: cannot find module /home/jistone/systemtap/build/sdt_asm.x debuginfo: No DWARF information found
> semantic error: target-symbol requires debuginfo: identifier '$foo' at <input>:1:50
> source: probe process("./sdt_asm.x").mark("*") { println($foo) }
> ^
>
> Pass 2: analysis failed. Try again with another '--vp 01' option.
> $ gcc ../testsuite/systemtap.base/sdt_asm.S -o sdt_asm.x -g
> $ ./run-stap -e 'probe process("./sdt_asm.x").mark("*") { println($foo) }' -p2
> semantic error: target-symbol requires debuginfo: identifier '$foo' at <input>:1:50
> source: probe process("./sdt_asm.x").mark("*") { println($foo) }
> ^
>
> Pass 2: analysis failed. Try again with another '--vp 01' option.
> $ ./run-stap -e 'probe process("./sdt_asm.x").mark("*") { println(@defined($foo)) }' -p2
> # probes
> process("/home/jistone/systemtap/build/sdt_asm.x").statement(0x4004ab) /* pc=.absolute+0x4ab */ /* <- process("./sdt_asm.x").mark("memory") = process("./sdt_asm.x").statement(0x4004ab) <- process("./sdt_asm.x").mark("*") */
> process("/home/jistone/systemtap/build/sdt_asm.x").statement(0x4004b1) /* pc=.absolute+0x4b1 */ /* <- process("./sdt_asm.x").mark("a") = process("./sdt_asm.x").statement(0x4004b1) <- process("./sdt_asm.x").mark("*") */
I'm not entirely thrilled with how the new error gets chained though, when full
debuginfo is present:
> $ ./run-stap -e 'probe process("./stap").mark("*") { println($foo) }' -p2
> semantic error: unable to find local 'foo' near pc 0x41140f in cleanup ../main.cxx ( (alternatives: $s $rc): identifier '$foo' at <input>:1:45
> source: probe process("./stap").mark("*") { println($foo) }
> ^
>
> semantic error: target-symbol requires debuginfo: identifier '$foo' at :1:45
> source: probe process("./stap").mark("*") { println($foo) }
> ^
>
> Pass 2: analysis failed. Try again with another '--vp 01' option.
Ideas on how to improve that are welcome...
--
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.