public inbox for systemtap@sourceware.org
 help / color / mirror / Atom feed
* [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
@ 2011-08-30 15:02 brolley at redhat dot com
  2011-08-30 15:17 ` [Bug translator/13143] " brolley at redhat dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: brolley at redhat dot com @ 2011-08-30 15:02 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

             Bug #: 13143
           Summary: process.library("libfoo.so").function(ADDRESS).call/re
                    turn fail to resolve
           Product: systemtap
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: translator
        AssignedTo: systemtap@sourceware.org
        ReportedBy: brolley@redhat.com
    Classification: Unclassified


The test

  stap -p2 -e 'probe process.library("libfoo.so").function(ADDR).call {exit
();}'

where ADDR is the address of the function libfoofunc as obtained from objdump
fails to resolve. The same problem occurs for the .return variant. The probe
resolves if the call/return is omitted. The probe also resolves if an sdt
marker is added to libfoofunc similar to the one in ilibfoofunc.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug translator/13143] process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
  2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
@ 2011-08-30 15:17 ` brolley at redhat dot com
  2011-08-30 19:41 ` scox at redhat dot com
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: brolley at redhat dot com @ 2011-08-30 15:17 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

--- Comment #1 from Dave Brolley <brolley at redhat dot com> 2011-08-30 15:16:54 UTC ---
Additional information: This test is from

  testsuite/systemtap.unprivileged/unprivileged_all.exp

Details on building the application foo and the library libfoo can be obtained
there. Also the stap invocation should contain -c ./foo as in

stap -p2 \
-e 'probe process.library("libfoo.so").function(ADDR).call {exit();}' \
-c ./foo

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug translator/13143] process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
  2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
  2011-08-30 15:17 ` [Bug translator/13143] " brolley at redhat dot com
@ 2011-08-30 19:41 ` scox at redhat dot com
  2011-08-30 19:43 ` scox at redhat dot com
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: scox at redhat dot com @ 2011-08-30 19:41 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

Stan Cox <scox at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |scox at redhat dot com

--- Comment #2 from Stan Cox <scox at redhat dot com> 2011-08-30 19:41:15 UTC ---
Looks like it is working as designed.  

probe process ("libfoo.so").library("libfoo.so").function(0x55e).call 
 maps to and seems to behave identical to:
probe process ("libfoo.so").function(0x55e).call

query_addr has this check.
          if ((tag == DW_TAG_subprogram && !q->has_inline) ||
              (tag == DW_TAG_inlined_subroutine &&
               !q->has_call && !q->has_return))
which in the above case is checking
tag == DW_TAG_inlined_subroutine
q->has_call == true

and thus it fails.

For the case where a probe is added to libfoofunc then the check becomes
tag == DW_TAG_subprogram
q->has_inline == true

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug translator/13143] process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
  2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
  2011-08-30 15:17 ` [Bug translator/13143] " brolley at redhat dot com
  2011-08-30 19:41 ` scox at redhat dot com
@ 2011-08-30 19:43 ` scox at redhat dot com
  2011-08-30 19:52 ` brolley at redhat dot com
  2011-09-06 16:37 ` brolley at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: scox at redhat dot com @ 2011-08-30 19:43 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

--- Comment #3 from Stan Cox <scox at redhat dot com> 2011-08-30 19:42:52 UTC ---
ah, last line should have read:
q->has_inline == false

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug translator/13143] process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
  2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
                   ` (2 preceding siblings ...)
  2011-08-30 19:43 ` scox at redhat dot com
@ 2011-08-30 19:52 ` brolley at redhat dot com
  2011-09-06 16:37 ` brolley at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: brolley at redhat dot com @ 2011-08-30 19:52 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

--- Comment #4 from Dave Brolley <brolley at redhat dot com> 2011-08-30 19:51:29 UTC ---
(In reply to comment #2)
> Looks like it is working as designed.  
> 
> probe process ("libfoo.so").library("libfoo.so").function(0x55e).call 
>  maps to and seems to behave identical to:
> probe process ("libfoo.so").function(0x55e).call
> 
> query_addr has this check.
>           if ((tag == DW_TAG_subprogram && !q->has_inline) ||
>               (tag == DW_TAG_inlined_subroutine &&
>                !q->has_call && !q->has_return))
> which in the above case is checking
> tag == DW_TAG_inlined_subroutine
> q->has_call == true
> 
> and thus it fails.
> 
> For the case where a probe is added to libfoofunc then the check becomes
> tag == DW_TAG_subprogram
> q->has_inline == true

So are you saying that it's not resolving because the function libfoofunc was
inlined (because it was empty)?

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [Bug translator/13143] process.library("libfoo.so").function(ADDRESS).call/return fail to resolve
  2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
                   ` (3 preceding siblings ...)
  2011-08-30 19:52 ` brolley at redhat dot com
@ 2011-09-06 16:37 ` brolley at redhat dot com
  4 siblings, 0 replies; 6+ messages in thread
From: brolley at redhat dot com @ 2011-09-06 16:37 UTC (permalink / raw)
  To: systemtap

http://sourceware.org/bugzilla/show_bug.cgi?id=13143

Dave Brolley <brolley at redhat dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|                            |INVALID

--- Comment #5 from Dave Brolley <brolley at redhat dot com> 2011-09-06 16:36:10 UTC ---
commit 04676f97f1559dec2ed2ef46fa79a8db17426939

provides updates to the test suite. The case application library was changed so
that the function libfoofunc is not inlined and the test harness was changed to
expect the probe to be resolved correctly.

-- 
Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2011-09-06 16:37 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-30 15:02 [Bug translator/13143] New: process.library("libfoo.so").function(ADDRESS).call/return fail to resolve brolley at redhat dot com
2011-08-30 15:17 ` [Bug translator/13143] " brolley at redhat dot com
2011-08-30 19:41 ` scox at redhat dot com
2011-08-30 19:43 ` scox at redhat dot com
2011-08-30 19:52 ` brolley at redhat dot com
2011-09-06 16:37 ` brolley at redhat dot com

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).