This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug translator/14369] Markers with $vars are reported "not found" when missing debuginfo


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]