summaryrefslogtreecommitdiffstats
path: root/parse.cxx
diff options
context:
space:
mode:
authorguanglei <guanglei>2006-06-01 05:46:35 +0000
committerguanglei <guanglei>2006-06-01 05:46:35 +0000
commit01133ccb0ee31f7108f7cb4e89454f2693df912e (patch)
tree71996abd2cf591efa823aa86fa7969f77529d548 /parse.cxx
parent6d82733dfa661eddccfa3cae7232773cafd66a82 (diff)
downloadsystemtap-steved-01133ccb0ee31f7108f7cb4e89454f2693df912e.tar.gz
systemtap-steved-01133ccb0ee31f7108f7cb4e89454f2693df912e.tar.xz
systemtap-steved-01133ccb0ee31f7108f7cb4e89454f2693df912e.zip
make user able to append extra trace data. The way of logging backtrace is also changed.
lket_trace_extra() and lket_backtrace() are introduced for these two purpose. I also modified lket.5.in for the backtrace changes
Diffstat (limited to 'parse.cxx')
-rw-r--r--parse.cxx13
1 files changed, 12 insertions, 1 deletions
diff --git a/parse.cxx b/parse.cxx
index dc711be2..cc1638fa 100644
--- a/parse.cxx
+++ b/parse.cxx
@@ -2082,12 +2082,23 @@ parser::parse_symbol ()
else if (name.size() > 0 && (name == "print"
|| name == "sprint"
|| name == "printf"
- || name == "sprintf"))
+ || name == "sprintf"
+ || name == "lket_trace_extra"))
{
print_format *fmt = new print_format;
fmt->tok = t;
fmt->print_with_format = (name[name.size() - 1] == 'f');
fmt->print_to_stream = (name[0] == 'p');
+
+ fmt->lket_trace_extra = false;
+
+ if(name == "lket_trace_extra")
+ {
+ fmt->print_with_format = true;
+ fmt->print_to_stream = true;
+ fmt->lket_trace_extra = true;
+ }
+
expect_op("(");
if (fmt->print_with_format)
{