Bug 5076

Summary: detect both inlined and non-inlined function instances
Product: systemtap Reporter: Frank Ch. Eigler <fche>
Component: translatorAssignee: Unassigned <systemtap>
Status: RESOLVED FIXED    
Severity: normal    
Priority: P2    
Version: unspecified   
Target Milestone: ---   
Host: Target:
Build: Last reconfirmed:

Description Frank Ch. Eigler 2007-09-28 17:39:27 UTC
See http://sourceware.org/ml/systemtap/2007-q3/msg00726.html

We need to warn or fail upon a .return probe of a function that is inlined
in some cases and not inlined in others.
Comment 1 Frank Ch. Eigler 2008-06-11 14:25:16 UTC
Maybe the solution to this one is to accept (and confirm) that .function.call and
.function.return probes match up, rather than .function and .function.return.

Any extras (inlined instances) would not show up under .call, so they should not
need special treatment like warnings/etc. for .return probes.
Comment 2 Frank Ch. Eigler 2010-09-27 14:22:57 UTC
This issue appears to have been fixed in several different ways,
including by warnings for inline-.return probes.  As for the originally
reported test case, we do accept the .return probe on the non-inlined
copy of the function.

% stap -p2 -e 'probe module("nfs").function("nfs_check_flags").return {
println($return) }'
# functions
_dwarf_tvar_get_return_0:long ()
# probes
module("nfs").function("nfs_check_flags@fs/nfs/file.c:107").return /*
pc=.text+0x5040 */ /* <- module("nfs").function("nfs_check_flags").return */