summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog14
-rw-r--r--HACKING2
-rw-r--r--README6
-rwxr-xr-xconfigure20
-rw-r--r--configure.ac2
-rw-r--r--doc/langref.tex2
-rw-r--r--doc/tutorial.tex2
-rw-r--r--tapset/DEVGUIDE14
-rw-r--r--tapsets.cxx10
-rw-r--r--testsuite/ChangeLog9
-rwxr-xr-xtestsuite/configure20
-rw-r--r--testsuite/configure.ac2
-rw-r--r--testsuite/systemtap.base/cmd_parse.exp3
-rw-r--r--translate.cxx3
14 files changed, 71 insertions, 38 deletions
diff --git a/ChangeLog b/ChangeLog
index 046804c7..8eb41250 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2008-03-31 Frank Ch. Eigler <fche@elastic.org>
+
+ * configure.ac: Bump version to 0.7.
+ * configure: Regenerated.
+
+2008-03-27 Frank Ch. Eigler <fche@elastic.org>
+
+ * tapsets.cxx (common_probe_entryfn_prologue): Clear last_stmt.
+
+2008-03-26 Frank Ch. Eigler <fche@elastic.org>
+
+ * translate.cxx (emit_function): Set context last_stmt, in case
+ an error occurs during the function.
+
2008-03-25 Frank Ch. Eigler <fche@elastic.org>
* stap.1.in: Clarify utility of epilogue type probe aliases.
diff --git a/HACKING b/HACKING
index 47297c02..267f008a 100644
--- a/HACKING
+++ b/HACKING
@@ -11,7 +11,7 @@ the <systemtap@sources.redhat.com> mailing list.
and after your changes, and regressions avoided, explained, or
corrected.
- Established contributors may be considered for direct CVS write
+ Established contributors may be considered for direct GIT write
access. Other contributors should simply pack up the goods into a
plain text email message to the mailing list.
diff --git a/README b/README
index 0ea30508..addb7187 100644
--- a/README
+++ b/README
@@ -31,13 +31,9 @@ Build steps:
ftp://sources.redhat.com/pub/systemtap/elfutils/elfutils-NNNN.tar.gz
ftp://sources.redhat.com/pub/systemtap/elfutils/elfutils-portability.patch
- Untar the snapshot in some new directory; apply patch (don't ask, long story)
-- Download systemtap sources snapshot or from CVS or GIT:
+- Download systemtap sources snapshot or from GIT:
ftp://sources.redhat.com/pub/systemtap/snapshots/
(or)
- cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/systemtap login
- # enter "anoncvs" as the password
- cvs -d :pserver:anoncvs@sources.redhat.com:/cvs/systemtap co src
- (or)
git clone git://sources.redhat.com/git/systemtap.git
(or) http://sources.redhat.com/git/systemtap.git
- Build it:
diff --git a/configure b/configure
index 2d770e90..c8be8582 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for systemtap 0.6.2.
+# Generated by GNU Autoconf 2.61 for systemtap 0.7.
#
# Report bugs to <systemtap@sources.redhat.com>.
#
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='systemtap'
PACKAGE_TARNAME='systemtap'
-PACKAGE_VERSION='0.6.2'
-PACKAGE_STRING='systemtap 0.6.2'
+PACKAGE_VERSION='0.7'
+PACKAGE_STRING='systemtap 0.7'
PACKAGE_BUGREPORT='systemtap@sources.redhat.com'
# Factoring default headers for most tests.
@@ -1240,7 +1240,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures systemtap 0.6.2 to adapt to many kinds of systems.
+\`configure' configures systemtap 0.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1306,7 +1306,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of systemtap 0.6.2:";;
+ short | recursive ) echo "Configuration of systemtap 0.7:";;
esac
cat <<\_ACEOF
@@ -1415,7 +1415,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-systemtap configure 0.6.2
+systemtap configure 0.7
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1429,7 +1429,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by systemtap $as_me 0.6.2, which was
+It was created by systemtap $as_me 0.7, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -2121,7 +2121,7 @@ fi
# Define the identity of the package.
PACKAGE='systemtap'
- VERSION='0.6.2'
+ VERSION='0.7'
cat >>confdefs.h <<_ACEOF
@@ -7278,7 +7278,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by systemtap $as_me 0.6.2, which was
+This file was extended by systemtap $as_me 0.7, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -7331,7 +7331,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-systemtap config.status 0.6.2
+systemtap config.status 0.7
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index f343faef..fa14516c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
dnl configure.ac --- autoconf input file for systemtap
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([systemtap], 0.6.2, systemtap@sources.redhat.com, systemtap)
+AC_INIT([systemtap], 0.7, systemtap@sources.redhat.com, systemtap)
dnl ^^^ see also NEWS, testsuite/configure.ac
AC_PREREQ(2.59)
diff --git a/doc/langref.tex b/doc/langref.tex
index 973769d4..46d350f6 100644
--- a/doc/langref.tex
+++ b/doc/langref.tex
@@ -3267,7 +3267,7 @@ For more information, see:
\item The SystemTap tutorial at \url{http://sourceware.org/systemtap/tutorial/}
\item The SystemTap wiki at \url{http://sourceware.org/systemtap/wiki}
\item The SystemTap documentation page at \url{http://sourceware.org/systemtap/documentation.html}
-\item From an unpacked source tarball or CVS directory, the examples in in the
+\item From an unpacked source tarball or GIT directory, the examples in in the
src/examples directory, the tapsets in the src/tapset directory, and the
test scripts in the src/testsuite directory.
\item The man pages for tapsets. For a list, run the command \texttt{{}``man -k
diff --git a/doc/tutorial.tex b/doc/tutorial.tex
index ee7d37da..58673467 100644
--- a/doc/tutorial.tex
+++ b/doc/tutorial.tex
@@ -1053,7 +1053,7 @@ as study, modification, and sharing.}
Finally, there is the project web site
(\verb+http://sources.redhat.com/systemtap/+) with several articles,
an archived public mailing list for users and developers
-(\verb+systemtap@sources.redhat.com+), and a live CVS source
+(\verb+systemtap@sources.redhat.com+), and a live GIT source
repository. Come join us!
diff --git a/tapset/DEVGUIDE b/tapset/DEVGUIDE
index 44c4890c..3d550319 100644
--- a/tapset/DEVGUIDE
+++ b/tapset/DEVGUIDE
@@ -106,7 +106,7 @@ of "Tapset files", "Namespace" and "Embedded C & Safety."
Tapset files
------------
-Tapset files are stored in src/tapset in the SystemTap CVS directory.
+Tapset files are stored in src/tapset in the SystemTap GIT directory.
Most are kept at that level. If you have code that only works on a specific
architecture or kernel-version, you may choose to put that in the
corresponding subdirectories.
@@ -161,7 +161,7 @@ Update other Makefiles as necessary.
Test cases
----------
All tapsets should be accompanied by test scripts. The tests are kept
-in src/testsuite in CVS and based on dejagnu. You must have dejagnu and
+in src/testsuite in GIT and based on dejagnu. You must have dejagnu and
expect installed on your system to run the tests.
Your tests should validate that:
@@ -182,7 +182,7 @@ most important, it validates that the tapset can actually be used for
something useful. If you can't write a script that uses the tapset in a
meaningful way, perhaps you should rethink what the tapset provides.
-Example scripts are stored in src/examples in CVS.
+Example scripts are stored in src/examples in GIT.
Change Logs
-----------
@@ -211,7 +211,7 @@ mailing list archive is found at http://sources.redhat.com/ml/systemtap/.
The systemtap-cvs mailing list archive is at
http://sources.redhat.com/ml/systemtap-cvs/.
-You can request CVS write access at
+You can request GIT write access at
http://sources.redhat.com/cgi-bin/pdw/ps_form.cgi.
@@ -227,11 +227,11 @@ you with SystemTap:
- SystemTap project home page
(http://sourceware.org/systemtap/index.html)
-- SystemTap mailing lists, IRC channels and CVS instructions
+- SystemTap mailing lists, IRC channels and GIT instructions
(http://sourceware.org/systemtap/getinvolved.html)
-- CVS repository
- (http://sources.redhat.com/cgi-bin/cvsweb.cgi/src/?cvsroot=systemtap)
+- GIT repository
+ (http://sources.redhat.com/git/?p=systemtap.git;a=summary
- HACKING file in the source directory. This file outlines what's
expected of project contributors.
diff --git a/tapsets.cxx b/tapsets.cxx
index a9db3717..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;";
@@ -1587,6 +1588,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/testsuite/ChangeLog b/testsuite/ChangeLog
index a54e80bd..da789127 100644
--- a/testsuite/ChangeLog
+++ b/testsuite/ChangeLog
@@ -1,3 +1,12 @@
+2008-03-31 Frank Ch. Eigler <fche@elastic.org>
+
+ * configure.ac: Bump version to 0.7.
+ * configure: Regenerated.
+
+2008-03-27 Frank Ch. Eigler <fche@elastic.org>
+
+ * systemtap.base/cmd_parse.exp: Don't assume $SHELL=bash.
+
2008-03-23 Frank Ch. Eigler <fche@elastic.org>
* lib/stap_run.exp (stap_run): Ignore missing debuginfo warnings.
diff --git a/testsuite/configure b/testsuite/configure
index bafa86d8..bd8237cb 100755
--- a/testsuite/configure
+++ b/testsuite/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.61 for systemtap 0.6.2.
+# Generated by GNU Autoconf 2.61 for systemtap 0.7.
#
# Report bugs to <systemtap@sources.redhat.com>.
#
@@ -574,8 +574,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='systemtap'
PACKAGE_TARNAME='systemtap'
-PACKAGE_VERSION='0.6.2'
-PACKAGE_STRING='systemtap 0.6.2'
+PACKAGE_VERSION='0.7'
+PACKAGE_STRING='systemtap 0.7'
PACKAGE_BUGREPORT='systemtap@sources.redhat.com'
ac_subst_vars='SHELL
@@ -1148,7 +1148,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures systemtap 0.6.2 to adapt to many kinds of systems.
+\`configure' configures systemtap 0.7 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1214,7 +1214,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of systemtap 0.6.2:";;
+ short | recursive ) echo "Configuration of systemtap 0.7:";;
esac
cat <<\_ACEOF
@@ -1285,7 +1285,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-systemtap configure 0.6.2
+systemtap configure 0.7
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1299,7 +1299,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by systemtap $as_me 0.6.2, which was
+It was created by systemtap $as_me 0.7, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@@ -1991,7 +1991,7 @@ fi
# Define the identity of the package.
PACKAGE='systemtap'
- VERSION='0.6.2'
+ VERSION='0.7'
cat >>confdefs.h <<_ACEOF
@@ -2595,7 +2595,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by systemtap $as_me 0.6.2, which was
+This file was extended by systemtap $as_me 0.7, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -2638,7 +2638,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-systemtap config.status 0.6.2
+systemtap config.status 0.7
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/testsuite/configure.ac b/testsuite/configure.ac
index 8f924936..70d01e96 100644
--- a/testsuite/configure.ac
+++ b/testsuite/configure.ac
@@ -1,7 +1,7 @@
dnl configure.ac --- autoconf input file for systemtap testsuite
dnl Process this file with autoconf to produce a configure script.
-AC_INIT([systemtap], 0.6.2, systemtap@sources.redhat.com, systemtap)
+AC_INIT([systemtap], 0.7, systemtap@sources.redhat.com, systemtap)
AC_PREREQ(2.59)
AC_CONFIG_AUX_DIR(..)
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"}
diff --git a/translate.cxx b/translate.cxx
index 8b9dee54..baa64741 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\";";