Hello community,

here is the log from the commit of package oprofile for openSUSE:Factory 
checked in at 2018-07-28 12:42:42
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oprofile (Old)
 and      /work/SRC/openSUSE:Factory/.oprofile.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "oprofile"

Sat Jul 28 12:42:42 2018 rev:50 rq:625461 version:1.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/oprofile/oprofile.changes        2017-10-03 
23:18:24.288963015 +0200
+++ /work/SRC/openSUSE:Factory/.oprofile.new/oprofile.changes   2018-07-28 
12:42:43.796694270 +0200
@@ -1,0 +2,10 @@
+Thu Jul 26 15:57:53 UTC 2018 - [email protected]
+
+- Update to version 1.3.0
+
+  - New/updated Processor Support for Intel Goldmont Plus
+  - Minor bug fixes
+
+  Release notes: http://oprofile.sourceforge.net/release-notes/oprofile-1.3.0
+
+-------------------------------------------------------------------

Old:
----
  oprofile-1.2.0.tar.gz

New:
----
  oprofile-1.3.0.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ oprofile.spec ++++++
--- /var/tmp/diff_new_pack.pZPMgN/_old  2018-07-28 12:42:44.348695332 +0200
+++ /var/tmp/diff_new_pack.pZPMgN/_new  2018-07-28 12:42:44.352695340 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package oprofile
 #
-# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,10 +17,10 @@
 
 
 Name:           oprofile
-Version:        1.2.0
+Version:        1.3.0
 Release:        0
 Summary:        System-Wide Profiler for Linux Systems
-License:        GPL-2.0+ and LGPL-2.1+
+License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          Development/Tools/Other
 Url:            http://oprofile.sourceforge.net/
 Source0:        
http://prdownloads.sourceforge.net/oprofile/oprofile-%{version}.tar.gz
@@ -158,7 +158,8 @@
 %exclude %{_libdir}/oprofile/libjvm[tp]i_oprofile.*a
 %doc doc/oprofile.html doc/internals.html doc/opreport.xsd
 %{_docdir}/%{name}/ophelp.xsd
-%doc COPYING README TODO ChangeLog-*
+%doc README TODO ChangeLog-*
+%license COPYING
 
 %files devel
 %defattr(-,root,root)

++++++ oprofile-1.2.0.tar.gz -> oprofile-1.3.0.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/Makefile.in 
new/oprofile-1.3.0/Makefile.in
--- old/oprofile-1.2.0/Makefile.in      2017-07-24 20:31:07.000000000 +0200
+++ new/oprofile-1.3.0/Makefile.in      2018-07-16 21:39:38.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/aclocal.m4 
new/oprofile-1.3.0/aclocal.m4
--- old/oprofile-1.2.0/aclocal.m4       2017-07-24 20:31:06.000000000 +0200
+++ new/oprofile-1.3.0/aclocal.m4       2018-07-16 21:39:38.000000000 +0200
@@ -1,6 +1,6 @@
-# generated automatically by aclocal 1.15 -*- Autoconf -*-
+# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -20,9 +20,9 @@
 If you have problems, you may need to regenerate the build system entirely.
 To do so, use the procedure documented by the package, typically 
'autoreconf'.])])
 
-dnl pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
-dnl serial 11 (pkg-config-0.29.1)
-dnl
+# pkg.m4 - Macros to locate and utilise pkg-config.   -*- Autoconf -*-
+# serial 11 (pkg-config-0.29.1)
+
 dnl Copyright © 2004 Scott James Remnant <[email protected]>.
 dnl Copyright © 2012-2015 Dan Nicholson <[email protected]>
 dnl
@@ -296,7 +296,75 @@
 AS_VAR_IF([$1], [""], [$5], [$4])dnl
 ])dnl PKG_CHECK_VAR
 
-# Copyright (C) 2002-2014 Free Software Foundation, Inc.
+dnl PKG_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [ACTION-IF-FOUND],[ACTION-IF-NOT-FOUND],
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------
+dnl
+dnl Prepare a "--with-" configure option using the lowercase
+dnl [VARIABLE-PREFIX] name, merging the behaviour of AC_ARG_WITH and
+dnl PKG_CHECK_MODULES in a single macro.
+AC_DEFUN([PKG_WITH_MODULES],
+[
+m4_pushdef([with_arg], m4_tolower([$1]))
+
+m4_pushdef([description],
+           [m4_default([$5], [build with ]with_arg[ support])])
+
+m4_pushdef([def_arg], [m4_default([$6], [auto])])
+m4_pushdef([def_action_if_found], [AS_TR_SH([with_]with_arg)=yes])
+m4_pushdef([def_action_if_not_found], [AS_TR_SH([with_]with_arg)=no])
+
+m4_case(def_arg,
+            [yes],[m4_pushdef([with_without], [--without-]with_arg)],
+            [m4_pushdef([with_without],[--with-]with_arg)])
+
+AC_ARG_WITH(with_arg,
+     AS_HELP_STRING(with_without, description[ @<:@default=]def_arg[@:>@]),,
+    [AS_TR_SH([with_]with_arg)=def_arg])
+
+AS_CASE([$AS_TR_SH([with_]with_arg)],
+            [yes],[PKG_CHECK_MODULES([$1],[$2],$3,$4)],
+            [auto],[PKG_CHECK_MODULES([$1],[$2],
+                                        [m4_n([def_action_if_found]) $3],
+                                        [m4_n([def_action_if_not_found]) $4])])
+
+m4_popdef([with_arg])
+m4_popdef([description])
+m4_popdef([def_arg])
+
+])dnl PKG_WITH_MODULES
+
+dnl PKG_HAVE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl -----------------------------------------------
+dnl
+dnl Convenience macro to trigger AM_CONDITIONAL after PKG_WITH_MODULES
+dnl check._[VARIABLE-PREFIX] is exported as make variable.
+AC_DEFUN([PKG_HAVE_WITH_MODULES],
+[
+PKG_WITH_MODULES([$1],[$2],,,[$3],[$4])
+
+AM_CONDITIONAL([HAVE_][$1],
+               [test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"])
+])dnl PKG_HAVE_WITH_MODULES
+
+dnl PKG_HAVE_DEFINE_WITH_MODULES(VARIABLE-PREFIX, MODULES,
+dnl   [DESCRIPTION], [DEFAULT])
+dnl ------------------------------------------------------
+dnl
+dnl Convenience macro to run AM_CONDITIONAL and AC_DEFINE after
+dnl PKG_WITH_MODULES check. HAVE_[VARIABLE-PREFIX] is exported as make
+dnl and preprocessor variable.
+AC_DEFUN([PKG_HAVE_DEFINE_WITH_MODULES],
+[
+PKG_HAVE_WITH_MODULES([$1],[$2],[$3],[$4])
+
+AS_IF([test "$AS_TR_SH([with_]m4_tolower([$1]))" = "yes"],
+        [AC_DEFINE([HAVE_][$1], 1, [Enable ]m4_tolower([$1])[ support])])
+])dnl PKG_HAVE_DEFINE_WITH_MODULES
+
+# Copyright (C) 2002-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -311,7 +379,7 @@
 [am__api_version='1.15'
 dnl Some users find AM_AUTOMAKE_VERSION and mistake it for a way to
 dnl require some minimum version.  Point them to the right macro.
-m4_if([$1], [1.15], [],
+m4_if([$1], [1.15.1], [],
       [AC_FATAL([Do not call $0, use AM_INIT_AUTOMAKE([$1]).])])dnl
 ])
 
@@ -327,14 +395,14 @@
 # Call AM_AUTOMAKE_VERSION and AM_AUTOMAKE_VERSION so they can be traced.
 # This function is AC_REQUIREd by AM_INIT_AUTOMAKE.
 AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
-[AM_AUTOMAKE_VERSION([1.15])dnl
+[AM_AUTOMAKE_VERSION([1.15.1])dnl
 m4_ifndef([AC_AUTOCONF_VERSION],
   [m4_copy([m4_PACKAGE_VERSION], [AC_AUTOCONF_VERSION])])dnl
 _AM_AUTOCONF_VERSION(m4_defn([AC_AUTOCONF_VERSION]))])
 
 # AM_AUX_DIR_EXPAND                                         -*- Autoconf -*-
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -386,7 +454,7 @@
 
 # AM_CONDITIONAL                                            -*- Autoconf -*-
 
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -417,7 +485,7 @@
 Usually this means the macro was only invoked conditionally.]])
 fi])])
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -608,7 +676,7 @@
 
 # Generate code to set up dependency tracking.              -*- Autoconf -*-
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -684,7 +752,7 @@
 
 # Do all the work for Automake.                             -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -881,7 +949,7 @@
 done
 echo "timestamp for $_am_arg" 
>`AS_DIRNAME(["$_am_arg"])`/stamp-h[]$_am_stamp_count])
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -902,7 +970,7 @@
 fi
 AC_SUBST([install_sh])])
 
-# Copyright (C) 2003-2014 Free Software Foundation, Inc.
+# Copyright (C) 2003-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -923,7 +991,7 @@
 
 # Check to see how 'make' treats includes.                 -*- Autoconf -*-
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -973,7 +1041,7 @@
 
 # Fake the existence of programs that GNU maintainers use.  -*- Autoconf -*-
 
-# Copyright (C) 1997-2014 Free Software Foundation, Inc.
+# Copyright (C) 1997-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1012,7 +1080,7 @@
 
 # Helper functions for option handling.                     -*- Autoconf -*-
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1041,7 +1109,7 @@
 AC_DEFUN([_AM_IF_OPTION],
 [m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
 
-# Copyright (C) 1999-2014 Free Software Foundation, Inc.
+# Copyright (C) 1999-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1088,7 +1156,7 @@
 # For backward compatibility.
 AC_DEFUN_ONCE([AM_PROG_CC_C_O], [AC_REQUIRE([AC_PROG_CC])])
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1107,7 +1175,7 @@
 
 # Check to make sure that the build environment is sane.    -*- Autoconf -*-
 
-# Copyright (C) 1996-2014 Free Software Foundation, Inc.
+# Copyright (C) 1996-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1188,7 +1256,7 @@
 rm -f conftest.file
 ])
 
-# Copyright (C) 2009-2014 Free Software Foundation, Inc.
+# Copyright (C) 2009-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1248,7 +1316,7 @@
 _AM_SUBST_NOTMAKE([AM_BACKSLASH])dnl
 ])
 
-# Copyright (C) 2001-2014 Free Software Foundation, Inc.
+# Copyright (C) 2001-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1276,7 +1344,7 @@
 INSTALL_STRIP_PROGRAM="\$(install_sh) -c -s"
 AC_SUBST([INSTALL_STRIP_PROGRAM])])
 
-# Copyright (C) 2006-2014 Free Software Foundation, Inc.
+# Copyright (C) 2006-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -1295,7 +1363,7 @@
 
 # Check how to create a tarball.                            -*- Autoconf -*-
 
-# Copyright (C) 2004-2014 Free Software Foundation, Inc.
+# Copyright (C) 2004-2017 Free Software Foundation, Inc.
 #
 # This file is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/agents/Makefile.in 
new/oprofile-1.3.0/agents/Makefile.in
--- old/oprofile-1.2.0/agents/Makefile.in       2017-07-24 20:31:07.000000000 
+0200
+++ new/oprofile-1.3.0/agents/Makefile.in       2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/agents/jvmpi/Makefile.in 
new/oprofile-1.3.0/agents/jvmpi/Makefile.in
--- old/oprofile-1.2.0/agents/jvmpi/Makefile.in 2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/agents/jvmpi/Makefile.in 2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/agents/jvmti/Makefile.in 
new/oprofile-1.3.0/agents/jvmti/Makefile.in
--- old/oprofile-1.2.0/agents/jvmti/Makefile.in 2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/agents/jvmti/Makefile.in 2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/configure new/oprofile-1.3.0/configure
--- old/oprofile-1.2.0/configure        2017-07-24 20:31:09.000000000 +0200
+++ new/oprofile-1.3.0/configure        2018-07-16 21:39:39.000000000 +0200
@@ -1,6 +1,6 @@
 #! /bin/sh
 # Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for OProfile 1.2.0.
+# Generated by GNU Autoconf 2.69 for OProfile 1.3.0.
 #
 #
 # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
@@ -587,8 +587,8 @@
 # Identity of this package.
 PACKAGE_NAME='OProfile'
 PACKAGE_TARNAME='oprofile'
-PACKAGE_VERSION='1.2.0'
-PACKAGE_STRING='OProfile 1.2.0'
+PACKAGE_VERSION='1.3.0'
+PACKAGE_STRING='OProfile 1.3.0'
 PACKAGE_BUGREPORT=''
 PACKAGE_URL=''
 
@@ -1378,7 +1378,7 @@
   # 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 OProfile 1.2.0 to adapt to many kinds of systems.
+\`configure' configures OProfile 1.3.0 to adapt to many kinds of systems.
 
 Usage: $0 [OPTION]... [VAR=VALUE]...
 
@@ -1452,7 +1452,7 @@
 
 if test -n "$ac_init_help"; then
   case $ac_init_help in
-     short | recursive ) echo "Configuration of OProfile 1.2.0:";;
+     short | recursive ) echo "Configuration of OProfile 1.3.0:";;
    esac
   cat <<\_ACEOF
 
@@ -1598,7 +1598,7 @@
 test -n "$ac_init_help" && exit $ac_status
 if $ac_init_version; then
   cat <<\_ACEOF
-OProfile configure 1.2.0
+OProfile configure 1.3.0
 generated by GNU Autoconf 2.69
 
 Copyright (C) 2012 Free Software Foundation, Inc.
@@ -2197,7 +2197,7 @@
 This file contains any messages produced by compilers while
 running configure, to aid debugging if configure makes a mistake.
 
-It was created by OProfile $as_me 1.2.0, which was
+It was created by OProfile $as_me 1.3.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   $ $0 $@
@@ -3061,7 +3061,7 @@
 
 # Define the identity of the package.
  PACKAGE='oprofile'
- VERSION='1.2.0'
+ VERSION='1.3.0'
 
 
 cat >>confdefs.h <<_ACEOF
@@ -12493,7 +12493,15 @@
        fi
 fi
 
-DATE="`date '+%a %d %B %Y'`"
+dateopt=''
+if test -n "$SOURCE_DATE_EPOCH" ; then
+  if date --version | grep -q GNU ; then
+    dateopt="-u -d @$SOURCE_DATE_EPOCH"
+  else
+    dateopt="-u -r $SOURCE_DATE_EPOCH"
+  fi
+fi
+DATE="`date $dateopt '+%a %d %B %Y'`"
 
 
 # Since we should not permanently alter user environment variables, we'll
@@ -19799,7 +19807,7 @@
 OP_DOCDIR=`eval echo "${my_op_prefix}/share/doc/$PACKAGE/"`
 
 
-ac_config_files="$ac_config_files Makefile pe_counting/Makefile 
libpe_utils/Makefile pe_profiling/Makefile libperf_events/Makefile m4/Makefile 
libutil/Makefile libutil/tests/Makefile libutil++/Makefile 
libutil++/tests/Makefile libop/Makefile libop/tests/Makefile 
libopagent/Makefile libopt++/Makefile libdb/Makefile libdb/tests/Makefile 
libabi/Makefile libabi/tests/Makefile libregex/Makefile libregex/tests/Makefile 
libregex/stl.pat libregex/tests/mangled-name events/Makefile utils/Makefile 
doc/Makefile doc/xsl/catalog-1.xml doc/oprofile.1 doc/ophelp.1 
doc/op-check-perfevents.1 doc/opreport.1 doc/opannotate.1 doc/opgprof.1 
doc/oparchive.1 doc/opimport.1 doc/operf.1 doc/ocount.1 doc/srcdoc/Doxyfile 
libpp/Makefile opjitconv/Makefile pp/Makefile agents/Makefile 
agents/jvmti/Makefile agents/jvmpi/Makefile"
+ac_config_files="$ac_config_files Makefile pe_counting/Makefile 
libpe_utils/Makefile pe_profiling/Makefile libperf_events/Makefile m4/Makefile 
libutil/Makefile libutil/tests/Makefile libutil++/Makefile 
libutil++/tests/Makefile libop/Makefile libop/tests/Makefile 
libopagent/Makefile libopt++/Makefile libdb/Makefile libdb/tests/Makefile 
libabi/Makefile libabi/tests/Makefile libregex/Makefile libregex/tests/Makefile 
libregex/stl.pat libregex/tests/mangled-name events/Makefile utils/Makefile 
doc/Makefile doc/xsl/catalog-1.xml doc/oprofile.1 doc/ophelp.1 
doc/op-check-perfevents.1 doc/opreport.1 doc/opannotate.1 doc/opgprof.1 
doc/oparchive.1 doc/opimport.1 doc/operf.1 doc/ocount.1 doc/opjitconv.1 
doc/srcdoc/Doxyfile libpp/Makefile opjitconv/Makefile pp/Makefile 
agents/Makefile agents/jvmti/Makefile agents/jvmpi/Makefile"
 
 cat >confcache <<\_ACEOF
 # This file is a shell script that caches the results of configure
@@ -20359,7 +20367,7 @@
 # report actual input values of CONFIG_FILES etc. instead of their
 # values after options handling.
 ac_log="
-This file was extended by OProfile $as_me 1.2.0, which was
+This file was extended by OProfile $as_me 1.3.0, which was
 generated by GNU Autoconf 2.69.  Invocation command line was
 
   CONFIG_FILES    = $CONFIG_FILES
@@ -20425,7 +20433,7 @@
 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; 
s/[\\""\`\$]/\\\\&/g'`"
 ac_cs_version="\\
-OProfile config.status 1.2.0
+OProfile config.status 1.3.0
 configured by $0, generated by GNU Autoconf 2.69,
   with options \\"\$ac_cs_config\\"
 
@@ -20974,6 +20982,7 @@
     "doc/opimport.1") CONFIG_FILES="$CONFIG_FILES doc/opimport.1" ;;
     "doc/operf.1") CONFIG_FILES="$CONFIG_FILES doc/operf.1" ;;
     "doc/ocount.1") CONFIG_FILES="$CONFIG_FILES doc/ocount.1" ;;
+    "doc/opjitconv.1") CONFIG_FILES="$CONFIG_FILES doc/opjitconv.1" ;;
     "doc/srcdoc/Doxyfile") CONFIG_FILES="$CONFIG_FILES doc/srcdoc/Doxyfile" ;;
     "libpp/Makefile") CONFIG_FILES="$CONFIG_FILES libpp/Makefile" ;;
     "opjitconv/Makefile") CONFIG_FILES="$CONFIG_FILES opjitconv/Makefile" ;;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/configure.ac 
new/oprofile-1.3.0/configure.ac
--- old/oprofile-1.2.0/configure.ac     2017-07-24 20:30:26.000000000 +0200
+++ new/oprofile-1.3.0/configure.ac     2018-07-16 21:38:03.000000000 +0200
@@ -11,7 +11,7 @@
 
 AC_PREREQ(2.13)
 
-AC_INIT([OProfile], [1.2.0])
+AC_INIT([OProfile], [1.3.0])
 AC_CONFIG_SRCDIR([libop/op_config.h])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS(config.h)
@@ -21,8 +21,16 @@
 AC_PROG_LIBTOOL
 PKG_PROG_PKG_CONFIG
 
+dateopt=''
+if test -n "$SOURCE_DATE_EPOCH" ; then
+  if date --version | grep -q GNU ; then
+    dateopt="-u -d @$SOURCE_DATE_EPOCH"
+  else
+    dateopt="-u -r $SOURCE_DATE_EPOCH"
+  fi
+fi
 dnl for the man page
-DATE="`date '+%a %d %B %Y'`"
+DATE="`date $dateopt '+%a %d %B %Y'`"
 AC_SUBST(DATE)
 
 # Since we should not permanently alter user environment variables, we'll
@@ -425,6 +433,7 @@
        doc/opimport.1 \
        doc/operf.1 \
        doc/ocount.1 \
+       doc/opjitconv.1 \
        doc/srcdoc/Doxyfile \
        libpp/Makefile \
        opjitconv/Makefile \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/Makefile.am 
new/oprofile-1.3.0/doc/Makefile.am
--- old/oprofile-1.2.0/doc/Makefile.am  2015-10-02 23:23:12.000000000 +0200
+++ new/oprofile-1.3.0/doc/Makefile.am  2017-07-28 19:58:02.000000000 +0200
@@ -16,7 +16,8 @@
        ophelp.1 \
        op-check-perfevents.1 \
        oparchive.1 \
-       opimport.1
+       opimport.1 \
+       opjitconv.1
 
 if BUILD_FOR_PERF_EVENT
 man_MANS += operf.1 \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/Makefile.in 
new/oprofile-1.3.0/doc/Makefile.in
--- old/oprofile-1.2.0/doc/Makefile.in  2017-07-24 20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/doc/Makefile.in  2018-07-16 21:39:38.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -114,7 +114,7 @@
 CONFIG_HEADER = $(top_builddir)/config.h
 CONFIG_CLEAN_FILES = oprofile.1 ophelp.1 op-check-perfevents.1 \
        opreport.1 opannotate.1 opgprof.1 oparchive.1 opimport.1 \
-       operf.1 ocount.1
+       operf.1 ocount.1 opjitconv.1
 CONFIG_CLEAN_VPATH_FILES =
 AM_V_P = $(am__v_P_@AM_V@)
 am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
@@ -172,8 +172,8 @@
        $(srcdir)/op-check-perfevents.1.in $(srcdir)/opannotate.1.in \
        $(srcdir)/oparchive.1.in $(srcdir)/operf.1.in \
        $(srcdir)/opgprof.1.in $(srcdir)/ophelp.1.in \
-       $(srcdir)/opimport.1.in $(srcdir)/opreport.1.in \
-       $(srcdir)/oprofile.1.in
+       $(srcdir)/opimport.1.in $(srcdir)/opjitconv.1.in \
+       $(srcdir)/opreport.1.in $(srcdir)/oprofile.1.in
 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
 ACLOCAL = @ACLOCAL@
 AMTAR = @AMTAR@
@@ -333,7 +333,8 @@
 XML_CATALOG_FILES = xsl/catalog.xml
 STYLESHEETS = $(CHUNK_XHTML_STYLESHEET) $(srcdir)/xsl/xhtml-common.xsl
 man_MANS = oprofile.1 opreport.1 opannotate.1 opgprof.1 ophelp.1 \
-       op-check-perfevents.1 oparchive.1 opimport.1 $(am__append_1)
+       op-check-perfevents.1 oparchive.1 opimport.1 opjitconv.1 \
+       $(am__append_1)
 dist_html_DATA = oprofile.html internals.html opreport.xsd ophelp.xsd 
op-jit-devel.html
 EXTRA_DIST = \
        oprofile.1 \
@@ -401,6 +402,8 @@
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 ocount.1: $(top_builddir)/config.status $(srcdir)/ocount.1.in
        cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
+opjitconv.1: $(top_builddir)/config.status $(srcdir)/opjitconv.1.in
+       cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
 
 mostlyclean-libtool:
        -rm -f *.lo
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/operf.1.in 
new/oprofile-1.3.0/doc/operf.1.in
--- old/oprofile-1.2.0/doc/operf.1.in   2015-10-02 23:23:12.000000000 +0200
+++ new/oprofile-1.3.0/doc/operf.1.in   2017-07-28 19:52:57.000000000 +0200
@@ -168,7 +168,7 @@
 will automatically choose an appropriate group number suffix
 for the event; thus, OProfile post-processing tools will always show real event
 names that include the group number suffix.
-.Po
+.P
 When no event specification is given, the default event for the running
 processor type will be used for profiling.
 Use
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/ophelp.xsd 
new/oprofile-1.3.0/doc/ophelp.xsd
--- old/oprofile-1.2.0/doc/ophelp.xsd   2015-06-05 22:39:34.000000000 +0200
+++ new/oprofile-1.3.0/doc/ophelp.xsd   2018-06-20 20:56:37.000000000 +0200
@@ -34,6 +34,7 @@
       <xs:attribute name="counter_mask" type="xs:nonNegativeInteger" 
use="required"/>
       <xs:attribute name="min_count" type="xs:nonNegativeInteger" 
use="required"/>
       <xs:attribute name="desc" type="xs:string" use="required"/>
+      <xs:attribute name="ext" type="xs:string" use="optional"/>
     </xs:complexType>
   </xs:element>
   
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/opjitconv.1.in 
new/oprofile-1.3.0/doc/opjitconv.1.in
--- old/oprofile-1.2.0/doc/opjitconv.1.in       1970-01-01 01:00:00.000000000 
+0100
+++ new/oprofile-1.3.0/doc/opjitconv.1.in       2017-07-28 19:58:02.000000000 
+0200
@@ -0,0 +1,41 @@
+.TH OPJITCONV 1 "@DATE@" "oprofile @VERSION@"
+.SH NAME
+opjitconv \- convert jit dump file to an ELF
+
+.SH SYNOPSIS
+.B opjitconv
+[
+.I options
+]
+[ [--debug | --non-root | --delete-jitdumps ] --session-dir=<dir> <starttime> 
<endtime> ]
+
+.SH DESCRIPTION
+Convert a jit dump file to an ELF file
+
+.SH OPTIONS
+.TP
+.BI "--debug"
+Print debugging information.
+.br
+.TP
+.BI "--non-root"
+Use when opjitconv was invoked by a non-root user via operf.
+.br
+.TP
+.BI "--delete-jitdumps"
+Delete jitdump files owned by the user.
+.br
+.TP
+.BI "--session-dir [dir]"
+Session directory where sample data is stored.
+.br
+.TP
+.BI "--help / -h"
+Display brief usage message.
+.br
+
+.SH VERSION
+This man page is current for @PACKAGE@-@VERSION@.
+
+.SH SEE ALSO
+.BR oprofile(1)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/doc/oprofile.1 
new/oprofile-1.3.0/doc/oprofile.1
--- old/oprofile-1.2.0/doc/oprofile.1   2017-07-24 20:31:17.000000000 +0200
+++ new/oprofile-1.3.0/doc/oprofile.1   2018-07-16 21:50:43.000000000 +0200
@@ -1,4 +1,4 @@
-.TH OPROFILE 1 "Mon 24 July 2017" "oprofile 1.2.0"
+.TH OPROFILE 1 "Mon 16 July 2018" "oprofile 1.3.0"
 .UC 4
 .SH NAME
 oprofile \- a statistical profiler for Linux systems, capable of profiling all 
running code
@@ -178,7 +178,7 @@
 
 .SH VERSION
 .TP
-This man page is current for oprofile-1.2.0.
+This man page is current for oprofile-1.3.0.
 
 .SH SEE ALSO
 .BR /usr/local/share/doc/oprofile/,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/events/Makefile.am 
new/oprofile-1.3.0/events/Makefile.am
--- old/oprofile-1.2.0/events/Makefile.am       2017-06-28 20:40:22.000000000 
+0200
+++ new/oprofile-1.3.0/events/Makefile.am       2018-01-18 17:46:48.000000000 
+0100
@@ -21,6 +21,7 @@
        i386/skylake/events i386/skylake/unit_masks \
        i386/silvermont/events i386/silvermont/unit_masks \
        i386/goldmont/events i386/goldmont/unit_masks \
+       i386/goldmontplus/events i386/goldmontplus/unit_masks \
        i386/knightslanding/events i386/knightslanding/unit_masks \
        ppc64/architected_events_v1/events 
ppc64/architected_events_v1/unit_masks \
        ppc64/power4/events ppc64/power4/event_mappings ppc64/power4/unit_masks 
\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/events/Makefile.in 
new/oprofile-1.3.0/events/Makefile.in
--- old/oprofile-1.2.0/events/Makefile.in       2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/events/Makefile.in       2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
@@ -305,6 +305,7 @@
        i386/skylake/events i386/skylake/unit_masks \
        i386/silvermont/events i386/silvermont/unit_masks \
        i386/goldmont/events i386/goldmont/unit_masks \
+       i386/goldmontplus/events i386/goldmontplus/unit_masks \
        i386/knightslanding/events i386/knightslanding/unit_masks \
        ppc64/architected_events_v1/events 
ppc64/architected_events_v1/unit_masks \
        ppc64/power4/events ppc64/power4/event_mappings ppc64/power4/unit_masks 
\
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/events/i386/goldmontplus/events 
new/oprofile-1.3.0/events/i386/goldmontplus/events
--- old/oprofile-1.2.0/events/i386/goldmontplus/events  1970-01-01 
01:00:00.000000000 +0100
+++ new/oprofile-1.3.0/events/i386/goldmontplus/events  2018-01-18 
17:46:48.000000000 +0100
@@ -0,0 +1,38 @@
+#
+# Intel "Goldmont Plus" microarchitecture core events.
+#
+# See http://ark.intel.com/ for help in identifying Goldmont based CPUs
+#
+# Note the minimum counts are not discovered experimentally and could be likely
+# lowered in many cases without ill effect.
+#
+event:0x3c counters:cpuid um:cpu_clk_unhalted minimum:2000003 
name:cpu_clk_unhalted :
+event:0x03 counters:cpuid um:ld_blocks minimum:200003 name:ld_blocks :
+event:0x08 counters:cpuid um:dtlb_load_misses minimum:200003 
name:dtlb_load_misses :
+event:0x0e counters:cpuid um:uops_issued minimum:200003 name:uops_issued_any :
+event:0x13 counters:cpuid um:misalign_mem_ref minimum:200003 
name:misalign_mem_ref :
+event:0x2e counters:cpuid um:longest_lat_cache minimum:200003 
name:longest_lat_cache :
+event:0x30 counters:cpuid um:l2_reject_xq minimum:200003 name:l2_reject_xq_all 
:
+event:0x31 counters:cpuid um:core_reject_l2q minimum:200003 
name:core_reject_l2q_all :
+event:0x49 counters:cpuid um:dtlb_store_misses minimum:2000003 
name:dtlb_store_misses :
+event:0x4f counters:cpuid um:ept minimum:200003 name:ept :
+event:0x51 counters:cpuid um:dl1 minimum:200003 name:dl1_dirty_eviction :
+event:0x80 counters:cpuid um:icache minimum:200003 name:icache :
+event:0x81 counters:cpuid um:itlb minimum:200003 name:itlb_miss :
+event:0x85 counters:cpuid um:itlb_misses minimum:2000003 name:itlb_misses :
+event:0x86 counters:cpuid um:fetch_stall minimum:200003 
name:fetch_stall_icache_fill_pending_cycles :
+event:0x9c counters:cpuid um:uops_not_delivered minimum:200003 
name:uops_not_delivered_any :
+event:0xbd counters:cpuid um:tlb_flushes minimum:20003 name:tlb_flushes :
+event:0xc0 counters:cpuid um:inst_retired minimum:2000003 name:inst_retired :
+event:0xc2 counters:cpuid um:uops_retired minimum:2000003 name:uops_retired :
+event:0xc3 counters:cpuid um:machine_clears minimum:200003 name:machine_clears 
:
+event:0xc4 counters:cpuid um:br_inst_retired minimum:200003 
name:br_inst_retired :
+event:0xc5 counters:cpuid um:br_misp_retired minimum:200003 
name:br_misp_retired :
+event:0xca counters:cpuid um:issue_slots_not_consumed minimum:200003 
name:issue_slots_not_consumed :
+event:0xcb counters:cpuid um:hw_interrupts minimum:200003 name:hw_interrupts :
+event:0xcd counters:cpuid um:cycles_div_busy minimum:2000003 
name:cycles_div_busy :
+event:0xd0 counters:cpuid um:mem_uops_retired minimum:200003 
name:mem_uops_retired :
+event:0xd1 counters:cpuid um:mem_load_uops_retired minimum:200003 
name:mem_load_uops_retired :
+event:0xe6 counters:cpuid um:baclears minimum:200003 name:baclears :
+event:0xe7 counters:cpuid um:ms_decoded minimum:200003 
name:ms_decoded_ms_entry :
+event:0xe9 counters:cpuid um:decode_restriction minimum:200003 
name:decode_restriction_predecode_wrong :
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/events/i386/goldmontplus/unit_masks 
new/oprofile-1.3.0/events/i386/goldmontplus/unit_masks
--- old/oprofile-1.2.0/events/i386/goldmontplus/unit_masks      1970-01-01 
01:00:00.000000000 +0100
+++ new/oprofile-1.3.0/events/i386/goldmontplus/unit_masks      2018-01-18 
17:46:48.000000000 +0100
@@ -0,0 +1,173 @@
+#
+# Unit masks for the Intel "Goldmont Plus" micro architecture
+#
+# See http://ark.intel.com/ for help in identifying Goldmont based CPUs
+#
+name:core_reject_l2q type:mandatory default:0x0
+       0x0 extra: all Counts the number of demand and L1 prefetcher requests 
rejected by the L2Q due to a full or nearly full condition which likely 
indicates back pressure from L2Q. It also counts requests that would have gone 
directly to the XQ, but are rejected due to a full or nearly full condition, 
indicating back pressure from the IDI link. The L2Q may also reject 
transactions from a core to insure fairness between cores, or to delay a core's 
dirty eviction when the address conflicts with incoming external snoops.
+name:decode_restriction type:mandatory default:0x1
+       0x1 extra: predecode_wrong Counts the number of times the prediction 
(from the predecode cache) for instruction length is incorrect.
+name:dl1 type:mandatory default:0x1
+       0x1 extra: dirty_eviction Counts when a modified (dirty) cache line is 
evicted from the data L1 cache and needs to be written back to memory.  No 
count will occur if the evicted line is clean, and hence does not require a 
writeback.
+name:fetch_stall type:mandatory default:0x2
+       0x2 extra: icache_fill_pending_cycles Counts cycles that an ICache miss 
is outstanding, and instruction fetch is stalled.  That is, the decoder queue 
is able to accept bytes, but the fetch unit is unable to provide bytes, while 
an Icache miss outstanding.  Note this event is not the same as cycles to 
retrieve an instruction due to an Icache miss.  Rather, it is the part of the 
Instruction Cache (ICache) miss time where no bytes are available for the 
decoder.
+name:itlb type:mandatory default:0x4
+       0x4 extra: miss Counts the number of times the machine was unable to 
find a translation in the Instruction Translation Lookaside Buffer (ITLB) for a 
linear address of an instruction fetch.  It counts when new translation are 
filled into the ITLB.  The event is speculative in nature, but will not count 
translations (page walks) that are begun and not finished, or translations that 
are finished but not filled into the ITLB.
+name:l2_reject_xq type:mandatory default:0x0
+       0x0 extra: all Counts the number of demand and prefetch transactions 
that the L2 XQ rejects due to a full or near full condition which likely 
indicates back pressure from the intra-die interconnect (IDI) fabric. The XQ 
may reject transactions from the L2Q (non-cacheable requests), L2 misses and L2 
write-back victims.
+name:ms_decoded type:mandatory default:0x1
+       0x1 extra: ms_entry Counts the number of times the Microcode Sequencer 
(MS) starts a flow of uops from the MSROM. It does not count every time a uop 
is read from the MSROM.  The most common case that this counts is when a 
micro-coded instruction is encountered by the front end of the machine.  Other 
cases include when an instruction encounters a fault, trap, or microcode assist 
of any sort that initiates a flow of uops.  The event will count MS startups 
for uops that are speculative, and subsequently cleared by branch mispredict or 
a machine clear.
+name:uops_issued type:mandatory default:0x0
+       0x0 extra: any Counts uops issued by the front end and allocated into 
the back end of the machine.  This event counts uops that retire as well as 
uops that were speculatively executed but didn't retire. The sort of 
speculative uops that might be counted includes, but is not limited to those 
uops issued in the shadow of a miss-predicted branch, those uops that are 
inserted during an assist (such as for a denormal floating point result), and 
(previously allocated) uops that might be canceled during a machine clear.
+name:uops_not_delivered type:mandatory default:0x0
+       0x0 extra: any This event used to measure front-end inefficiencies. 
I.e. when front-end of the machine is not delivering uops to the back-end and 
the back-end has is not stalled. This event can be used to identify if the 
machine is truly front-end bound.  When this event occurs, it is an indication 
that the front-end of the machine is operating at less than its theoretical 
peak performance. Background: We can think of the processor pipeline as being 
divided into 2 broader parts: Front-end and Back-end. Front-end is responsible 
for fetching the instruction, decoding into uops in machine understandable 
format and putting them into a uop queue to be consumed by back end. The 
back-end then takes these uops, allocates the required resources.  When all 
resources are ready, uops are executed. If the back-end is not ready to accept 
uops from the front-end, then we do not want to count these as front-end 
bottlenecks.  However, whenever we have bottlenecks in the back-end, we will 
have allocation unit stalls and eventually forcing the front-end to wait until 
the back-end is ready to receive more uops. This event counts only when 
back-end is requesting more uops and front-end is not able to provide them. 
When 3 uops are requested and no uops are delivered, the event counts 3. When 3 
are requested, and only 1 is delivered, the event counts 2. When only 2 are 
delivered, the event counts 1. Alternatively stated, the event will not count 
if 3 uops are delivered, or if the back end is stalled and not requesting any 
uops at all.  Counts indicate missed opportunities for the front-end to deliver 
a uop to the back end. Some examples of conditions that cause front-end 
efficiencies are: ICache misses, ITLB misses, and decoder restrictions that 
limit the front-end bandwidth. Known Issues: Some uops require multiple 
allocation slots.  These uops will not be charged as a front end 'not 
delivered' opportunity, and will be regarded as a back end problem. For 
example, the INC instruction has one uop that requires 2 issue slots.  A stream 
of INC instructions will not count as UOPS_NOT_DELIVERED, even though only one 
instruction can be issued per clock.  The low uop issue rate for a stream of 
INC instructions is considered to be a back end issue.
+name:cpu_clk_unhalted type:exclusive default:core_p
+       0x0 extra: core_p Core cycles when core is not halted.  This event uses 
a (_P)rogrammable general purpose performance counter.
+       0x1 extra: ref Reference cycles when core is not halted.  This event 
uses a (_P)rogrammable general purpose performance counter.
+name:ld_blocks type:exclusive default:all_block
+       0x10 extra: all_block Counts anytime a load that retires is blocked for 
any reason.
+       0x10 extra:pebs all_block_pebs Counts anytime a load that retires is 
blocked for any reason.
+       0x8 extra: utlb_miss Counts loads blocked because they are unable to 
find their physical address in the micro TLB (UTLB).
+       0x8 extra:pebs utlb_miss_pebs Counts loads blocked because they are 
unable to find their physical address in the micro TLB (UTLB).
+       0x2 extra: store_forward Counts a load blocked from using a store 
forward because of an address/size mismatch, only one of the loads blocked from 
each store will be counted.
+       0x2 extra:pebs store_forward_pebs Counts a load blocked from using a 
store forward because of an address/size mismatch, only one of the loads 
blocked from each store will be counted.
+       0x1 extra: data_unknown Counts a load blocked from using a store 
forward, but did not occur because the store data was not available at the 
right time.  The forward might occur subsequently when the data is available.
+       0x1 extra:pebs data_unknown_pebs Counts a load blocked from using a 
store forward, but did not occur because the store data was not available at 
the right time.  The forward might occur subsequently when the data is 
available.
+       0x4 extra: u4k_alias Counts loads that block because their address 
modulo 4K matches a pending store.
+       0x4 extra:pebs u4k_alias_pebs Counts loads that block because their 
address modulo 4K matches a pending store.
+name:dtlb_load_misses type:exclusive default:walk_pending
+       0x2 extra: walk_completed_4k Counts page walks completed due to demand 
data loads (including SW prefetches) whose address translations missed in all 
TLB levels and were mapped to 4K pages.  The page walks can end with or without 
a page fault.
+       0x4 extra: walk_completed_2m_4m Counts page walks completed due to 
demand data loads (including SW prefetches) whose address translations missed 
in all TLB levels and were mapped to 2M or 4M pages.  The page walks can end 
with or without a page fault.
+       0x8 extra: walk_completed_1gb Counts page walks completed due to demand 
data loads (including SW prefetches) whose address translations missed in all 
TLB levels and were mapped to 1GB pages.  The page walks can end with or 
without a page fault.
+       0x10 extra: walk_pending Counts once per cycle for each page walk 
occurring due to a load (demand data loads or SW prefetches). Includes cycles 
spent traversing the Extended Page Table (EPT). Average cycles per walk can be 
calculated by dividing by the number of walks.
+name:dtlb_store_misses type:exclusive default:walk_pending
+       0x2 extra: walk_completed_4k Counts page walks completed due to demand 
data stores whose address translations missed in the TLB and were mapped to 4K 
pages.  The page walks can end with or without a page fault.
+       0x4 extra: walk_completed_2m_4m Counts page walks completed due to 
demand data stores whose address translations missed in the TLB and were mapped 
to 2M or 4M pages.  The page walks can end with or without a page fault.
+       0x8 extra: walk_completed_1gb Counts page walks completed due to demand 
data stores whose address translations missed in the TLB and were mapped to 1GB 
pages.  The page walks can end with or without a page fault.
+       0x10 extra: walk_pending Counts once per cycle for each page walk 
occurring due to a demand data store. Includes cycles spent traversing the 
Extended Page Table (EPT). Average cycles per walk can be calculated by 
dividing by the number of walks.
+name:ept type:exclusive default:walk_pending
+       0x10 extra: walk_pending Counts once per cycle for each page walk only 
while traversing the Extended Page Table (EPT), and does not count during the 
rest of the translation.  The EPT is used for translating Guest-Physical 
Addresses to Physical Addresses for Virtual Machine Monitors (VMMs).  Average 
cycles per walk can be calculated by dividing the count by number of walks.
+name:itlb_misses type:exclusive default:walk_pending
+       0x2 extra: walk_completed_4k Counts page walks completed due to 
instruction fetches whose address translations missed in the TLB and were 
mapped to 4K pages.  The page walks can end with or without a page fault.
+       0x4 extra: walk_completed_2m_4m Counts page walks completed due to 
instruction fetches whose address translations missed in the TLB and were 
mapped to 2M or 4M pages.  The page walks can end with or without a page fault.
+       0x8 extra: walk_completed_1gb Counts page walks completed due to 
instruction fetches whose address translations missed in the TLB and were 
mapped to 1GB pages.  The page walks can end with or without a page fault.
+       0x10 extra: walk_pending Counts once per cycle for each page walk 
occurring due to an instruction fetch. Includes cycles spent traversing the 
Extended Page Table (EPT). Average cycles per walk can be calculated by 
dividing by the number of walks.
+name:tlb_flushes type:exclusive default:stlb_any
+       0x20 extra: stlb_any Counts STLB flushes.  The TLBs are flushed on 
instructions like INVLPG and MOV to CR3.
+name:misalign_mem_ref type:exclusive default:load_page_split
+       0x2 extra: load_page_split Counts when a memory load of a uop spans a 
page boundary (a split) is retired.
+       0x2 extra:pebs load_page_split_pebs Counts when a memory load of a uop 
spans a page boundary (a split) is retired.
+       0x4 extra: store_page_split Counts when a memory store of a uop spans a 
page boundary (a split) is retired.
+       0x4 extra:pebs store_page_split_pebs Counts when a memory store of a 
uop spans a page boundary (a split) is retired.
+name:longest_lat_cache type:exclusive default:0x4f
+       0x4f extra: reference Counts memory requests originating from the core 
that reference a cache line in the L2 cache.
+       0x41 extra: miss Counts memory requests originating from the core that 
miss in the L2 cache.
+name:icache type:exclusive default:0x1
+       0x1 extra: hit Counts requests to the Instruction Cache (ICache) for 
one or more bytes in an ICache Line and that cache line is in the ICache (hit). 
 The event strives to count on a cache line basis, so that multiple accesses 
which hit in a single cache line count as one ICACHE.HIT.  Specifically, the 
event counts when straight line code crosses the cache line boundary, or when a 
branch target is to a new line, and that cache line is in the ICache. This 
event counts differently than Intel processors based on Silvermont 
microarchitecture.
+       0x2 extra: misses Counts requests to the Instruction Cache (ICache)  
for one or more bytes in an ICache Line and that cache line is not in the 
ICache (miss).  The event strives to count on a cache line basis, so that 
multiple accesses which miss in a single cache line count as one ICACHE.MISS.  
Specifically, the event counts when straight line code crosses the cache line 
boundary, or when a branch target is to a new line, and that cache line is not 
in the ICache. This event counts differently than Intel processors based on 
Silvermont microarchitecture.
+       0x3 extra: accesses Counts requests to the Instruction Cache (ICache) 
for one or more bytes in an ICache Line.  The event strives to count on a cache 
line basis, so that multiple fetches to a single cache line count as one 
ICACHE.ACCESS.  Specifically, the event counts when accesses from straight line 
code crosses the cache line boundary, or when a branch target is to a new line. 
 This event counts differently than Intel processors based on Silvermont 
microarchitecture.
+name:inst_retired type:exclusive default:any
+       0x0 extra: any Counts the number of instructions that retire execution. 
For instructions that consist of multiple uops, this event counts the 
retirement of the last uop of the instruction. The counter continues counting 
during hardware interrupts, traps, and inside interrupt handlers.  This event 
uses fixed counter 0.  You cannot collect a PEBs record for this event.
+       0x0 extra: any_p Counts the number of instructions that retire 
execution. For instructions that consist of multiple uops, this event counts 
the retirement of the last uop of the instruction. The event continues counting 
during hardware interrupts, traps, and inside interrupt handlers.  This is an 
architectural performance event.  This event uses a (_P)rogrammable general 
purpose performance counter. *This event is Precise Event capable:  The 
EventingRIP field in the PEBS record is precise to the address of the 
instruction which caused the event.  Note: Because PEBS records can be 
collected only on IA32_PMC0, only one event can use the PEBS facility at a time.
+       0x0 extra:pebs any_p_pebs Counts the number of instructions that retire 
execution. For instructions that consist of multiple uops, this event counts 
the retirement of the last uop of the instruction. The event continues counting 
during hardware interrupts, traps, and inside interrupt handlers.  This is an 
architectural performance event.  This event uses a (_P)rogrammable general 
purpose performance counter. *This event is Precise Event capable:  The 
EventingRIP field in the PEBS record is precise to the address of the 
instruction which caused the event.  Note: Because PEBS records can be 
collected only on IA32_PMC0, only one event can use the PEBS facility at a time.
+name:uops_retired type:exclusive default:any
+       0x0 extra: any Counts uops which retired
+       0x0 extra:pebs any_pebs Counts uops which retired
+       0x1 extra: ms Counts uops retired that are from the complex flows 
issued by the micro-sequencer (MS).  Counts both the uops from a micro-coded 
instruction, and the uops that might be generated from a micro-coded assist.
+       0x1 extra:pebs ms_pebs Counts uops retired that are from the complex 
flows issued by the micro-sequencer (MS).  Counts both the uops from a 
micro-coded instruction, and the uops that might be generated from a 
micro-coded assist.
+       0x8 extra: fpdiv Counts the number of floating point divide uops 
retired.
+       0x8 extra:pebs fpdiv_pebs Counts the number of floating point divide 
uops retired.
+       0x10 extra: idiv Counts the number of integer divide uops retired.
+       0x10 extra:pebs idiv_pebs Counts the number of integer divide uops 
retired.
+name:machine_clears type:exclusive default:all
+       0x0 extra: all Counts machine clears for any reason
+       0x1 extra: smc Counts the number of times that the processor detects 
that a program is writing to a code section and has to perform a machine clear 
because of that modification.  Self-modifying code (SMC) causes a severe 
penalty in all Intel architecture processors.
+       0x2 extra: memory_ordering Counts machine clears due to memory ordering 
issues.  This occurs when a snoop request happens and the machine is uncertain 
if memory ordering will be preserved - as another core is in the process of 
modifying the data.
+       0x4 extra: fp_assist Counts machine clears due to floating point (FP) 
operations needing assists.  For instance, if the result was a floating point 
denormal, the hardware clears the pipeline and reissues uops to produce the 
correct IEEE compliant denormal result.
+       0x8 extra: disambiguation Counts machine clears due to memory 
disambiguation.  Memory disambiguation happens when a load which has been 
issued conflicts with a previous unretired store in the pipeline whose address 
was not known at issue time, but is later resolved to be the same as the load 
address.
+       0x20 extra: page_fault Counts the number of times that the machines 
clears due to a page fault. Covers both I-side and D-side(Loads/Stores) page 
faults. A page fault occurs when either page is not present, or an access 
violation.
+name:br_inst_retired type:exclusive default:all_branches
+       0x0 extra: all_branches Counts branch instructions retired for all 
branch types.  This is an architectural performance event.
+       0x0 extra:pebs all_branches_pebs Counts branch instructions retired for 
all branch types.  This is an architectural performance event.
+       0x7e extra: jcc Counts retired Jcc (Jump on Conditional Code/Jump if 
Condition is Met) branch instructions retired, including both when the branch 
was taken and when it was not taken.
+       0x7e extra:pebs jcc_pebs Counts retired Jcc (Jump on Conditional 
Code/Jump if Condition is Met) branch instructions retired, including both when 
the branch was taken and when it was not taken.
+       0x80 extra: all_taken_branches Counts the number of taken branch 
instructions retired.
+       0x80 extra:pebs all_taken_branches_pebs Counts the number of taken 
branch instructions retired.
+       0xfe extra: taken_jcc Counts Jcc (Jump on Conditional Code/Jump if 
Condition is Met) branch instructions retired that were taken and does not 
count when the Jcc branch instruction were not taken.
+       0xfe extra:pebs taken_jcc_pebs Counts Jcc (Jump on Conditional 
Code/Jump if Condition is Met) branch instructions retired that were taken and 
does not count when the Jcc branch instruction were not taken.
+       0xf9 extra: call Counts near CALL branch instructions retired.
+       0xf9 extra:pebs call_pebs Counts near CALL branch instructions retired.
+       0xfd extra: rel_call Counts near relative CALL branch instructions 
retired.
+       0xfd extra:pebs rel_call_pebs Counts near relative CALL branch 
instructions retired.
+       0xfb extra: ind_call Counts near indirect CALL branch instructions 
retired.
+       0xfb extra:pebs ind_call_pebs Counts near indirect CALL branch 
instructions retired.
+       0xf7 extra: return Counts near return branch instructions retired.
+       0xf7 extra:pebs return_pebs Counts near return branch instructions 
retired.
+       0xeb extra: non_return_ind Counts near indirect call or near indirect 
jmp branch instructions retired.
+       0xeb extra:pebs non_return_ind_pebs Counts near indirect call or near 
indirect jmp branch instructions retired.
+       0xbf extra: far_branch Counts far branch instructions retired.  This 
includes far jump, far call and return, and Interrupt call and return.
+       0xbf extra:pebs far_branch_pebs Counts far branch instructions retired. 
 This includes far jump, far call and return, and Interrupt call and return.
+name:br_misp_retired type:exclusive default:all_branches
+       0x0 extra: all_branches Counts mispredicted branch instructions retired 
including all branch types.
+       0x0 extra:pebs all_branches_pebs Counts mispredicted branch 
instructions retired including all branch types.
+       0x7e extra: jcc Counts mispredicted retired Jcc (Jump on Conditional 
Code/Jump if Condition is Met) branch instructions retired, including both when 
the branch was supposed to be taken and when it was not supposed to be taken 
(but the processor predicted the opposite condition).
+       0x7e extra:pebs jcc_pebs Counts mispredicted retired Jcc (Jump on 
Conditional Code/Jump if Condition is Met) branch instructions retired, 
including both when the branch was supposed to be taken and when it was not 
supposed to be taken (but the processor predicted the opposite condition).
+       0xfe extra: taken_jcc Counts mispredicted retired Jcc (Jump on 
Conditional Code/Jump if Condition is Met) branch instructions retired that 
were supposed to be taken but the processor predicted that it would not be 
taken.
+       0xfe extra:pebs taken_jcc_pebs Counts mispredicted retired Jcc (Jump on 
Conditional Code/Jump if Condition is Met) branch instructions retired that 
were supposed to be taken but the processor predicted that it would not be 
taken.
+       0xfb extra: ind_call Counts mispredicted near indirect CALL branch 
instructions retired, where the target address taken was not what the processor 
predicted.
+       0xfb extra:pebs ind_call_pebs counts mispredicted near indirect CALL 
branch instructions retired, where the target address taken was not what the 
processor predicted.
+       0xf7 extra: return Counts mispredicted near RET branch instructions 
retired, where the return address taken was not what the processor predicted.
+       0xf7 extra:pebs return_pebs Counts mispredicted near RET branch 
instructions retired, where the return address taken was not what the processor 
predicted.
+       0xeb extra: non_return_ind Counts mispredicted branch instructions 
retired that were near indirect call or near indirect jmp, where the target 
address taken was not what the processor predicted.
+       0xeb extra:pebs non_return_ind_pebs Counts mispredicted branch 
instructions retired that were near indirect call or near indirect jmp, where 
the target address taken was not what the processor predicted.
+name:issue_slots_not_consumed type:exclusive default:0x0
+       0x0 extra: any Counts the number of issue slots per core cycle that 
were not consumed by the backend due to either a full resource  in the backend 
(RESOURCE_FULL) or due to the processor recovering from some event (RECOVERY)
+       0x1 extra: resource_full Counts the number of issue slots per core 
cycle that were not consumed because of a full resource in the backend.  
Including but not limited to resources such as the Re-order Buffer (ROB), 
reservation stations (RS), load/store buffers, physical registers, or any other 
needed machine resource that is currently unavailable.   Note that uops must be 
available for consumption in order for this event to fire.  If a uop is not 
available (Instruction Queue is empty), this event will not count.
+       0x2 extra: recovery Counts the number of issue slots per core cycle 
that were not consumed by the backend because allocation is stalled waiting for 
a mispredicted jump to retire or other branch-like conditions (e.g. the event 
is relevant during certain microcode flows).   Counts all issue slots blocked 
while within this window including slots where uops were not available in the 
Instruction Queue.
+name:hw_interrupts type:exclusive default:0x1
+       0x1 extra: received Counts hardware interrupts received by the 
processor.
+       0x4 extra: pending_and_masked Counts core cycles during which there are 
pending interrupts, but interrupts are masked (EFLAGS.IF = 0).
+name:cycles_div_busy type:exclusive default:0x0
+       0x0 extra: all Counts core cycles if either divide unit is busy.
+       0x1 extra: idiv Counts core cycles the integer divide unit is busy.
+       0x2 extra: fpdiv Counts core cycles the floating point divide unit is 
busy.
+name:mem_uops_retired type:exclusive default:all
+       0x83 extra: all Counts the number of memory uops retired that is either 
a loads or a store or both.
+       0x81 extra: all_loads Counts the number of load uops retired
+       0x81 extra:pebs all_loads_pebs Counts the number of load uops retired
+       0x82 extra: all_stores Counts the number of store uops retired.
+       0x82 extra:pebs all_stores_pebs Counts the number of store uops retired.
+       0x83 extra:pebs all_pebs Counts the number of memory uops retired that 
is either a loads or a store or both.
+       0x11 extra: dtlb_miss_loads Counts load uops retired that caused a DTLB 
miss.
+       0x11 extra:pebs dtlb_miss_loads_pebs Counts load uops retired that 
caused a DTLB miss.
+       0x12 extra: dtlb_miss_stores Counts store uops retired that caused a 
DTLB miss.
+       0x12 extra:pebs dtlb_miss_stores_pebs Counts store uops retired that 
caused a DTLB miss.
+       0x13 extra: dtlb_miss Counts uops retired that had a DTLB miss on load, 
store or either.  Note that when two distinct memory operations to the same 
page miss the DTLB, only one of them will be recorded as a DTLB miss.
+       0x13 extra:pebs dtlb_miss_pebs Counts uops retired that had a DTLB miss 
on load, store or either.  Note that when two distinct memory operations to the 
same page miss the DTLB, only one of them will be recorded as a DTLB miss.
+       0x21 extra: lock_loads Counts locked memory uops retired.  This 
includes "regular" locks and bus locks. (To specifically count bus locks only, 
see the Offcore response event.)  A locked access is one with a lock prefix, or 
an exchange to memory.  See the SDM for a complete description of which memory 
load accesses are locks.
+       0x21 extra:pebs lock_loads_pebs Counts locked memory uops retired.  
This includes "regular" locks and bus locks. (To specifically count bus locks 
only, see the Offcore response event.)  A locked access is one with a lock 
prefix, or an exchange to memory.  See the SDM for a complete description of 
which memory load accesses are locks.
+       0x41 extra: split_loads Counts load uops retired where the data 
requested spans a 64 byte cache line boundary.
+       0x41 extra:pebs split_loads_pebs Counts load uops retired where the 
data requested spans a 64 byte cache line boundary.
+       0x42 extra: split_stores Counts store uops retired where the data 
requested spans a 64 byte cache line boundary.
+       0x42 extra:pebs split_stores_pebs Counts store uops retired where the 
data requested spans a 64 byte cache line boundary.
+       0x43 extra: split Counts memory uops retired where the data requested 
spans a 64 byte cache line boundary.
+       0x43 extra:pebs split_pebs Counts memory uops retired where the data 
requested spans a 64 byte cache line boundary.
+name:mem_load_uops_retired type:exclusive default:l1_hit
+       0x1 extra: l1_hit Counts load uops retired that hit the L1 data cache.
+       0x1 extra:pebs l1_hit_pebs Counts load uops retired that hit the L1 
data cache.
+       0x8 extra: l1_miss Counts load uops retired that miss the L1 data cache.
+       0x8 extra:pebs l1_miss_pebs Counts load uops retired that miss the L1 
data cache.
+       0x2 extra: l2_hit Counts load uops retired that hit in the L2 cache.
+       0x2 extra:pebs l2_hit_pebs Counts load uops retired that hit in the L2 
cache.
+       0x10 extra: l2_miss Counts load uops retired that miss in the L2 cache.
+       0x10 extra:pebs l2_miss_pebs Counts load uops retired that miss in the 
L2 cache.
+       0x20 extra: hitm Counts load uops retired where the cache line 
containing the data was in the modified state of another core or modules cache 
(HITM).  More specifically, this means that when the load address was checked 
by other caching agents (typically another processor) in the system, one of 
those caching agents indicated that they had a dirty copy of the data.  Loads 
that obtain a HITM response incur greater latency than most is typical for a 
load.  In addition, since HITM indicates that some other processor had this 
data in its cache, it implies that the data was shared between processors, or 
potentially was a lock or semaphore value.  This event is useful for locating 
sharing, false sharing, and contended locks.
+       0x20 extra:pebs hitm_pebs Counts load uops retired where the cache line 
containing the data was in the modified state of another core or modules cache 
(HITM).  More specifically, this means that when the load address was checked 
by other caching agents (typically another processor) in the system, one of 
those caching agents indicated that they had a dirty copy of the data.  Loads 
that obtain a HITM response incur greater latency than most is typical for a 
load.  In addition, since HITM indicates that some other processor had this 
data in its cache, it implies that the data was shared between processors, or 
potentially was a lock or semaphore value.  This event is useful for locating 
sharing, false sharing, and contended locks.
+       0x40 extra: wcb_hit Counts memory load uops retired where the data is 
retrieved from the WCB (or fill buffer), indicating that the load found its 
data while that data was in the process of being brought into the L1 cache.  
Typically a load will receive this indication when some other load or prefetch 
missed the L1 cache and was in the process of retrieving the cache line 
containing the data, but that process had not yet finished (and written the 
data back to the cache). For example, consider load X and Y, both referencing 
the same cache line that is not in the L1 cache.  If load X misses cache first, 
it obtains and WCB (or fill buffer) and begins the process of requesting the 
data.  When load Y requests the data, it will either hit the WCB, or the L1 
cache, depending on exactly what time the request to Y occurs.
+       0x40 extra:pebs wcb_hit_pebs Counts memory load uops retired where the 
data is retrieved from the WCB (or fill buffer), indicating that the load found 
its data while that data was in the process of being brought into the L1 cache. 
 Typically a load will receive this indication when some other load or prefetch 
missed the L1 cache and was in the process of retrieving the cache line 
containing the data, but that process had not yet finished (and written the 
data back to the cache). For example, consider load X and Y, both referencing 
the same cache line that is not in the L1 cache.  If load X misses cache first, 
it obtains and WCB (or fill buffer) and begins the process of requesting the 
data.  When load Y requests the data, it will either hit the WCB, or the L1 
cache, depending on exactly what time the request to Y occurs.
+       0x80 extra: dram_hit Counts memory load uops retired where the data is 
retrieved from DRAM.  Event is counted at retirement, so the speculative loads 
are ignored.  A memory load can hit (or miss) the L1 cache, hit (or miss) the 
L2 cache, hit DRAM, hit in the WCB or receive a HITM response.
+       0x80 extra:pebs dram_hit_pebs Counts memory load uops retired where the 
data is retrieved from DRAM.  Event is counted at retirement, so the 
speculative loads are ignored.  A memory load can hit (or miss) the L1 cache, 
hit (or miss) the L2 cache, hit DRAM, hit in the WCB or receive a HITM response.
+name:baclears type:exclusive default:0x1
+       0x1 extra: all Counts the number of times a BACLEAR is signaled for any 
reason, including, but not limited to indirect branch/call,  Jcc (Jump on 
Conditional Code/Jump if Condition is Met) branch, unconditional branch/call, 
and returns.
+       0x8 extra: return Counts BACLEARS on return instructions.
+       0x10 extra: cond Counts BACLEARS on Jcc (Jump on Conditional Code/Jump 
if Condition is Met) branches.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/events/ppc64/power9/events 
new/oprofile-1.3.0/events/ppc64/power9/events
--- old/oprofile-1.2.0/events/ppc64/power9/events       2017-06-28 
20:40:22.000000000 +0200
+++ new/oprofile-1.3.0/events/ppc64/power9/events       2017-07-27 
19:56:52.000000000 +0200
@@ -865,12 +865,10 @@
 event:0x00000468A6 counters:3       um:zero minimum:10000  
name:PM_RD_CLEARING_SC : Read clearing SC
 event:0x00000460A6 counters:3       um:zero minimum:10000  
name:PM_RD_FORMING_SC : Read forming SC
 event:0x00000268A8 counters:1       um:zero minimum:10000  name:PM_RD_HIT_PF : 
RD machine hit L3 PF machine
-event:0x0000000 counters:5       um:zero minimum:10000  name:PM_RUN_CYC : 
Run_cycles
 event:0x00000200F4 counters:1       um:zero minimum:10000  name:PM_RUN_CYC : 
Run_cycles
 event:0x000003006C counters:2       um:zero minimum:100000 
name:PM_RUN_CYC_SMT2_MODE : Cycles in which this thread's run latch is set and 
the core is in SMT2 mode
 event:0x000002006C counters:1       um:zero minimum:100000 
name:PM_RUN_CYC_SMT4_MODE : Cycles in which this thread's run latch is set and 
the core is in SMT4 mode
 event:0x000001006C counters:0       um:zero minimum:100000 
name:PM_RUN_CYC_ST_MODE : Cycles run latch is set and core is in ST mode
-event:0x0000000 counters:4       um:zero minimum:10000  name:PM_RUN_INST_CMPL 
: Run_Instructions
 event:0x00000400FA counters:3       um:zero minimum:10000  
name:PM_RUN_INST_CMPL : Run_Instructions
 event:0x00000400F4 counters:3       um:zero minimum:10000  name:PM_RUN_PURR : 
Run_PURR
 event:0x0000010008 counters:0       um:zero minimum:10000  name:PM_RUN_SPURR : 
Run SPURR
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libabi/Makefile.in 
new/oprofile-1.3.0/libabi/Makefile.in
--- old/oprofile-1.2.0/libabi/Makefile.in       2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libabi/Makefile.in       2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libabi/tests/Makefile.in 
new/oprofile-1.3.0/libabi/tests/Makefile.in
--- old/oprofile-1.2.0/libabi/tests/Makefile.in 2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libabi/tests/Makefile.in 2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libdb/Makefile.in 
new/oprofile-1.3.0/libdb/Makefile.in
--- old/oprofile-1.2.0/libdb/Makefile.in        2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libdb/Makefile.in        2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libdb/tests/Makefile.in 
new/oprofile-1.3.0/libdb/tests/Makefile.in
--- old/oprofile-1.2.0/libdb/tests/Makefile.in  2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libdb/tests/Makefile.in  2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/Makefile.in 
new/oprofile-1.3.0/libop/Makefile.in
--- old/oprofile-1.2.0/libop/Makefile.in        2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libop/Makefile.in        2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/op_cpu_type.c 
new/oprofile-1.3.0/libop/op_cpu_type.c
--- old/oprofile-1.2.0/libop/op_cpu_type.c      2017-06-28 20:40:22.000000000 
+0200
+++ new/oprofile-1.3.0/libop/op_cpu_type.c      2018-04-02 21:43:44.000000000 
+0200
@@ -117,6 +117,7 @@
        { "ARM Cortex-A53", "arm/armv8-ca53", CPU_ARM_V8_CA53, 6},
        { "Intel Skylake microarchitecture", "i386/skylake", CPU_SKYLAKE, 4 },
        { "Intel Goldmont microarchitecture", "i386/goldmont", CPU_GOLDMONT, 4 
},
+       { "Intel Goldmont Plus microarchitecture", "i386/goldmontplus", 
CPU_GOLDMONTPLUS, 4 },
        { "IBM z13", "s390/z13", CPU_S390_Z13, 1 },
        { "ARM Cortex-A17", "arm/armv7-ca17", CPU_ARM_V7_CA17, 7 },
        { "ppc64 POWER9", "ppc64/power9", CPU_PPC64_POWER9, 6 },
@@ -153,17 +154,17 @@
                        /* if token param 0 then read the whole line else
                         * first token only. */
                        if (token == 0) {
-                               /* Trim trailing whitespace */
+                               /* Trim trailing whitespace and commas */
                                end = buf + strlen(buf) - 1;
-                               while (isspace(*end))
+                               while (isspace(*end) || *end == ',')
                                        --end;
                                *(++end) = '\0';
                                break;
                        } else {
                                /* Scan ahead to the end of the token */
-                               while (*buf && !isspace(*buf))
+                               while (*buf && !(isspace(*buf) || *buf == ','))
                                        ++buf;
-                               /* Trim trailing whitespace */
+                               /* Trim trailing whitespace and commas */
                                *buf = '\0';
                                break;
                        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/op_cpu_type.h 
new/oprofile-1.3.0/libop/op_cpu_type.h
--- old/oprofile-1.2.0/libop/op_cpu_type.h      2017-06-28 20:40:22.000000000 
+0200
+++ new/oprofile-1.3.0/libop/op_cpu_type.h      2018-01-18 17:46:48.000000000 
+0100
@@ -103,6 +103,7 @@
        CPU_ARM_V8_CA53, /* ARM Cortex-A53 */
        CPU_SKYLAKE, /** < Intel Skylake microarchitecture */
        CPU_GOLDMONT, /** < Intel Goldmont microarchitecture */
+       CPU_GOLDMONTPLUS, /** < Intel Goldmont Plus microarchitecture */
        CPU_S390_Z13, /** < IBM z13 */
        CPU_ARM_V7_CA17, /* ARM Cortex-A17 */
        CPU_PPC64_POWER9, /**< ppc64 POWER8 family */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/op_events.c 
new/oprofile-1.3.0/libop/op_events.c
--- old/oprofile-1.2.0/libop/op_events.c        2017-06-28 20:40:22.000000000 
+0200
+++ new/oprofile-1.3.0/libop/op_events.c        2018-01-18 17:46:48.000000000 
+0100
@@ -1214,6 +1214,7 @@
                        break;
 
                case CPU_GOLDMONT:
+               case CPU_GOLDMONTPLUS:
                case CPU_SKYLAKE:
                        descr->name = "cpu_clk_unhalted";
                        break;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/op_hw_specific.h 
new/oprofile-1.3.0/libop/op_hw_specific.h
--- old/oprofile-1.2.0/libop/op_hw_specific.h   2017-06-28 20:40:22.000000000 
+0200
+++ new/oprofile-1.3.0/libop/op_hw_specific.h   2018-01-18 17:46:48.000000000 
+0100
@@ -170,6 +170,8 @@
                case 0x57:
                case 0x85:
                        return CPU_KNIGHTSLANDING;
+               case 0x7a:
+                       return CPU_GOLDMONTPLUS;
                }
        }
        return cpu_type;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/op_netburst.c 
new/oprofile-1.3.0/libop/op_netburst.c
--- old/oprofile-1.2.0/libop/op_netburst.c      2015-06-05 22:39:34.000000000 
+0200
+++ new/oprofile-1.3.0/libop/op_netburst.c      2017-07-27 19:56:37.000000000 
+0200
@@ -376,7 +376,7 @@
         .desc = "Number of entries (clipped at 15) in the IOQ that are "
                 "active. An allocated entry can be a sector (64 bytes) "
                 "or a chunk of 8 bytes. This event must be programmed in "
-                "conjuction with IOQ_allocation. All 'TYPE_BIT*' event-masks "
+                "conjunction with IOQ_allocation. All 'TYPE_BIT*' event-masks "
                 "together are treated as a single 5-bit value",
         .event_select = 0x1A,
         .escr_select = 0x6,
@@ -1475,7 +1475,7 @@
 
        /* 44 */
        {.name = "MACHINE_CLEAR",
-        .desc = "Number of occurances when the entire "
+        .desc = "Number of occurrences when the entire "
                 "pipeline of the machine is cleared",
         .event_select = 0x2,
         .escr_select = 0x5,
@@ -1486,7 +1486,7 @@
                 .desc = "Counts for a portion of the many cycles while the "
                         "machine is cleared for any cause. Use edge-"
                         "triggering for this bit only to get a count of "
-                        "occurances versus a duration",
+                        "occurrences versus a duration",
                 .bit = 0,
                },
                {.name = "MOCLEAR",
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libop/tests/Makefile.in 
new/oprofile-1.3.0/libop/tests/Makefile.in
--- old/oprofile-1.2.0/libop/tests/Makefile.in  2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libop/tests/Makefile.in  2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libopagent/Makefile.in 
new/oprofile-1.3.0/libopagent/Makefile.in
--- old/oprofile-1.2.0/libopagent/Makefile.in   2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libopagent/Makefile.in   2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libopt++/Makefile.in 
new/oprofile-1.3.0/libopt++/Makefile.in
--- old/oprofile-1.2.0/libopt++/Makefile.in     2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libopt++/Makefile.in     2018-07-16 21:39:38.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libopt++/popt_options.cpp 
new/oprofile-1.3.0/libopt++/popt_options.cpp
--- old/oprofile-1.2.0/libopt++/popt_options.cpp        2015-06-05 
22:39:34.000000000 +0200
+++ new/oprofile-1.3.0/libopt++/popt_options.cpp        2018-07-16 
20:58:37.000000000 +0200
@@ -251,7 +251,7 @@
                          void * data, unsigned int popt_flags)
        : option_name(name)
 {
-       poptOption const opt = { name, short_name, 
(typeof(opt.argInfo))popt_flags,
+       poptOption const opt = { name, short_name, popt_flags,
                                 data, 0, help, arg_help };
 
        popt_options().push_back(opt);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libpe_utils/Makefile.in 
new/oprofile-1.3.0/libpe_utils/Makefile.in
--- old/oprofile-1.2.0/libpe_utils/Makefile.in  2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libpe_utils/Makefile.in  2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libpe_utils/op_pe_utils.cpp 
new/oprofile-1.3.0/libpe_utils/op_pe_utils.cpp
--- old/oprofile-1.2.0/libpe_utils/op_pe_utils.cpp      2017-06-29 
16:44:14.000000000 +0200
+++ new/oprofile-1.3.0/libpe_utils/op_pe_utils.cpp      2018-07-16 
20:58:37.000000000 +0200
@@ -191,10 +191,12 @@
                return 0;
 }
 
+static char dir_pathname[PATH_MAX];
 static char full_pathname[PATH_MAX];
 static int _get_PATH_based_pathname(const char * app_name)
 {
        int retval = -1;
+       int retlen;
 
        char * real_path = getenv("PATH");
        char * path = (char *) xstrdup(real_path);
@@ -210,29 +212,26 @@
                                break;
                        }
                } else if (rc == 1) {
-                       size_t applen = strlen(app_name);
-                       size_t dirlen = strlen(segment);
-
-                       if (applen + dirlen + 2 > PATH_MAX) {
-                               cerr << "Path segment " << segment
-                                    << " prepended to the passed app name is 
too long"
-                                    << endl;
-                               retval = -1;
-                               break;
-                       }
-
                        if (!strcmp(segment, ".")) {
-                               if (getcwd(full_pathname, PATH_MAX) == NULL) {
+                               if (getcwd(dir_pathname, sizeof(dir_pathname)) 
== NULL) {
                                        retval = -1;
                                        cerr << "getcwd [3] failed when 
processing <cur-dir>/" << app_name << " found via PATH. Aborting."
                                                        << endl;
                                        break;
                                }
                        } else {
-                               strncpy(full_pathname, segment, dirlen);
+                               strncpy(dir_pathname, segment, 
sizeof(dir_pathname)-1);
                        }
-                       strcat(full_pathname, "/");
-                       strncat(full_pathname, app_name, applen);
+                       retlen = snprintf(full_pathname, sizeof(full_pathname),
+                                         "%s/%s", dir_pathname, app_name);
+                       if (retlen <= 0 || ((int) sizeof(full_pathname)) <= 
retlen) {
+                               cerr << "Path segment " << segment
+                                    << " prepended to the passed app name is 
too long"
+                                    << endl;
+                               retval = -1;
+                               break;
+                       }
+
                        retval = 0;
                        free(namelist[0]);
                        free(namelist);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libperf_events/Makefile.in 
new/oprofile-1.3.0/libperf_events/Makefile.in
--- old/oprofile-1.2.0/libperf_events/Makefile.in       2017-07-24 
20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/libperf_events/Makefile.in       2018-07-16 
21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libperf_events/operf_sfile.cpp 
new/oprofile-1.3.0/libperf_events/operf_sfile.cpp
--- old/oprofile-1.2.0/libperf_events/operf_sfile.cpp   2015-10-02 
23:23:12.000000000 +0200
+++ new/oprofile-1.3.0/libperf_events/operf_sfile.cpp   2018-07-16 
20:58:37.000000000 +0200
@@ -519,7 +519,7 @@
 }
 
 
-static int always_true(void)
+static int always_true(struct operf_sfile * sf __attribute__((unused)), void * 
data __attribute__((unused)))
 {
        return 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libperf_events/operf_utils.cpp 
new/oprofile-1.3.0/libperf_events/operf_utils.cpp
--- old/oprofile-1.2.0/libperf_events/operf_utils.cpp   2017-07-06 
17:20:30.000000000 +0200
+++ new/oprofile-1.3.0/libperf_events/operf_utils.cpp   2018-07-16 
20:58:37.000000000 +0200
@@ -73,7 +73,14 @@
 
 static inline void clear_trans(struct operf_transient * trans)
 {
-       trans->tgid = ~0U;
+       /* ~0U (-1) could be used by the kernel perf samples
+        * for the TID/PID of exiting processes. To avoid
+        * confusing the oprofile logic use ~1U as the
+        * initialization value for tgid field to avoid
+        * possibly matching the TID/PID values for exiting
+        * processes.
+        */
+       trans->tgid = ~1U;
        trans->cur_procinfo = NULL;
 }
 
@@ -1333,7 +1340,7 @@
                mmap.header.type = PERF_RECORD_MMAP;
                mmap.header.misc = PERF_RECORD_MISC_KERNEL;
                size = strlen(module_name) + 1;
-               strncpy(mmap.filename, module_name, size);
+               strncpy(mmap.filename, module_name, sizeof(mmap.filename));
                size = align_64bit(size);
                mmap.start = start_address;
                mmap.len = module_size;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libpp/Makefile.in 
new/oprofile-1.3.0/libpp/Makefile.in
--- old/oprofile-1.2.0/libpp/Makefile.in        2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libpp/Makefile.in        2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libregex/Makefile.in 
new/oprofile-1.3.0/libregex/Makefile.in
--- old/oprofile-1.2.0/libregex/Makefile.in     2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libregex/Makefile.in     2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libregex/tests/Makefile.in 
new/oprofile-1.3.0/libregex/tests/Makefile.in
--- old/oprofile-1.2.0/libregex/tests/Makefile.in       2017-07-24 
20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/libregex/tests/Makefile.in       2018-07-16 
21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libutil/Makefile.in 
new/oprofile-1.3.0/libutil/Makefile.in
--- old/oprofile-1.2.0/libutil/Makefile.in      2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libutil/Makefile.in      2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libutil/tests/Makefile.in 
new/oprofile-1.3.0/libutil/tests/Makefile.in
--- old/oprofile-1.2.0/libutil/tests/Makefile.in        2017-07-24 
20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/libutil/tests/Makefile.in        2018-07-16 
21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libutil++/Makefile.in 
new/oprofile-1.3.0/libutil++/Makefile.in
--- old/oprofile-1.2.0/libutil++/Makefile.in    2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/libutil++/Makefile.in    2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/libutil++/tests/Makefile.in 
new/oprofile-1.3.0/libutil++/tests/Makefile.in
--- old/oprofile-1.2.0/libutil++/tests/Makefile.in      2017-07-24 
20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/libutil++/tests/Makefile.in      2018-07-16 
21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/m4/Makefile.in 
new/oprofile-1.3.0/m4/Makefile.in
--- old/oprofile-1.2.0/m4/Makefile.in   2017-07-24 20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/m4/Makefile.in   2018-07-16 21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/opjitconv/Makefile.in 
new/oprofile-1.3.0/opjitconv/Makefile.in
--- old/oprofile-1.2.0/opjitconv/Makefile.in    2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/opjitconv/Makefile.in    2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/opjitconv/opjitconv.c 
new/oprofile-1.3.0/opjitconv/opjitconv.c
--- old/oprofile-1.2.0/opjitconv/opjitconv.c    2017-04-28 22:29:07.000000000 
+0200
+++ new/oprofile-1.3.0/opjitconv/opjitconv.c    2018-07-16 20:58:37.000000000 
+0200
@@ -265,10 +265,12 @@
 int copy_elffile(char * elf_file, char * tmp_elffile)
 {
        int rc = OP_JIT_CONV_OK;
-       int fd;
+       int retlen, fd;
 
-       sprintf(sys_cmd_buffer, "/bin/cp -p %s %s", tmp_elffile, elf_file);
-       if (system(sys_cmd_buffer) != 0) {
+       retlen = snprintf(sys_cmd_buffer, sizeof(sys_cmd_buffer),
+                         "/bin/cp -p %s %s", tmp_elffile, elf_file);
+       if (retlen <= 0 || ((int) sizeof(sys_cmd_buffer)) <= retlen
+           || system(sys_cmd_buffer) != 0) {
                printf("opjitconv: Calling system() to copy files failed.\n");
                rc = OP_JIT_CONV_FAIL;
                goto out;
@@ -318,6 +320,7 @@
        char * tmp_dumpfile;
        /* temporary ELF file created during conversion step */
        char * tmp_elffile;
+       int tmp_dumpfile_size, elf_file_size, tmp_elffile_size;
        
        verbprintf(debug, "Processing dumpfile %s\n", dmp_pathname);
        
@@ -348,11 +351,11 @@
                verbprintf(debug, "Found JIT dumpfile for process %s\n",
                           proc_id);
 
-               tmp_dumpfile = xmalloc(tmp_conv_dir_length + 1 + 
strlen(dumpfilename) + 1);
-               strncpy(tmp_dumpfile, tmp_conv_dir, tmp_conv_dir_length);
-               tmp_dumpfile[tmp_conv_dir_length] = '\0';
-               strcat(tmp_dumpfile, "/");
-               strcat(tmp_dumpfile, dumpfilename);
+               tmp_dumpfile_size = tmp_conv_dir_length + 1
+                       + strlen(dumpfilename + 1);
+               tmp_dumpfile = xmalloc(tmp_dumpfile_size);
+               snprintf(tmp_dumpfile, tmp_dumpfile_size, "%s/%s",
+                        tmp_conv_dir, dumpfilename);
        }
 chk_proc_id:
        if (!proc_id) {
@@ -387,20 +390,17 @@
                }
                result_dir_length = ++anon_path_seg - anon_dir;
                /* create final ELF file name */
-               elf_file = xmalloc(result_dir_length +
-                                  strlen(proc_id) + strlen(".jo") + 1);
-               strncpy(elf_file, anon_dir, result_dir_length);
-               elf_file[result_dir_length] = '\0';
-               strcat(elf_file, proc_id);
-               strcat(elf_file, ".jo");
+               elf_file_size = result_dir_length
+                       + strlen(proc_id) + strlen(".jo") + 1;
+               elf_file = xmalloc(elf_file_size);
+               snprintf(elf_file, elf_file_size, "%s%s.jo",
+                        anon_dir, proc_id);
                /* create temporary ELF file name */
-               tmp_elffile = xmalloc(strlen(tmp_conv_dir) + 1 +
-                                  strlen(proc_id) + strlen(".jo") + 1);
-               strncpy(tmp_elffile, tmp_conv_dir, strlen(tmp_conv_dir));
-               tmp_elffile[strlen(tmp_conv_dir)] = '\0';
-               strcat(tmp_elffile, "/");
-               strcat(tmp_elffile, proc_id);
-               strcat(tmp_elffile, ".jo");
+               tmp_elffile_size = strlen(tmp_conv_dir) + 1
+                       + strlen(proc_id) + strlen(".jo") + 1;
+               tmp_elffile = xmalloc(tmp_elffile_size);
+               snprintf(tmp_elffile, tmp_elffile_size, "%s/%s.jo",
+                        tmp_conv_dir, proc_id);
 
                // Check if final ELF file exists already
                jofd = open(elf_file, O_RDONLY);
@@ -588,6 +588,7 @@
        char jitdumpfile[PATH_MAX + 1];
        char oprofile_tmp_template[PATH_MAX + 1];
        char const * jitdump_dir = "/tmp/.oprofile/jitdump/";
+       int retlen;
 
        LIST_HEAD(jd_fnames);
        char const * anon_dir_filter = "*/{dep}/{anon:anon}/[0-9]*.*";
@@ -606,8 +607,10 @@
        /* Create a temporary working directory used for the conversion step.
         */
        if (non_root) {
-               sprintf(sys_cmd_buffer, "/bin/rm -rf %s", 
oprofile_tmp_template);
-               if (system(sys_cmd_buffer) != 0) {
+               retlen = snprintf(sys_cmd_buffer, sizeof(sys_cmd_buffer),
+                                "/bin/rm -rf %s", oprofile_tmp_template);
+               if (retlen <= 0 || ((int) sizeof(sys_cmd_buffer)) <= retlen
+                  || system(sys_cmd_buffer) != 0) {
                        printf("opjitconv: Removing temporary working directory 
%s failed.\n",
                               oprofile_tmp_template);
                        rc = OP_JIT_CONV_TMPDIR_NOT_REMOVED;
@@ -702,8 +705,9 @@
        list_for_each_safe(pos1, pos2, &jd_fnames) {
                struct pathname * dmpfile =
                        list_entry(pos1, struct pathname, neighbor);
-               strncpy(jitdumpfile, jitdump_dir, PATH_MAX);
-               strncat(jitdumpfile, dmpfile->name, PATH_MAX);
+               snprintf(jitdumpfile, PATH_MAX, "%s%s",
+                        jitdump_dir, dmpfile->name);
+               jitdumpfile[PATH_MAX] = '\0';
                rc = process_jit_dumpfile(jitdumpfile, &anon_dnames,
                                          start_time, end_time, tmp_conv_dir);
                if (rc == OP_JIT_CONV_FAIL) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/pe_counting/Makefile.in 
new/oprofile-1.3.0/pe_counting/Makefile.in
--- old/oprofile-1.2.0/pe_counting/Makefile.in  2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/pe_counting/Makefile.in  2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/pe_profiling/Makefile.in 
new/oprofile-1.3.0/pe_profiling/Makefile.in
--- old/oprofile-1.2.0/pe_profiling/Makefile.in 2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/pe_profiling/Makefile.in 2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/pp/Makefile.in 
new/oprofile-1.3.0/pp/Makefile.in
--- old/oprofile-1.2.0/pp/Makefile.in   2017-07-24 20:31:08.000000000 +0200
+++ new/oprofile-1.3.0/pp/Makefile.in   2018-07-16 21:39:39.000000000 +0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/pp/oparchive.cpp 
new/oprofile-1.3.0/pp/oparchive.cpp
--- old/oprofile-1.2.0/pp/oparchive.cpp 2016-07-12 19:57:11.000000000 +0200
+++ new/oprofile-1.3.0/pp/oparchive.cpp 2018-06-07 20:48:12.000000000 +0200
@@ -261,7 +261,7 @@
                /* determine the session name of sample file */
                int offset = sample_name.find('{');
                string base_samples_dir = sample_name.substr(0, offset-1);
-               string session = basename(base_samples_dir.c_str());
+               string session = op_basename(base_samples_dir.c_str());
                /* Get rid of the the archive_path from the name */
                string sample_base = sample_name.substr(offset);
                string sample_archive_file = dest_samples_dir + "/" + session + 
"/" + sample_base;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/utils/Makefile.in 
new/oprofile-1.3.0/utils/Makefile.in
--- old/oprofile-1.2.0/utils/Makefile.in        2017-07-24 20:31:08.000000000 
+0200
+++ new/oprofile-1.3.0/utils/Makefile.in        2018-07-16 21:39:39.000000000 
+0200
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.15 from Makefile.am.
+# Makefile.in generated by automake 1.15.1 from Makefile.am.
 # @configure_input@
 
-# Copyright (C) 1994-2014 Free Software Foundation, Inc.
+# Copyright (C) 1994-2017 Free Software Foundation, Inc.
 
 # This Makefile.in is free software; the Free Software Foundation
 # gives unlimited permission to copy and/or distribute it,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/oprofile-1.2.0/utils/ophelp.c 
new/oprofile-1.3.0/utils/ophelp.c
--- old/oprofile-1.2.0/utils/ophelp.c   2017-06-28 20:40:22.000000000 +0200
+++ new/oprofile-1.3.0/utils/ophelp.c   2018-07-16 21:49:20.000000000 +0200
@@ -51,7 +51,7 @@
        return count;
 }
 
-#define LINE_LEN 99
+#define LINE_LEN 999
 
 static void word_wrap(int indent, int *column, char *msg)
 {
@@ -545,6 +545,7 @@
        case CPU_SKYLAKE:
        case CPU_SILVERMONT:
        case CPU_GOLDMONT:
+       case CPU_GOLDMONTPLUS:
        case CPU_WESTMERE:
        case CPU_SANDYBRIDGE:
        case CPU_IVYBRIDGE:


Reply via email to