[Bug translator/6702] combination of "probe ... if()" and argument refering at return probe causes array overflow error.

fche at redhat dot com sourceware-bugzilla@sourceware.org
Fri Jun 27 16:37:00 GMT 2008


------- Additional Comments From fche at redhat dot com  2008-06-27 16:10 -------
What we have here is a conflict between the rewriting of the 
  probe ... if () {}
block and the 
  probe foo.*.return { $saved_variable }
block.

One possible fix would be to change the latter, so that the synthetic
  probe foo.*.call { save_that_variable }
probe also gets the same "if ()" condition prepended.  That way, the
data gathering probe is also skipped if the condition is false.  That
sounds rather natural.

The code in tapsets.cxx:4070ish taht creates the new probe_point for
the synthetic probe should thusly:
- add ".call" to replace ".return" (to be a proper dual, considering
  the possibility of inline functions)
- copy the incoming probe-point's condition expression over


-- 


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

------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.



More information about the Systemtap mailing list