summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorfche <fche>2005-07-28 18:07:02 +0000
committerfche <fche>2005-07-28 18:07:02 +0000
commit24cb178fd82936f55d254ebd0cd79802da21134a (patch)
treed9fbde4a94c16abf37a994c7d3ae147d04b77919
parentb290c791d701b5841ed824fddfce3f949b0a7b61 (diff)
downloadsystemtap-steved-24cb178fd82936f55d254ebd0cd79802da21134a.tar.gz
systemtap-steved-24cb178fd82936f55d254ebd0cd79802da21134a.tar.xz
systemtap-steved-24cb178fd82936f55d254ebd0cd79802da21134a.zip
2005-07-28 Frank Ch. Eigler <fche@redhat.com>
translator/1120 * main.cxx (main): Preset -R and -I options from environment variables (if set). Pass guru mode flags to parser. * parse.cxx (privileged): New parser operation flag. Update callers. (parse_embeddedcode): Throw an error if !privileged. (parse_functiondecl): Change signature. Prevent duplicates. (parse_globals): Ditto. * parse.h: Corresponding changes. * tapset/*.stp: Beginnings of real tapset library, to replace previous builtins. * tapsets.cxx: Greatly reduce verbose mode output. * Makefile.am: Install & dist it. * runtest.sh: Refer to it. * Makefile.in, aclocal.m4: Regenerated. * testsuite/*/*.stp: Set guru mode via /bin/sh if needed. * testusite/*/*ko.stp: Homogenize shell scripts.
-rw-r--r--ChangeLog19
-rw-r--r--Makefile.am6
-rw-r--r--Makefile.in128
-rw-r--r--aclocal.m4458
-rw-r--r--main.cxx48
-rw-r--r--parse.cxx68
-rw-r--r--parse.h11
-rwxr-xr-xruntest.sh6
-rw-r--r--tapset/builtin_log.stp7
-rw-r--r--tapset/builtin_printk.stp7
-rw-r--r--tapset/builtin_warn.stp7
-rw-r--r--tapsets.cxx32
-rwxr-xr-xtestsuite/buildko/one.stp6
-rwxr-xr-xtestsuite/buildok/two.stp6
-rwxr-xr-xtestsuite/parseko/eleven.stp4
-rwxr-xr-xtestsuite/parseko/fourteen.stp7
-rwxr-xr-xtestsuite/parseko/ten.stp6
-rwxr-xr-xtestsuite/parseko/thirteen.stp7
-rwxr-xr-xtestsuite/parseko/twelve.stp4
-rwxr-xr-xtestsuite/parseok/semko.stp11
-rwxr-xr-xtestsuite/parseok/twelve.stp6
-rwxr-xr-xtestsuite/semok/transko.stp8
-rwxr-xr-xtestsuite/transok/buildko.stp8
-rwxr-xr-xtestsuite/transok/nine.stp6
24 files changed, 446 insertions, 430 deletions
diff --git a/ChangeLog b/ChangeLog
index 9539c918..84085e26 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,25 @@
2005-07-28 Frank Ch. Eigler <fche@redhat.com>
translator/1120
+ * main.cxx (main): Preset -R and -I options from environment
+ variables (if set). Pass guru mode flags to parser.
+ * parse.cxx (privileged): New parser operation flag. Update callers.
+ (parse_embeddedcode): Throw an error if !privileged.
+ (parse_functiondecl): Change signature. Prevent duplicates.
+ (parse_globals): Ditto.
+ * parse.h: Corresponding changes.
+ * tapset/*.stp: Beginnings of real tapset library, to replace
+ previous builtins.
+ * tapsets.cxx: Greatly reduce verbose mode output.
+ * Makefile.am: Install & dist it.
+ * runtest.sh: Refer to it.
+ * Makefile.in, aclocal.m4: Regenerated.
+ * testsuite/*/*.stp: Set guru mode via /bin/sh if needed.
+ * testusite/*/*ko.stp: Homogenize shell scripts.
+
+2005-07-28 Frank Ch. Eigler <fche@redhat.com>
+
+ translator/1120
translator/1123
* elaborate.cxx (semantic_pass_symbols): Print a more helpful
error message around exceptions.
diff --git a/Makefile.am b/Makefile.am
index e3262f68..327bdbaf 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -10,18 +10,20 @@ bin_PROGRAMS = stap
stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx
+stap_CXXFLAGS = -Werror $(AM_CXXFLAGS)
libexec_PROGRAMS = stpd
stpd_SOURCES = runtime/stpd/stpd.c runtime/stpd/librelay.c
stpd_LDADD = -lpthread
# automake doesn't get rpath right unless we do this
stpd_LDFLAGS = -Wl,-rpath '$(libdir)/systemtap'
+
AM_CXXFLAGS = -Wall
# Get extra libs as needed
LDADD =
-EXTRA_DIST=testsuite runtime $(wildcard $(srcdir)/*.h) systemtap.spec
+EXTRA_DIST=testsuite runtime tapset $(wildcard $(srcdir)/*.h) systemtap.spec
dist-hook:
find $(distdir) -name CVS -o -name '*~' -o -name '.#*' | xargs rm -rf
find $(distdir) -name '*.o' -o -name '*.ko' -o -name '*.cmd' -o -name '*.mod.c' -o -name '.??*' | xargs rm -rf
@@ -36,6 +38,8 @@ install-data-local:
tar -f - -c --exclude=CVS --exclude='*~' --exclude='.#*' \
-C $(srcdir)/runtime transport \
| (cd $(DESTDIR)$(pkgdatadir)/runtime && tar xpf -)
+ -mkdir $(DESTDIR)$(pkgdatadir)/tapset
+ (cd $(srcdir)/tapset ; find . -name '*.stp' | cpio -pdmv $(DESTDIR)$(pkgdatadir)/tapset)
p=$(srcdir)/testsuite/parse
s=$(srcdir)/testsuite/sem
diff --git a/Makefile.in b/Makefile.in
index 37a79c78..53ec3b03 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -1,8 +1,8 @@
-# Makefile.in generated by automake 1.9.2 from Makefile.am.
+# Makefile.in generated by automake 1.9.5 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
-# 2003, 2004 Free Software Foundation, Inc.
+# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -58,9 +58,10 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(libexecdir)"
binPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
libexecPROGRAMS_INSTALL = $(INSTALL_PROGRAM)
PROGRAMS = $(bin_PROGRAMS) $(libexec_PROGRAMS)
-am_stap_OBJECTS = main.$(OBJEXT) parse.$(OBJEXT) staptree.$(OBJEXT) \
- elaborate.$(OBJEXT) translate.$(OBJEXT) tapsets.$(OBJEXT) \
- buildrun.$(OBJEXT)
+am_stap_OBJECTS = stap-main.$(OBJEXT) stap-parse.$(OBJEXT) \
+ stap-staptree.$(OBJEXT) stap-elaborate.$(OBJEXT) \
+ stap-translate.$(OBJEXT) stap-tapsets.$(OBJEXT) \
+ stap-buildrun.$(OBJEXT)
stap_OBJECTS = $(am_stap_OBJECTS)
stap_LDADD = $(LDADD)
stap_DEPENDENCIES =
@@ -188,6 +189,7 @@ stap_SOURCES = main.cxx \
parse.cxx staptree.cxx elaborate.cxx translate.cxx \
tapsets.cxx buildrun.cxx
+stap_CXXFLAGS = -Werror $(AM_CXXFLAGS)
stpd_SOURCES = runtime/stpd/stpd.c runtime/stpd/librelay.c
stpd_LDADD = -lpthread
# automake doesn't get rpath right unless we do this
@@ -196,7 +198,7 @@ AM_CXXFLAGS = -Wall
# Get extra libs as needed
LDADD =
-EXTRA_DIST = testsuite runtime $(wildcard $(srcdir)/*.h) systemtap.spec
+EXTRA_DIST = testsuite runtime tapset $(wildcard $(srcdir)/*.h) systemtap.spec
p = $(srcdir)/testsuite/parse
s = $(srcdir)/testsuite/sem
t = $(srcdir)/testsuite/trans
@@ -328,15 +330,15 @@ mostlyclean-compile:
distclean-compile:
-rm -f *.tab.c
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/buildrun.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elaborate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/librelay.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/main.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/parse.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/staptree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-buildrun.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-elaborate.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-main.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-parse.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-staptree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-tapsets.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stap-translate.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stpd.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/tapsets.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/translate.Po@am__quote@
.c.o:
@am__fastdepCC_TRUE@ if $(COMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@@ -393,6 +395,104 @@ librelay.obj: runtime/stpd/librelay.c
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
+
+stap-main.o: main.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-main.o -MD -MP -MF "$(DEPDIR)/stap-main.Tpo" -c -o stap-main.o `test -f 'main.cxx' || echo '$(srcdir)/'`main.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-main.Tpo" "$(DEPDIR)/stap-main.Po"; else rm -f "$(DEPDIR)/stap-main.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cxx' object='stap-main.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-main.o `test -f 'main.cxx' || echo '$(srcdir)/'`main.cxx
+
+stap-main.obj: main.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-main.obj -MD -MP -MF "$(DEPDIR)/stap-main.Tpo" -c -o stap-main.obj `if test -f 'main.cxx'; then $(CYGPATH_W) 'main.cxx'; else $(CYGPATH_W) '$(srcdir)/main.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-main.Tpo" "$(DEPDIR)/stap-main.Po"; else rm -f "$(DEPDIR)/stap-main.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='main.cxx' object='stap-main.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-main.obj `if test -f 'main.cxx'; then $(CYGPATH_W) 'main.cxx'; else $(CYGPATH_W) '$(srcdir)/main.cxx'; fi`
+
+stap-parse.o: parse.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-parse.o -MD -MP -MF "$(DEPDIR)/stap-parse.Tpo" -c -o stap-parse.o `test -f 'parse.cxx' || echo '$(srcdir)/'`parse.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-parse.Tpo" "$(DEPDIR)/stap-parse.Po"; else rm -f "$(DEPDIR)/stap-parse.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='parse.cxx' object='stap-parse.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-parse.o `test -f 'parse.cxx' || echo '$(srcdir)/'`parse.cxx
+
+stap-parse.obj: parse.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-parse.obj -MD -MP -MF "$(DEPDIR)/stap-parse.Tpo" -c -o stap-parse.obj `if test -f 'parse.cxx'; then $(CYGPATH_W) 'parse.cxx'; else $(CYGPATH_W) '$(srcdir)/parse.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-parse.Tpo" "$(DEPDIR)/stap-parse.Po"; else rm -f "$(DEPDIR)/stap-parse.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='parse.cxx' object='stap-parse.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-parse.obj `if test -f 'parse.cxx'; then $(CYGPATH_W) 'parse.cxx'; else $(CYGPATH_W) '$(srcdir)/parse.cxx'; fi`
+
+stap-staptree.o: staptree.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-staptree.o -MD -MP -MF "$(DEPDIR)/stap-staptree.Tpo" -c -o stap-staptree.o `test -f 'staptree.cxx' || echo '$(srcdir)/'`staptree.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-staptree.Tpo" "$(DEPDIR)/stap-staptree.Po"; else rm -f "$(DEPDIR)/stap-staptree.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='staptree.cxx' object='stap-staptree.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-staptree.o `test -f 'staptree.cxx' || echo '$(srcdir)/'`staptree.cxx
+
+stap-staptree.obj: staptree.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-staptree.obj -MD -MP -MF "$(DEPDIR)/stap-staptree.Tpo" -c -o stap-staptree.obj `if test -f 'staptree.cxx'; then $(CYGPATH_W) 'staptree.cxx'; else $(CYGPATH_W) '$(srcdir)/staptree.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-staptree.Tpo" "$(DEPDIR)/stap-staptree.Po"; else rm -f "$(DEPDIR)/stap-staptree.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='staptree.cxx' object='stap-staptree.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-staptree.obj `if test -f 'staptree.cxx'; then $(CYGPATH_W) 'staptree.cxx'; else $(CYGPATH_W) '$(srcdir)/staptree.cxx'; fi`
+
+stap-elaborate.o: elaborate.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-elaborate.o -MD -MP -MF "$(DEPDIR)/stap-elaborate.Tpo" -c -o stap-elaborate.o `test -f 'elaborate.cxx' || echo '$(srcdir)/'`elaborate.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-elaborate.Tpo" "$(DEPDIR)/stap-elaborate.Po"; else rm -f "$(DEPDIR)/stap-elaborate.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='elaborate.cxx' object='stap-elaborate.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-elaborate.o `test -f 'elaborate.cxx' || echo '$(srcdir)/'`elaborate.cxx
+
+stap-elaborate.obj: elaborate.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-elaborate.obj -MD -MP -MF "$(DEPDIR)/stap-elaborate.Tpo" -c -o stap-elaborate.obj `if test -f 'elaborate.cxx'; then $(CYGPATH_W) 'elaborate.cxx'; else $(CYGPATH_W) '$(srcdir)/elaborate.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-elaborate.Tpo" "$(DEPDIR)/stap-elaborate.Po"; else rm -f "$(DEPDIR)/stap-elaborate.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='elaborate.cxx' object='stap-elaborate.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-elaborate.obj `if test -f 'elaborate.cxx'; then $(CYGPATH_W) 'elaborate.cxx'; else $(CYGPATH_W) '$(srcdir)/elaborate.cxx'; fi`
+
+stap-translate.o: translate.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-translate.o -MD -MP -MF "$(DEPDIR)/stap-translate.Tpo" -c -o stap-translate.o `test -f 'translate.cxx' || echo '$(srcdir)/'`translate.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-translate.Tpo" "$(DEPDIR)/stap-translate.Po"; else rm -f "$(DEPDIR)/stap-translate.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='translate.cxx' object='stap-translate.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-translate.o `test -f 'translate.cxx' || echo '$(srcdir)/'`translate.cxx
+
+stap-translate.obj: translate.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-translate.obj -MD -MP -MF "$(DEPDIR)/stap-translate.Tpo" -c -o stap-translate.obj `if test -f 'translate.cxx'; then $(CYGPATH_W) 'translate.cxx'; else $(CYGPATH_W) '$(srcdir)/translate.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-translate.Tpo" "$(DEPDIR)/stap-translate.Po"; else rm -f "$(DEPDIR)/stap-translate.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='translate.cxx' object='stap-translate.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-translate.obj `if test -f 'translate.cxx'; then $(CYGPATH_W) 'translate.cxx'; else $(CYGPATH_W) '$(srcdir)/translate.cxx'; fi`
+
+stap-tapsets.o: tapsets.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-tapsets.o -MD -MP -MF "$(DEPDIR)/stap-tapsets.Tpo" -c -o stap-tapsets.o `test -f 'tapsets.cxx' || echo '$(srcdir)/'`tapsets.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-tapsets.Tpo" "$(DEPDIR)/stap-tapsets.Po"; else rm -f "$(DEPDIR)/stap-tapsets.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tapsets.cxx' object='stap-tapsets.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-tapsets.o `test -f 'tapsets.cxx' || echo '$(srcdir)/'`tapsets.cxx
+
+stap-tapsets.obj: tapsets.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-tapsets.obj -MD -MP -MF "$(DEPDIR)/stap-tapsets.Tpo" -c -o stap-tapsets.obj `if test -f 'tapsets.cxx'; then $(CYGPATH_W) 'tapsets.cxx'; else $(CYGPATH_W) '$(srcdir)/tapsets.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-tapsets.Tpo" "$(DEPDIR)/stap-tapsets.Po"; else rm -f "$(DEPDIR)/stap-tapsets.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='tapsets.cxx' object='stap-tapsets.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-tapsets.obj `if test -f 'tapsets.cxx'; then $(CYGPATH_W) 'tapsets.cxx'; else $(CYGPATH_W) '$(srcdir)/tapsets.cxx'; fi`
+
+stap-buildrun.o: buildrun.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-buildrun.o -MD -MP -MF "$(DEPDIR)/stap-buildrun.Tpo" -c -o stap-buildrun.o `test -f 'buildrun.cxx' || echo '$(srcdir)/'`buildrun.cxx; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-buildrun.Tpo" "$(DEPDIR)/stap-buildrun.Po"; else rm -f "$(DEPDIR)/stap-buildrun.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='buildrun.cxx' object='stap-buildrun.o' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-buildrun.o `test -f 'buildrun.cxx' || echo '$(srcdir)/'`buildrun.cxx
+
+stap-buildrun.obj: buildrun.cxx
+@am__fastdepCXX_TRUE@ if $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -MT stap-buildrun.obj -MD -MP -MF "$(DEPDIR)/stap-buildrun.Tpo" -c -o stap-buildrun.obj `if test -f 'buildrun.cxx'; then $(CYGPATH_W) 'buildrun.cxx'; else $(CYGPATH_W) '$(srcdir)/buildrun.cxx'; fi`; \
+@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/stap-buildrun.Tpo" "$(DEPDIR)/stap-buildrun.Po"; else rm -f "$(DEPDIR)/stap-buildrun.Tpo"; exit 1; fi
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='buildrun.cxx' object='stap-buildrun.obj' libtool=no @AMDEPBACKSLASH@
+@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
+@am__fastdepCXX_FALSE@ $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(stap_CXXFLAGS) $(CXXFLAGS) -c -o stap-buildrun.obj `if test -f 'buildrun.cxx'; then $(CYGPATH_W) 'buildrun.cxx'; else $(CYGPATH_W) '$(srcdir)/buildrun.cxx'; fi`
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
@@ -762,6 +862,8 @@ install-data-local:
tar -f - -c --exclude=CVS --exclude='*~' --exclude='.#*' \
-C $(srcdir)/runtime transport \
| (cd $(DESTDIR)$(pkgdatadir)/runtime && tar xpf -)
+ -mkdir $(DESTDIR)$(pkgdatadir)/tapset
+ (cd $(srcdir)/tapset ; find . -name '*.stp' | cpio -pdmv $(DESTDIR)$(pkgdatadir)/tapset)
gcov:
@$(MAKE) clean CXXFLAGS="-g -fprofile-arcs -ftest-coverage" all check
diff --git a/aclocal.m4 b/aclocal.m4
index 22795ef4..bd283083 100644
--- a/aclocal.m4
+++ b/aclocal.m4
@@ -1,7 +1,7 @@
-# generated automatically by aclocal 1.9.2 -*- Autoconf -*-
+# generated automatically by aclocal 1.9.5 -*- Autoconf -*-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
# This file is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
@@ -11,23 +11,11 @@
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
-# -*- Autoconf -*-
-# Copyright (C) 2002, 2003 Free Software Foundation, Inc.
-# Generated from amversion.in; do not edit by hand.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# AM_AUTOMAKE_VERSION(VERSION)
# ----------------------------
@@ -40,26 +28,15 @@ AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
- [AM_AUTOMAKE_VERSION([1.9.2])])
+ [AM_AUTOMAKE_VERSION([1.9.5])])
-# AM_AUX_DIR_EXPAND
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
@@ -107,25 +84,14 @@ am_aux_dir=`cd $ac_aux_dir && pwd`
])
-# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003
+# Copyright (C) 1996, 1997, 1999, 2000, 2001, 2002, 2003, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# serial 4
# This was merged into AC_PROG_CC in Autoconf.
@@ -140,26 +106,16 @@ am_cv_prog_cc_stdc=$ac_cv_prog_cc_stdc
])
AU_DEFUN([fp_PROG_CC_STDC])
-# AM_CONDITIONAL -*- Autoconf -*-
+# AM_CONDITIONAL -*- Autoconf -*-
-# Copyright (C) 1997, 2000, 2001, 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1997, 2000, 2001, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 6
+# serial 7
# AM_CONDITIONAL(NAME, SHELL-CONDITION)
# -------------------------------------
@@ -183,26 +139,15 @@ AC_CONFIG_COMMANDS_PRE(
Usually this means the macro was only invoked conditionally.]])
fi])])
-# serial 7 -*- Autoconf -*-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+# serial 8
# There are a few dirty hacks below to avoid letting `AC_PROG_CC' be
# written in clear, in which case automake, when reading aclocal.m4,
@@ -211,7 +156,6 @@ fi])])
# CC etc. in the Makefile, will ask for an AC_PROG_CC use...
-
# _AM_DEPENDENCIES(NAME)
# ----------------------
# See how the compiler implements dependency checking.
@@ -351,27 +295,16 @@ AM_CONDITIONAL([AMDEP], [test "x$enable_dependency_tracking" != xno])
AC_SUBST([AMDEPBACKSLASH])
])
-# Generate code to set up dependency tracking. -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004
-# Free Software Foundation, Inc.
+# Generate code to set up dependency tracking. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-#serial 2
+#serial 3
# _AM_OUTPUT_DEPENDENCY_COMMANDS
# ------------------------------
@@ -430,30 +363,19 @@ AC_DEFUN([AM_OUTPUT_DEPENDENCY_COMMANDS],
[AMDEP_TRUE="$AMDEP_TRUE" ac_aux_dir="$ac_aux_dir"])
])
-# Do all the work for Automake. -*- Autoconf -*-
+# Do all the work for Automake. -*- Autoconf -*-
-# This macro actually does too much some checks are only needed if
-# your package does certain things. But this isn't really a big deal.
-
-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# serial 12
-# serial 11
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
# AM_INIT_AUTOMAKE([OPTIONS])
@@ -555,51 +477,27 @@ for _am_header in $config_headers :; do
done
echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
# AM_PROG_INSTALL_SH
# ------------------
# Define $install_sh.
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
AC_DEFUN([AM_PROG_INSTALL_SH],
[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
install_sh=${install_sh-"$am_aux_dir/install-sh"}
AC_SUBST(install_sh)])
-# -*- Autoconf -*-
-# Copyright (C) 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 1
+# serial 2
# Check whether the underlying file-system supports filenames
# with a leading dot. For instance MS-DOS doesn't.
@@ -614,28 +512,17 @@ fi
rmdir .tst 2>/dev/null
AC_SUBST([am__leading_dot])])
-# Add --enable-maintainer-mode option to configure.
+# Add --enable-maintainer-mode option to configure. -*- Autoconf -*-
# From Jim Meyering
-# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004
+# Copyright (C) 1996, 1998, 2000, 2001, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# serial 4
AC_DEFUN([AM_MAINTAINER_MODE],
[AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
@@ -654,26 +541,15 @@ AC_DEFUN([AM_MAINTAINER_MODE],
AU_DEFUN([jm_MAINTAINER_MODE], [AM_MAINTAINER_MODE])
-# Check to see how 'make' treats includes. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# Check to see how 'make' treats includes. -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# AM_MAKE_INCLUDE()
# -----------------
@@ -717,27 +593,16 @@ AC_MSG_RESULT([$_am_result])
rm -f confinc confmf
])
-# -*- Autoconf -*-
-
-
-# Copyright (C) 1997, 1999, 2000, 2001, 2003 Free Software Foundation, Inc.
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# serial 4
# AM_MISSING_PROG(NAME, PROGRAM)
# ------------------------------
@@ -763,27 +628,16 @@ else
fi
])
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
# AM_PROG_MKDIR_P
# ---------------
# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
-
-# Copyright (C) 2003, 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
+#
# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
# created by `make install' are always world readable, even if the
# installer happens to have an overly restrictive umask (e.g. 077).
@@ -837,26 +691,15 @@ else
fi
AC_SUBST([mkdir_p])])
-# Helper functions for option handling. -*- Autoconf -*-
-
-# Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# Helper functions for option handling. -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 2
+# serial 3
# _AM_MANGLE_OPTION(NAME)
# -----------------------
@@ -881,26 +724,14 @@ AC_DEFUN([_AM_SET_OPTIONS],
AC_DEFUN([_AM_IF_OPTION],
[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
-
-# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003
+# Copyright (C) 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005
# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 3
+# serial 4
AC_DEFUN([AM_C_PROTOTYPES],
[AC_REQUIRE([AC_C_PROTOTYPES])
@@ -918,28 +749,16 @@ AC_SUBST(ANSI2KNR)dnl
AU_DEFUN([fp_C_PROTOTYPES], [AM_C_PROTOTYPES])
-#
-# Check to make sure that the build environment is sane.
-#
-
-# Copyright (C) 1996, 1997, 2000, 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
-# serial 3
+# serial 4
# AM_SANITY_CHECK
# ---------------
@@ -982,25 +801,14 @@ Check your system clock])
fi
AC_MSG_RESULT(yes)])
-# AM_PROG_INSTALL_STRIP
-
-# Copyright (C) 2001, 2003 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# AM_PROG_INSTALL_STRIP
+# ---------------------
# One issue with vendor `install' (even GNU) is that you can't
# specify the program used to strip binaries. This is especially
# annoying in cross-compiling environments, where the build's strip
@@ -1023,25 +831,13 @@ AC_SUBST([INSTALL_STRIP_PROGRAM])])
# Check how to create a tarball. -*- Autoconf -*-
-# Copyright (C) 2004 Free Software Foundation, Inc.
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
-# 02111-1307, USA.
-
-# serial 1
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+# serial 2
# _AM_PROG_TAR(FORMAT)
# --------------------
diff --git a/main.cxx b/main.cxx
index eed0ca79..fb19fd43 100644
--- a/main.cxx
+++ b/main.cxx
@@ -17,6 +17,7 @@
#include <fstream>
#include <sstream>
#include <cerrno>
+#include <cstdlib>
extern "C" {
#include <glob.h>
@@ -57,19 +58,16 @@ usage (systemtap_session& s)
if (s.include_path.size() == 0)
clog << endl;
else
- clog << ", instead of" << endl;
+ clog << ", in addition to" << endl;
for (unsigned i=0; i<s.include_path.size(); i++)
clog << " " << s.include_path[i] << endl;
clog
- << " -R DIR look in DIR for runtime, instead of "
- << s.runtime_path
- << endl
- << " -r RELEASE use kernel RELEASE, instead of "
- << s.kernel_release
- << endl
- << " -m MODULE set probe module name, insetad of "
- << s.module_name
- << endl
+ << " -R DIR look in DIR for runtime, instead of" << endl
+ << " " << s.runtime_path << endl
+ << " -r RELEASE use kernel RELEASE, instead of" << endl
+ << " " << s.kernel_release << endl
+ << " -m MODULE set probe module name, insetad of" << endl
+ << " " << s.module_name << endl
<< " -o FILE send output to file instead of stdout" << endl
<< " -k keep temporary directory" << endl;
// XXX: other options:
@@ -109,10 +107,20 @@ main (int argc, char * const argv [])
s.test_mode = false;
s.guru_mode = false;
s.last_pass = 5;
- s.runtime_path = string(PKGDATADIR) + "/runtime";
s.module_name = "stap_" + stringify(getuid()) + "_" + stringify(time(0));
s.keep_tmpdir = false;
- s.include_path.push_back (string(PKGDATADIR) + "/tapsets");
+
+ const char* s_p = getenv ("SYSTEMTAP_TAPSET");
+ if (s_p != NULL)
+ s.include_path.push_back (s_p);
+ else
+ s.include_path.push_back (string(PKGDATADIR) + "/tapset");
+
+ const char* s_r = getenv ("SYSTEMTAP_RUNTIME");
+ if (s_r != NULL)
+ s.runtime_path = s_r;
+ else
+ s.runtime_path = string(PKGDATADIR) + "/runtime";
while (true)
{
@@ -223,19 +231,17 @@ main (int argc, char * const argv [])
// XXX: pass args vector, so parser (or lexer?) can substitute
// $1..$NN with actual arguments
if (script_file == "-")
- s.user_file = parser::parse (cin);
+ s.user_file = parser::parse (cin, s.guru_mode);
else if (script_file != "")
- s.user_file = parser::parse (script_file);
+ s.user_file = parser::parse (script_file, s.guru_mode);
else
{
istringstream ii (cmdline_script);
- s.user_file = parser::parse (ii);
+ s.user_file = parser::parse (ii, s.guru_mode);
}
if (s.user_file == 0)
// syntax errors already printed
rc ++;
- else
- s.user_file->privileged = s.guru_mode;
// Construct kernel-versioning search path
vector<string> version_suffixes;
@@ -273,14 +279,12 @@ main (int argc, char * const argv [])
for (unsigned j=0; j<globbuf.gl_pathc; j++)
{
- stapfile* f = parser::parse (globbuf.gl_pathv[j]);
+ // privilege only for /usr/share/systemtap?
+ stapfile* f = parser::parse (globbuf.gl_pathv[j], true);
if (f == 0)
rc ++;
else
- {
- f->privileged = true; // XXX only for /usr/share/systemtap?
- s.library_files.push_back (f);
- }
+ s.library_files.push_back (f);
}
globfree (& globbuf);
diff --git a/parse.cxx b/parse.cxx
index 988262ce..ca3337b6 100644
--- a/parse.cxx
+++ b/parse.cxx
@@ -22,14 +22,15 @@ using namespace std;
-parser::parser (istream& i):
- input_name ("<input>"), free_input (0), input (i, input_name),
+parser::parser (istream& i, bool p):
+ input_name ("<input>"), free_input (0),
+ input (i, input_name), privileged (p),
last_t (0), next_t (0), num_errors (0)
{ }
-parser::parser (const string& fn):
+parser::parser (const string& fn, bool p):
input_name (fn), free_input (new ifstream (input_name.c_str(), ios::in)),
- input (* free_input, input_name),
+ input (* free_input, input_name), privileged (p),
last_t (0), next_t (0), num_errors (0)
{ }
@@ -40,17 +41,17 @@ parser::~parser()
stapfile*
-parser::parse (std::istream& i)
+parser::parse (std::istream& i, bool pr)
{
- parser p (i);
+ parser p (i, pr);
return p.parse ();
}
stapfile*
-parser::parse (const std::string& n)
+parser::parse (const std::string& n, bool pr)
{
- parser p (n);
+ parser p (n, pr);
return p.parse ();
}
@@ -66,14 +67,16 @@ operator << (ostream& o, const token& t)
t.type == tok_embedded ? "embedded-code" :
"unknown token");
- // XXX: filter out embedded-code contents?
- o << " '";
- for (unsigned i=0; i<t.content.length(); i++)
+ if (t.type != tok_embedded) // XXX: other types?
{
- char c = t.content[i];
- o << (isprint (c) ? c : '?');
+ o << " '";
+ for (unsigned i=0; i<t.content.length(); i++)
+ {
+ char c = t.content[i];
+ o << (isprint (c) ? c : '?');
+ }
+ o << "'";
}
- o << "'";
o << " at "
<< t.location.file << ":"
@@ -404,11 +407,11 @@ parser::parse ()
else if (t->type == tok_identifier && t->content == "global")
parse_global (f->globals);
else if (t->type == tok_identifier && t->content == "function")
- f->functions.push_back (parse_functiondecl ());
+ parse_functiondecl (f->functions);
else if (t->type == tok_embedded)
f->embeds.push_back (parse_embeddedcode ());
else
- throw parse_error ("expected 'probe', 'global', 'function', or embedded code");
+ throw parse_error ("expected 'probe', 'global', 'function', or '%{'");
}
catch (parse_error& pe)
{
@@ -516,7 +519,10 @@ parser::parse_embeddedcode ()
embeddedcode* e = new embeddedcode;
const token* t = next ();
if (t->type != tok_embedded)
- throw parse_error ("expected embedded code");
+ throw parse_error ("expected '%{'");
+
+ if (! privileged)
+ throw parse_error ("embedded code in unprivileged script");
e->tok = t;
e->code = t->content;
@@ -624,18 +630,14 @@ parser::parse_global (vector <vardecl*>& globals)
if (! (t->type == tok_identifier))
throw parse_error ("expected identifier");
- bool dupe = false;
for (unsigned i=0; i<globals.size(); i++)
if (globals[i]->name == t->content)
- dupe = true;
+ throw parse_error ("duplicate global name");
- if (! dupe)
- {
- vardecl* d = new vardecl;
- d->name = t->content;
- d->tok = t;
- globals.push_back (d);
- }
+ vardecl* d = new vardecl;
+ d->name = t->content;
+ d->tok = t;
+ globals.push_back (d);
t = peek ();
if (t && t->type == tok_operator && t->content == ",")
@@ -649,18 +651,23 @@ parser::parse_global (vector <vardecl*>& globals)
}
-functiondecl*
-parser::parse_functiondecl ()
+void
+parser::parse_functiondecl (std::vector<functiondecl*>& functions)
{
const token* t = next ();
if (! (t->type == tok_identifier && t->content == "function"))
throw parse_error ("expected 'function'");
- functiondecl *fd = new functiondecl ();
t = next ();
if (! (t->type == tok_identifier))
throw parse_error ("expected identifier");
+
+ for (unsigned i=0; i<functions.size(); i++)
+ if (functions[i]->name == t->content)
+ throw parse_error ("duplicate function name");
+
+ functiondecl *fd = new functiondecl ();
fd->name = t->content;
fd->tok = t;
@@ -696,7 +703,8 @@ parser::parse_functiondecl ()
fd->body = parse_embeddedcode ();
else
fd->body = parse_stmt_block ();
- return fd;
+
+ functions.push_back (fd);
}
diff --git a/parse.h b/parse.h
index 701034ec..7e5b90a4 100644
--- a/parse.h
+++ b/parse.h
@@ -70,19 +70,20 @@ private:
class parser
{
public:
- parser (std::istream& i);
- parser (const std::string& n);
+ parser (std::istream& i, bool p);
+ parser (const std::string& n, bool p);
~parser ();
stapfile* parse ();
- static stapfile* parse (std::istream& i);
- static stapfile* parse (const std::string& n);
+ static stapfile* parse (std::istream& i, bool privileged);
+ static stapfile* parse (const std::string& n, bool privileged);
private:
std::string input_name;
std::istream* free_input;
lexer input;
+ bool privileged;
// scanning state
const token* last ();
@@ -98,10 +99,10 @@ private:
private: // nonterminals
void parse_probe (std::vector<probe*>&, std::vector<probe_alias*>&);
void parse_global (std::vector<vardecl*>&);
+ void parse_functiondecl (std::vector<functiondecl*>&);
embeddedcode* parse_embeddedcode ();
probe_point* parse_probe_point ();
literal* parse_literal ();
- functiondecl* parse_functiondecl ();
block* parse_stmt_block ();
statement* parse_statement ();
if_statement* parse_if_statement ();
diff --git a/runtest.sh b/runtest.sh
index 0129b8ae..e7415c9b 100755
--- a/runtest.sh
+++ b/runtest.sh
@@ -5,5 +5,11 @@
SRCDIR=`dirname $0`
export SRCDIR
+SYSTEMTAP_TAPSET=$SRCDIR/tapset
+export SYSTEMTAP_TAPSET
+
+SYSTEMTAP_RUNTIME=$SRCDIR/runtime
+export SYSTEMTAP_RUNTIME
+
exec >/dev/null 2>&1
exec ${1+"$@"}
diff --git a/tapset/builtin_log.stp b/tapset/builtin_log.stp
new file mode 100644
index 00000000..2932d66e
--- /dev/null
+++ b/tapset/builtin_log.stp
@@ -0,0 +1,7 @@
+function _log (msg) %{
+ _stp_log (THIS->msg);
+%}
+
+function log (msg) {
+ return 0 + _log (msg . "")
+}
diff --git a/tapset/builtin_printk.stp b/tapset/builtin_printk.stp
new file mode 100644
index 00000000..3e456fb2
--- /dev/null
+++ b/tapset/builtin_printk.stp
@@ -0,0 +1,7 @@
+function _printk (msg) %{
+ printk (KERN_INFO "%s\n", THIS->msg);
+%}
+
+function printk (msg) {
+ return 0 + _printk (msg . "")
+}
diff --git a/tapset/builtin_warn.stp b/tapset/builtin_warn.stp
new file mode 100644
index 00000000..98fef7fe
--- /dev/null
+++ b/tapset/builtin_warn.stp
@@ -0,0 +1,7 @@
+function _warn (msg) %{
+ _stp_warn (THIS->msg);
+%}
+
+function warn (msg) {
+ return 0 + _warn (msg . "")
+}
diff --git a/tapsets.cxx b/tapsets.cxx
index 0d51d8f0..040c8424 100644
--- a/tapsets.cxx
+++ b/tapsets.cxx
@@ -166,7 +166,7 @@ dwflpp
{
if (in)
return in;
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "WARNING: no name found for " << type << endl;
return string("default_anonymous_" ) + type;
}
@@ -187,7 +187,7 @@ dwflpp
NULL, NULL,
NULL, NULL),
"module");
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "focused on module " << module_name << endl;
}
@@ -196,7 +196,7 @@ dwflpp
assert(c);
cu = c;
cu_name = default_name(dwarf_diename(c), "cu");
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "focused on CU " << cu_name
<< ", in module " << module_name << endl;
}
@@ -207,7 +207,7 @@ dwflpp
function = f;
function_name = default_name(dwarf_func_name(function),
"function");
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "focused on function " << function_name
<< ", in CU " << cu_name
<< ", module " << module_name << endl;
@@ -216,7 +216,7 @@ dwflpp
void focus_on_module_containing_global_address(Dwarf_Addr a)
{
assert(dwfl);
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "focusing on module containing global addr " << a << endl;
focus_on_module(dwfl_addrmodule(dwfl, a));
}
@@ -273,9 +273,9 @@ dwflpp
assert(module);
get_module_dwarf();
bool t = (fnmatch(pattern.c_str(), module_name.c_str(), 0) == 0);
- if (sess.verbose)
+ if (t && sess.verbose)
clog << "pattern '" << pattern << "' "
- << (t ? "matches " : "does not match ")
+ << "matches "
<< "module '" << module_name << "'" << endl;
return t;
}
@@ -284,9 +284,9 @@ dwflpp
{
assert(function);
bool t = (fnmatch(pattern.c_str(), function_name.c_str(), 0) == 0);
- if (sess.verbose)
+ if (t && sess.verbose)
clog << "pattern '" << pattern << "' "
- << (t ? "matches " : "does not match ")
+ << "matches "
<< "function '" << function_name << "'" << endl;
return t;
}
@@ -295,9 +295,9 @@ dwflpp
{
assert(cu);
bool t = (fnmatch(pattern.c_str(), cu_name.c_str(), 0) == 0);
- if (sess.verbose)
+ if (t && sess.verbose)
clog << "pattern '" << pattern << "' "
- << (t ? "matches " : "does not match ")
+ << "matches "
<< "CU '" << cu_name << "'" << endl;
return t;
}
@@ -364,7 +364,7 @@ dwflpp
Dwarf *, Dwarf_Addr, void *),
void * data)
{
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "iterating over modules" << endl;
ptrdiff_t off = 0;
do
@@ -372,7 +372,7 @@ dwflpp
off = dwfl_getdwarf(dwfl, callback, data, off);
}
while (off > 0);
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "finished iterating over modules" << endl;
dwflpp_assert("getdwarf", off);
}
@@ -388,7 +388,7 @@ dwflpp
return;
}
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "iterating over CUs in module " << module_name << endl;
Dwarf *dw = module_dwarf;
@@ -411,7 +411,7 @@ dwflpp
{
assert(module);
assert(cu);
- if (sess.verbose)
+ if (false && sess.verbose)
clog << "iterating over functions in CU " << cu_name << endl;
dwarf_getfuncs(cu, callback, data, 0);
}
@@ -833,7 +833,7 @@ query_function(Dwarf_Func * func, void * arg)
Dwarf_Addr addr;
if (!q->dw.function_entrypc(&addr))
{
- if (q->sess.verbose)
+ if (false && q->sess.verbose)
clog << "WARNING: cannot find entry PC for function "
<< q->dw.function_name << endl;
return DWARF_CB_OK;
diff --git a/testsuite/buildko/one.stp b/testsuite/buildko/one.stp
index b8d54c51..1b4da936 100755
--- a/testsuite/buildko/one.stp
+++ b/testsuite/buildko/one.stp
@@ -1,4 +1,6 @@
-#! stap -p4
+#! /bin/sh
+
+./stap -p4 -g - $@ <<'END'
%{
#include <linux/version.h>
@@ -14,4 +16,4 @@ probe begin
printk("hello from systemtap, kernel version " . get_release())
}
-
+END
diff --git a/testsuite/buildok/two.stp b/testsuite/buildok/two.stp
index 83a4705c..7453cae1 100755
--- a/testsuite/buildok/two.stp
+++ b/testsuite/buildok/two.stp
@@ -1,4 +1,6 @@
-#! stap -p4
+#! /bin/sh
+
+./stap -p4 -g $@ - <<'END'
%{
#include <linux/version.h>
@@ -13,4 +15,4 @@ probe begin
printk("hello from systemtap, kernel version " . get_release())
}
-
+END
diff --git a/testsuite/parseko/eleven.stp b/testsuite/parseko/eleven.stp
new file mode 100755
index 00000000..f1b9321d
--- /dev/null
+++ b/testsuite/parseko/eleven.stp
@@ -0,0 +1,4 @@
+#! stap -p1
+
+function foo () {}
+function foo () {}
diff --git a/testsuite/parseko/fourteen.stp b/testsuite/parseko/fourteen.stp
new file mode 100755
index 00000000..b646f8b6
--- /dev/null
+++ b/testsuite/parseko/fourteen.stp
@@ -0,0 +1,7 @@
+#! stap -p2
+
+function zoo () %{ /* invalid embedded code */ %}
+
+probe begin
+{
+}
diff --git a/testsuite/parseko/ten.stp b/testsuite/parseko/ten.stp
index a268db4e..0a5f338e 100755
--- a/testsuite/parseko/ten.stp
+++ b/testsuite/parseko/ten.stp
@@ -1,5 +1,9 @@
-#! stap -p1
+#! /bin/sh
+
+./stap -p1 -g - <<'END'
probe foo {
%{ /* not a valid place for embedded code */ %}
}
+
+END
diff --git a/testsuite/parseko/thirteen.stp b/testsuite/parseko/thirteen.stp
new file mode 100755
index 00000000..1a5b46f6
--- /dev/null
+++ b/testsuite/parseko/thirteen.stp
@@ -0,0 +1,7 @@
+#! stap -p2
+
+%{ /* embedded code not permitted since -g not supplied */ %}
+
+probe begin
+{
+}
diff --git a/testsuite/parseko/twelve.stp b/testsuite/parseko/twelve.stp
new file mode 100755
index 00000000..199f6a90
--- /dev/null
+++ b/testsuite/parseko/twelve.stp
@@ -0,0 +1,4 @@
+#! stap -p1
+
+global foo
+global foo
diff --git a/testsuite/parseok/semko.stp b/testsuite/parseok/semko.stp
index 11f2a2da..92339597 100755
--- a/testsuite/parseok/semko.stp
+++ b/testsuite/parseok/semko.stp
@@ -3,4 +3,13 @@
# make sure that we can *parse* all semko test files, to ensure
# that it is semantic (elaboration) checks that fail, not parse errors
-./stap -p1 -I${SRCDIR}/testsuite/semko -e 'global nothing'
+
+set -e
+for file in ${SRCDIR}/testsuite/semko/*.stp
+do
+ if grep -q /bin/sh $file; then
+ true # can't override stap options
+ else
+ ./stap -p1 $file
+ fi
+done
diff --git a/testsuite/parseok/twelve.stp b/testsuite/parseok/twelve.stp
index 5b8a3932..d5029d1a 100755
--- a/testsuite/parseok/twelve.stp
+++ b/testsuite/parseok/twelve.stp
@@ -1,4 +1,6 @@
-#! stap -p1
+#! /bin/sh
+
+./stap -p1 -g $@ - <<'END'
%{
/* hello world */
@@ -7,3 +9,5 @@
function foo (p1, p2) %{
/* goodbye world */
%}
+
+END
diff --git a/testsuite/semok/transko.stp b/testsuite/semok/transko.stp
index 9c78c6ef..18bfc8aa 100755
--- a/testsuite/semok/transko.stp
+++ b/testsuite/semok/transko.stp
@@ -1,10 +1,14 @@
#! /bin/sh
# make sure that we can *semcheck* all transko test files, to ensure
-# that it is translation-time checks that fail, not earlier ones errors
+# that it is translation-time checks that fail, not earlier ones
set -e
for file in ${SRCDIR}/testsuite/transko/*.stp
do
- ./stap -p2 $file
+ if grep -q /bin/sh $file; then
+ true # can't override stap options
+ else
+ ./stap -p2 $file
+ fi
done
diff --git a/testsuite/transok/buildko.stp b/testsuite/transok/buildko.stp
index 67f11eba..4387b0f1 100755
--- a/testsuite/transok/buildko.stp
+++ b/testsuite/transok/buildko.stp
@@ -1,10 +1,14 @@
#! /bin/sh
# make sure that we can *translate* all buildko test files, to ensure
-# that it is build-time checks that fail, not earlier ones errors
+# that it is build-time checks that fail, not earlier ones
set -e
for file in ${SRCDIR}/testsuite/buildko/*.stp
do
- ./stap -p3 $file
+ if grep -q /bin/sh $file; then
+ true # can't override stap options
+ else
+ ./stap -p3 $file
+ fi
done
diff --git a/testsuite/transok/nine.stp b/testsuite/transok/nine.stp
index a75fad5e..82ebc4a9 100755
--- a/testsuite/transok/nine.stp
+++ b/testsuite/transok/nine.stp
@@ -1,4 +1,6 @@
-#! stap -p3
+#! /bin/sh
+
+./stap -p3 -g $@ - <<'END'
%{
void just_some_declaration () {}
@@ -10,3 +12,5 @@ probe begin
{
bar (5) + 0
}
+
+END