From 24cb178fd82936f55d254ebd0cd79802da21134a Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 28 Jul 2005 18:07:02 +0000 Subject: 2005-07-28 Frank Ch. Eigler 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. --- ChangeLog | 19 ++ Makefile.am | 6 +- Makefile.in | 128 ++++++++++-- aclocal.m4 | 458 ++++++++++++----------------------------- main.cxx | 48 +++-- parse.cxx | 68 +++--- parse.h | 11 +- runtest.sh | 6 + tapset/builtin_log.stp | 7 + tapset/builtin_printk.stp | 7 + tapset/builtin_warn.stp | 7 + tapsets.cxx | 32 +-- testsuite/buildko/one.stp | 6 +- testsuite/buildok/two.stp | 6 +- testsuite/parseko/eleven.stp | 4 + testsuite/parseko/fourteen.stp | 7 + testsuite/parseko/ten.stp | 6 +- testsuite/parseko/thirteen.stp | 7 + testsuite/parseko/twelve.stp | 4 + testsuite/parseok/semko.stp | 11 +- testsuite/parseok/twelve.stp | 6 +- testsuite/semok/transko.stp | 8 +- testsuite/transok/buildko.stp | 8 +- testsuite/transok/nine.stp | 6 +- 24 files changed, 446 insertions(+), 430 deletions(-) create mode 100644 tapset/builtin_log.stp create mode 100644 tapset/builtin_printk.stp create mode 100644 tapset/builtin_warn.stp create mode 100755 testsuite/parseko/eleven.stp create mode 100755 testsuite/parseko/fourteen.stp create mode 100755 testsuite/parseko/thirteen.stp create mode 100755 testsuite/parseko/twelve.stp diff --git a/ChangeLog b/ChangeLog index 9539c918..84085e26 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2005-07-28 Frank Ch. Eigler + + 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 translator/1120 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 #include #include +#include extern "C" { #include @@ -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; iprivileged = s.guru_mode; // Construct kernel-versioning search path vector version_suffixes; @@ -273,14 +279,12 @@ main (int argc, char * const argv []) for (unsigned j=0; jprivileged = 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 (""), free_input (0), input (i, input_name), +parser::parser (istream& i, bool p): + input_name (""), 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; itype == 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 & globals) if (! (t->type == tok_identifier)) throw parse_error ("expected identifier"); - bool dupe = false; for (unsigned i=0; iname == 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 & globals) } -functiondecl* -parser::parse_functiondecl () +void +parser::parse_functiondecl (std::vector& 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; iname == 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&, std::vector&); void parse_global (std::vector&); + void parse_functiondecl (std::vector&); 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 @@ -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 @@ -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 -- cgit