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/10690] need way to produce bigger procfs output


------- Additional Comments From dsmith at redhat dot com  2010-02-04 19:31 -------
To build up bigger procfs output, I had assumed we'd use the string
concatenation operator '.='.  Assume the following script.

====
global large_string = "abcdefg"
probe procfs("large_string").read {                                             
      $value = large_string                                                     
      $value .= large_string                                                    
}                                                                               
====

Unfortunately, this doesn't work:

# stap -v ../procfs_read3.stp
Pass 1: parsed user script and 65 library script(s) using
83492virt/20220res/2260shr kb, in 120usr/40sys/164real ms.
semantic error: Operator-assign expressions on target variables not implemented:
operator '.=' at ../procfs_read3.stp:4:14 while resolving probe point
procfs("large_string").read
        source:       $value .= large_string
                             ^
Pass 2: analyzed script: 0 probe(s), 1 function(s), 0 embed(s), 1 global(s)
using 83888virt/20864res/2488shr kb, in 0usr/0sys/6real ms.
Pass 2: analysis failed.  Try again with another '--vp 01' option.

>From looking at var_expanding_visitor::visit_assignment() in tapsets.cxx, this
is explicitly denied, with the following comment:

      // FIXME: for the time being, we only support plan $foo = bar,            
      // not += or any other op= variant. This is fixable, but a bit            
      // ugly.                                                                  

It might be time to fix this problem.

-- 


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

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


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