]> sourceware.org Git - systemtap.git/commitdiff
Merge remote-tracking branch 'origin/master' into dsmith/interactive
authorDavid Smith <dsmith@redhat.com>
Mon, 12 Oct 2015 16:22:05 +0000 (11:22 -0500)
committerDavid Smith <dsmith@redhat.com>
Mon, 12 Oct 2015 16:22:05 +0000 (11:22 -0500)
1  2 
configure
configure.ac
elaborate.cxx
systemtap.spec

diff --combined configure
index d5d2f8395653a2360dacb2d1b150f779b9474b33,0c1cb266338b7755b1f92859a690a55b59bae794..2df95118129b2b7babda15bef51cd0d3d944df6d
+++ b/configure
@@@ -1,6 -1,6 +1,6 @@@
  #! /bin/sh
  # Guess values for system-dependent variables and create Makefiles.
- # Generated by GNU Autoconf 2.69 for systemtap 2.9.
+ # Generated by GNU Autoconf 2.69 for systemtap 3.0.
  #
  # Report bugs to <systemtap@sourceware.org>.
  #
@@@ -580,8 -580,8 +580,8 @@@ MAKEFLAGS
  # Identity of this package.
  PACKAGE_NAME='systemtap'
  PACKAGE_TARNAME='systemtap'
- PACKAGE_VERSION='2.9'
- PACKAGE_STRING='systemtap 2.9'
+ PACKAGE_VERSION='3.0'
+ PACKAGE_STRING='systemtap 3.0'
  PACKAGE_BUGREPORT='systemtap@sourceware.org'
  PACKAGE_URL=''
  
@@@ -665,9 -665,6 +665,9 @@@ elfutils_abs_srcdi
  BUILD_ELFUTILS_FALSE
  BUILD_ELFUTILS_TRUE
  python
 +HAVE_LIBREADLINE_FALSE
 +HAVE_LIBREADLINE_TRUE
 +READLINE_LIBS
  HAVE_AVAHI_FALSE
  HAVE_AVAHI_TRUE
  avahi_LIBS
@@@ -1435,7 -1432,7 +1435,7 @@@ if test "$ac_init_help" = "long"; the
    # Omit some internal or obsolete options to make the list less imposing.
    # This message is too long to be a string in the A/UX 3.1 sh.
    cat <<_ACEOF
- \`configure' configures systemtap 2.9 to adapt to many kinds of systems.
+ \`configure' configures systemtap 3.0 to adapt to many kinds of systems.
  
  Usage: $0 [OPTION]... [VAR=VALUE]...
  
  
  if test -n "$ac_init_help"; then
    case $ac_init_help in
-      short | recursive ) echo "Configuration of systemtap 2.9:";;
+      short | recursive ) echo "Configuration of systemtap 3.0:";;
     esac
    cat <<\_ACEOF
  
  test -n "$ac_init_help" && exit $ac_status
  if $ac_init_version; then
    cat <<\_ACEOF
- systemtap configure 2.9
+ systemtap configure 3.0
  generated by GNU Autoconf 2.69
  
  Copyright (C) 2012 Free Software Foundation, Inc.
@@@ -2205,7 -2202,7 +2205,7 @@@ cat >config.log <<_ACEO
  This file contains any messages produced by compilers while
  running configure, to aid debugging if configure makes a mistake.
  
- It was created by systemtap $as_me 2.9, which was
+ It was created by systemtap $as_me 3.0, which was
  generated by GNU Autoconf 2.69.  Invocation command line was
  
    $ $0 $@
  
  # Define the identity of the package.
   PACKAGE='systemtap'
-  VERSION='2.9'
+  VERSION='3.0'
  
  
  cat >>confdefs.h <<_ACEOF
@@@ -10441,67 -10438,6 +10441,67 @@@ $as_echo "$as_me: WARNING: cannot find 
    fi
  fi
  
 +LIBS_no_readline=$LIBS
 +
 +have_libreadline="no"
 +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to link readline libs" >&5
 +$as_echo_n "checking how to link readline libs... " >&6; }
 +for libtermcap in "" tinfo ncursesw ncurses curses termcap; do
 +  if test -z "$libtermcap"; then
 +    READLINE_LIBS="-lreadline"
 +  else
 +    READLINE_LIBS="-lreadline -l$libtermcap"
 +  fi
 +  LIBS="$READLINE_LIBS $LIBS_no_readline"
 +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
 +/* end confdefs.h.  */
 +
 +/* Override any GCC internal prototype to avoid an error.
 +   Use char because int might match the return type of a GCC
 +   builtin and then its argument prototype would still apply.  */
 +#ifdef __cplusplus
 +extern "C"
 +#endif
 +char readline ();
 +int
 +main ()
 +{
 +return readline ();
 +  ;
 +  return 0;
 +}
 +_ACEOF
 +if ac_fn_c_try_link "$LINENO"; then :
 +  have_libreadline="yes"
 +fi
 +rm -f core conftest.err conftest.$ac_objext \
 +    conftest$ac_exeext conftest.$ac_ext
 +  if test "$have_libreadline" = "yes"; then
 +    break
 +  fi
 +done
 +if test "$have_libreadline" = "no"; then
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
 +$as_echo "none" >&6; }
 +  READLINE_LIBS=""
 +else
 +  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $READLINE_LIBS" >&5
 +$as_echo "$READLINE_LIBS" >&6; }
 +
 +$as_echo "#define HAVE_LIBREADLINE 1" >>confdefs.h
 +
 +fi
 +
 + if test "$have_libreadline" == "yes"; then
 +  HAVE_LIBREADLINE_TRUE=
 +  HAVE_LIBREADLINE_FALSE='#'
 +else
 +  HAVE_LIBREADLINE_TRUE='#'
 +  HAVE_LIBREADLINE_FALSE=
 +fi
 +
 +
 +LIBS=$LIBS_no_readline
  
  
  # Check whether --with-python3 was given.
@@@ -11889,10 -11825,6 +11889,10 @@@ if test -z "${HAVE_AVAHI_TRUE}" && tes
    as_fn_error $? "conditional \"HAVE_AVAHI\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
 +if test -z "${HAVE_LIBREADLINE_TRUE}" && test -z "${HAVE_LIBREADLINE_FALSE}"; then
 +  as_fn_error $? "conditional \"HAVE_LIBREADLINE\" was never defined.
 +Usually this means the macro was only invoked conditionally." "$LINENO" 5
 +fi
  if test -z "${BUILD_ELFUTILS_TRUE}" && test -z "${BUILD_ELFUTILS_FALSE}"; then
    as_fn_error $? "conditional \"BUILD_ELFUTILS\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
@@@ -12322,7 -12254,7 +12322,7 @@@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_wr
  # report actual input values of CONFIG_FILES etc. instead of their
  # values after options handling.
  ac_log="
- This file was extended by systemtap $as_me 2.9, which was
+ This file was extended by systemtap $as_me 3.0, which was
  generated by GNU Autoconf 2.69.  Invocation command line was
  
    CONFIG_FILES    = $CONFIG_FILES
@@@ -12388,7 -12320,7 +12388,7 @@@ _ACEO
  cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
  ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
  ac_cs_version="\\
- systemtap config.status 2.9
+ systemtap config.status 3.0
  configured by $0, generated by GNU Autoconf 2.69,
    with options \\"\$ac_cs_config\\"
  
diff --combined configure.ac
index 8ac410535284e5d80a67052977e70eb682041c8b,877b8eed7f03058284b7081bdfc1dd666348b016..114d45694f6892053dbda096ddf03b040473179e
@@@ -1,7 -1,7 +1,7 @@@
  dnl configure.ac --- autoconf input file for systemtap
  dnl Process this file with autoconf to produce a configure script.
  
- AC_INIT([systemtap], 2.9, systemtap@sourceware.org, systemtap)
+ AC_INIT([systemtap], 3.0, systemtap@sourceware.org, systemtap)
  dnl                  ^^^ see also NEWS, systemtap.spec, testsuite/configure.ac
  dnl                      doc/SystemTap_Beginners_Guide/en-US/Book_Info.xml
  
@@@ -394,42 -394,6 +394,42 @@@ if test "$with_rpm" != "no"; the
    fi
  fi
  
 +dnl Look for readline.
 +dnl
 +dnl First save the orignal value of LIBS.
 +LIBS_no_readline=$LIBS
 +
 +dnl Check how for readline presence and how to link with it. On some
 +dnl systems you need to add a termcap compatible library.
 +have_libreadline="no"
 +AC_MSG_CHECKING([how to link readline libs])
 +for libtermcap in "" tinfo ncursesw ncurses curses termcap; do
 +  if test -z "$libtermcap"; then
 +    READLINE_LIBS="-lreadline"
 +  else
 +    READLINE_LIBS="-lreadline -l$libtermcap"
 +  fi
 +  LIBS="$READLINE_LIBS $LIBS_no_readline"
 +  AC_LINK_IFELSE(
 +    [AC_LANG_CALL([],[readline])],
 +    [have_libreadline="yes"])
 +  if test "$have_libreadline" = "yes"; then
 +    break
 +  fi
 +done
 +if test "$have_libreadline" = "no"; then
 +  AC_MSG_RESULT([none])
 +  READLINE_LIBS=""
 +else
 +  AC_MSG_RESULT([$READLINE_LIBS])
 +  AC_DEFINE(HAVE_LIBREADLINE, [1],
 +          [Define if you have the readline library (-lreadline).])
 +fi
 +AC_SUBST([READLINE_LIBS])
 +AM_CONDITIONAL([HAVE_LIBREADLINE], [test "$have_libreadline" == "yes"])
 +
 +dnl End of readline checks: restore LIBS
 +LIBS=$LIBS_no_readline
  
  dnl Allow user to choose python3 for /usr/bin/dtrace
  AC_ARG_WITH([python3],
diff --combined elaborate.cxx
index 35399a6818e916291c3318e08116dbc09bed60ae,b4857dcea5c098d9da1fe5f24504d22ff82ff403..a3dccd5c61803a693826fe7e6c97c90661d5c2dd
@@@ -129,14 -129,18 +129,18 @@@ derived_probe::collect_derivation_pp_ch
  
  
  string
- derived_probe::derived_locations ()
+ derived_probe::derived_locations (bool firstFrom)
  {
    ostringstream o;
    vector<probe_point*> reference_point;
    collect_derivation_pp_chain(reference_point);
    if (reference_point.size() > 0)
      for(unsigned i=1; i<reference_point.size(); ++i)
-       o << " from: " << reference_point[i]->str(false); // no ?,!,etc
+       {
+         if (firstFrom || i>1)
+           o << " from: ";
+         o << reference_point[i]->str(false); // no ?,!,etc
+       }
    return o.str();
  }
  
@@@ -2014,10 -2018,6 +2018,10 @@@ semantic_pass (systemtap_session& s
  
    try
      {
 +      // FIXME: interactive mode, register_library_aliases handles
 +      // both aliases from library files *and* user scripts. It would
 +      // be nice to have them in separate lists and register them
 +      // separately.
        s.register_library_aliases();
        register_standard_tapsets(s);
  
@@@ -4912,7 -4912,6 +4916,6 @@@ semantic_pass_types (systemtap_session
      }
  
    ti.assert_resolvability = false;
-   // XXX: maybe convert to exception-based error signalling
    while (1)
      {
        assert_no_interrupts();
  
        for (map<string,functiondecl*>::iterator it = s.functions.begin();
                                                 it != s.functions.end(); it++)
-         {
-           assert_no_interrupts();
-           functiondecl* fd = it->second;
-           ti.current_probe = 0;
-           ti.current_function = fd;
-           ti.t = pe_unknown;
-           fd->body->visit (& ti);
-         // NB: we don't have to assert a known type for
-         // functions here, to permit a "void" function.
-         // The translator phase will omit the "retvalue".
-         //
-           // if (fd->type == pe_unknown)
-           //   ti.unresolved (fd->tok);
-           for (unsigned i=0; i < fd->locals.size(); ++i)
-             ti.check_local (fd->locals[i]);
-           // Check and run the autocast expanding visitor.
-           if (ti.num_available_autocasts > 0)
-             {
-               autocast_expanding_visitor aev (ti);
-               aev.replace (fd->body);
-               ti.num_available_autocasts = 0;
-             }
-         }
+         try
+           {
+             assert_no_interrupts();
+             
+             functiondecl* fd = it->second;
+             ti.current_probe = 0;
+             ti.current_function = fd;
+             ti.t = pe_unknown;
+             fd->body->visit (& ti);
+             // NB: we don't have to assert a known type for
+             // functions here, to permit a "void" function.
+             // The translator phase will omit the "retvalue".
+             //
+             // if (fd->type == pe_unknown)
+             //   ti.unresolved (fd->tok);
+             for (unsigned i=0; i < fd->locals.size(); ++i)
+               ti.check_local (fd->locals[i]);
+             
+             // Check and run the autocast expanding visitor.
+             if (ti.num_available_autocasts > 0)
+               {
+                 autocast_expanding_visitor aev (ti);
+                 aev.replace (fd->body);
+                 ti.num_available_autocasts = 0;
+               }
+           }
+         catch (const semantic_error& e)
+           {
+             throw SEMANTIC_ERROR(_F("while processing function %s",
+                                     it->second->name.c_str())).set_chain(e);
+           }
+       
        for (unsigned j=0; j<s.probes.size(); j++)
-         {
-           assert_no_interrupts();
-           derived_probe* pn = s.probes[j];
-           ti.current_function = 0;
-           ti.current_probe = pn;
-           ti.t = pe_unknown;
-           pn->body->visit (& ti);
-           for (unsigned i=0; i < pn->locals.size(); ++i)
-             ti.check_local (pn->locals[i]);
-           // Check and run the autocast expanding visitor.
-           if (ti.num_available_autocasts > 0)
-             {
-               autocast_expanding_visitor aev (ti);
-               aev.replace (pn->body);
-               ti.num_available_autocasts = 0;
-             }
-           probe_point* pp = pn->sole_location();
-           if (pp->condition)
-             {
-               ti.current_function = 0;
-               ti.current_probe = 0;
-               ti.t = pe_long; // NB: expected type
-               pp->condition->visit (& ti);
-             }
-         }
+         try
+           {
+             assert_no_interrupts();
+             
+             derived_probe* pn = s.probes[j];
+             ti.current_function = 0;
+             ti.current_probe = pn;
+             ti.t = pe_unknown;
+             pn->body->visit (& ti);
+             for (unsigned i=0; i < pn->locals.size(); ++i)
+               ti.check_local (pn->locals[i]);
+             
+             // Check and run the autocast expanding visitor.
+             if (ti.num_available_autocasts > 0)
+               {
+                 autocast_expanding_visitor aev (ti);
+                 aev.replace (pn->body);
+                 ti.num_available_autocasts = 0;
+               }
+             
+             probe_point* pp = pn->sole_location();
+             if (pp->condition)
+               {
+                 ti.current_function = 0;
+                 ti.current_probe = 0;
+                 ti.t = pe_long; // NB: expected type
+                 pp->condition->visit (& ti);
+               }
+           }
+         catch (const semantic_error& e)
+           {
+             throw SEMANTIC_ERROR(_F("while processing probe %s",
+                                     s.probes[j]->derived_locations(false).c_str())).set_chain(e);
+           }
+   
        for (unsigned j=0; j<s.globals.size(); j++)
          {
            vardecl* gd = s.globals[j];
              ti.unresolved (gd->tok);
            if(gd->arity == 0 && gd->wrap == true)
              {
-               throw SEMANTIC_ERROR (_("wrapping not supported for scalars"), gd->tok);
+               throw SEMANTIC_ERROR(_("wrapping not supported for scalars"), gd->tok);
              }
          }
  
diff --combined systemtap.spec
index 551e98c645f50027c2d7309e40f79ce549a45d8a,a72b3adb992e46e16b146db3d8fafccfd8e655fa..9c11825af2f4757c86cf8010e45fab4fda9cef6d
@@@ -57,7 -57,7 +57,7 @@@
  %define dracutstap %{_prefix}/lib/dracut/modules.d/99stap
  
  Name: systemtap
- Version: 2.9
+ Version: 3.0
  Release: 1%{?dist}
  # for version, see also configure.ac
  
@@@ -143,10 -143,6 +143,10 @@@ BuildRequires: jpackage-utils java-deve
  BuildRequires: libvirt-devel >= 1.0.2
  BuildRequires: libxml2-devel
  %endif
 +BuildRequires: readline-devel
 +%if 0%{?rhel} <= 5
 +BuildRequires: ncurses-devel
 +%endif
  
  # Install requirements
  Requires: systemtap-client = %{version}-%{release}
@@@ -1022,7 -1018,7 +1022,7 @@@ don
  #   http://sourceware.org/systemtap/wiki/SystemTapReleases
  
  %changelog
- * Wed Sep 30 2015 Felix Lu <flu@redhat.com> - 2.9-1
+ * Thu Oct 08 2015 Frank Ch. Eigler <fche@redhat.com> - 2.9-1
  - Upstream release.
  
  * Wed Jun 17 2015 Abegail Jakop <ajakop@redhat.com> - 2.8-1
This page took 0.059072 seconds and 5 git commands to generate.