From 143096c4025d30e15c0f100b85c0d2e7211bb84b Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 25 Mar 2008 12:05:06 -0400 Subject: dummy commit --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index fd9df29d..639246d2 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -* What's new in version 0.6 +* What's new in version 0.6 - A copy of the systemtap tutorial and language reference guide are now included. -- cgit From 9b9d592ebd99522606996202a22e6382e7945752 Mon Sep 17 00:00:00 2001 From: "Frank Ch. Eigler" Date: Tue, 25 Mar 2008 12:05:46 -0400 Subject: Revert "dummy commit" This reverts commit 143096c4025d30e15c0f100b85c0d2e7211bb84b. --- NEWS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/NEWS b/NEWS index 639246d2..fd9df29d 100644 --- a/NEWS +++ b/NEWS @@ -1,4 +1,4 @@ -* What's new in version 0.6 +* What's new in version 0.6 - A copy of the systemtap tutorial and language reference guide are now included. -- cgit From 0301cfe75d47bc8e26607ef8372c76239a487113 Mon Sep 17 00:00:00 2001 From: fche Date: Wed, 26 Mar 2008 21:22:26 +0000 Subject: 2008-03-26 Frank Ch. Eigler * translate.cxx (emit_function): Set context last_stmt, in case an error occurs during the function. --- ChangeLog | 5 +++++ tapsets.cxx | 9 +++++++++ translate.cxx | 3 +++ 3 files changed, 17 insertions(+) diff --git a/ChangeLog b/ChangeLog index 046804c7..832ebaeb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2008-03-26 Frank Ch. Eigler + + * translate.cxx (emit_function): Set context last_stmt, in case + an error occurs during the function. + 2008-03-25 Frank Ch. Eigler * stap.1.in: Clarify utility of epilogue type probe aliases. diff --git a/tapsets.cxx b/tapsets.cxx index a9db3717..39aa60ad 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -1587,6 +1587,15 @@ struct dwflpp unsigned i = 0; while (i < components.size()) { + /* XXX: This would be desirable, but we don't get the target_symbol token, + and printing that gives us the file:line number too early anyway. */ +#if 0 + // Emit a marker to note which field is being access-attempted, to give + // better error messages if deref() fails. + string piece = string(...target_symbol token...) + string ("#") + stringify(components[i].second); + obstack_printf (pool, "c->last_stmt = %s;", lex_cast_qstring(piece).c_str()); +#endif + die = dwarf_formref_die (attr_mem, die_mem); const int typetag = dwarf_tag (die); switch (typetag) diff --git a/translate.cxx b/translate.cxx index 2bfacefc..f30fca7b 100644 --- a/translate.cxx +++ b/translate.cxx @@ -1360,6 +1360,9 @@ c_unparser::emit_function (functiondecl* v) o->newline() << "#define THIS l"; o->newline() << "if (0) goto out;"; // make sure out: is marked used + // set this, in case embedded-c code sets last_error but doesn't otherwise identify itself + o->newline() << "c->last_stmt = " << lex_cast_qstring(*v->tok) << ";"; + // check/increment nesting level o->newline() << "if (unlikely (c->nesting+2 >= MAXNESTING)) {"; o->newline(1) << "c->last_error = \"MAXNESTING exceeded\";"; -- cgit From c039c2b968029a84f2554f1c28cd738aa28b730a Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 27 Mar 2008 17:19:42 +0000 Subject: 2008-03-27 Frank Ch. Eigler * systemtap.base/cmd_parse.exp: Don't assume $SHELL=bash. --- testsuite/ChangeLog | 4 ++++ testsuite/systemtap.base/cmd_parse.exp | 3 ++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/testsuite/ChangeLog b/testsuite/ChangeLog index a54e80bd..44eb50a7 100644 --- a/testsuite/ChangeLog +++ b/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2008-03-27 Frank Ch. Eigler + + * systemtap.base/cmd_parse.exp: Don't assume $SHELL=bash. + 2008-03-23 Frank Ch. Eigler * lib/stap_run.exp (stap_run): Ignore missing debuginfo warnings. diff --git a/testsuite/systemtap.base/cmd_parse.exp b/testsuite/systemtap.base/cmd_parse.exp index cf15698f..ff347a9d 100644 --- a/testsuite/systemtap.base/cmd_parse.exp +++ b/testsuite/systemtap.base/cmd_parse.exp @@ -56,7 +56,8 @@ expect { wait #stap -c '(((a=42+7)); echo "The answer is $a")' -e 'probe begin {}' -spawn stap -c {(((a=42+7)); echo "The answer is $a")} -e {probe begin {}} +# NB: not ((a=42+7)) - must not assume bash +spawn stap -c {(a=49; echo "The answer is $a")} -e {probe begin {}} expect { -timeout 60 "The answer is 49" {pass "cmd_parse6"} -- cgit From 1e00cfb1b6caa8b8ac343fac8e3d08f2d6a5d785 Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 27 Mar 2008 19:31:51 +0000 Subject: 2008-03-27 Frank Ch. Eigler * tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt. --- ChangeLog | 4 ++++ tapsets.cxx | 1 + 2 files changed, 5 insertions(+) diff --git a/ChangeLog b/ChangeLog index 832ebaeb..91b09b03 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +2008-03-27 Frank Ch. Eigler + + * tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt. + 2008-03-26 Frank Ch. Eigler * translate.cxx (emit_function): Set context last_stmt, in case diff --git a/tapsets.cxx b/tapsets.cxx index 39aa60ad..079d87e8 100644 --- a/tapsets.cxx +++ b/tapsets.cxx @@ -201,6 +201,7 @@ common_probe_entryfn_prologue (translator_output* o, string statestr, o->newline() << "goto probe_epilogue;"; o->newline(-1) << "}"; o->newline(); + o->newline() << "c->last_stmt = 0;"; o->newline() << "c->last_error = 0;"; o->newline() << "c->nesting = 0;"; o->newline() << "c->regs = 0;"; -- cgit