Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package oprofile for openSUSE:Factory 
checked in at 2021-01-18 11:28:56
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oprofile (Old)
 and      /work/SRC/openSUSE:Factory/.oprofile.new.28504 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "oprofile"

Mon Jan 18 11:28:56 2021 rev:55 rq:863768 version:1.4.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/oprofile/oprofile.changes        2020-10-13 
15:48:25.261521585 +0200
+++ /work/SRC/openSUSE:Factory/.oprofile.new.28504/oprofile.changes     
2021-01-18 11:32:41.804704829 +0100
@@ -1,0 +2,13 @@
+Sat Jan 16 18:21:11 UTC 2021 - Dirk M??ller <[email protected]>
+
+- update to 1.4.0:
+  * New/updated Processor Support
+    * Marvell (Cavium) ThunderX2
+    * Hygon Dhyana CPU
+  * Bugfixes
+    * Does not build with binutils-gdb master.
+    * ocount leaves orphan process on error 
+- remove oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch,
+  oprofile-handle-binutils-2_34.patch: upstream
+
+-------------------------------------------------------------------

Old:
----
  oprofile-1.3.0.tar.gz
  oprofile-handle-binutils-2_34.patch
  oprofile-handle-empty-event-name-spec-gracefully-for-ppc.patch

New:
----
  oprofile-1.4.0.tar.gz

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

Other differences:
------------------
++++++ oprofile.spec ++++++
--- /var/tmp/diff_new_pack.WgBP75/_old  2021-01-18 11:32:42.492707827 +0100
+++ /var/tmp/diff_new_pack.WgBP75/_new  2021-01-18 11:32:42.496707848 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package oprofile
 #
-# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2021 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
 
 
 Name:           oprofile
-Version:        1.3.0
+Version:        1.4.0
 Release:        0
 Summary:        System-Wide Profiler for Linux Systems
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
@@ -30,9 +30,6 @@
 Source5:        README-BEFORE-ADDING-PATCHES
 Patch1:         %{name}-no-libjvm-version.patch
 Patch2:         %{name}-pfm-ppc.patch
-Patch3:         %{name}-handle-empty-event-name-spec-gracefully-for-ppc.patch
-# PATCH-FIX-UPSTREAM
-Patch4:         %{name}-handle-binutils-2_34.patch
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  binutils-devel
@@ -106,7 +103,6 @@
 mkdir -p java/include
 # copy files necessary to build Java agent libraries
 # libjvmpi_oprofile.so and libjvmti_oprofile.so
-# %S:4 is rpm speak for Source4 (jvmpi.h)
 ln -s %{_libdir}/jvm/java/include/* java/include
 test -f java/include/jvmpi.h || ln -s %{SOURCE4} java/include
 

++++++ oprofile-1.3.0.tar.gz -> oprofile-1.4.0.tar.gz ++++++
++++ 4607 lines of diff (skipped)
++++    retrying with extended exclude list
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/agents/jvmti/libjvmti_oprofile.c 
new/oprofile-1.4.0/agents/jvmti/libjvmti_oprofile.c
--- old/oprofile-1.3.0/agents/jvmti/libjvmti_oprofile.c 2015-06-05 
22:39:34.000000000 +0200
+++ new/oprofile-1.4.0/agents/jvmti/libjvmti_oprofile.c 2019-08-14 
20:01:53.000000000 +0200
@@ -176,7 +176,7 @@
        int cnt = strlen(method_name) + strlen(class_signature) +
                strlen(method_signature) + 2;
        char buf[cnt];
-       strncpy(buf, class_signature, cnt - 1);
+       strncpy(buf, class_signature, sizeof(buf) - 1);
        strncat(buf, method_name, cnt - strlen(buf) - 1);
        strncat(buf, method_signature, cnt - strlen(buf) - 1);
        if (op_write_native_code(agent_hdl, buf,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/config.h.in new/oprofile-1.4.0/config.h.in
--- old/oprofile-1.3.0/config.h.in      2018-07-16 21:39:43.000000000 +0200
+++ new/oprofile-1.4.0/config.h.in      2020-07-20 17:32:19.000000000 +0200
@@ -3,6 +3,9 @@
 /* whether popt prototype takes a const char ** */
 #undef CONST_POPT
 
+/* Using binutils 2.34 */
+#undef HAVE_BINUTILS_234
+
 /* Define to 1 if you have the declaration of `basename', and to 0 if you
    don't. */
 #undef HAVE_DECL_BASENAME
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/configure.ac new/oprofile-1.4.0/configure.ac
--- old/oprofile-1.3.0/configure.ac     2018-07-16 21:38:03.000000000 +0200
+++ new/oprofile-1.4.0/configure.ac     2020-07-20 17:26:39.000000000 +0200
@@ -11,7 +11,7 @@
 
 AC_PREREQ(2.13)
 
-AC_INIT([OProfile], [1.3.0])
+AC_INIT([OProfile], [1.4.0])
 AC_CONFIG_SRCDIR([libop/op_config.h])
 AM_INIT_AUTOMAKE
 AC_CONFIG_HEADERS(config.h)
@@ -224,6 +224,26 @@
 fi
 AC_SUBST(PFM_LIB)
 
+HAVE_BINUTILS_234='1'
+AC_MSG_CHECKING([whether binutils 2.34 is being used])
+rm -f test-for-BINUTILS
+AC_LANG_CONFTEST(
+       [AC_LANG_PROGRAM([[#include <bfd.h>]],
+               [[asection * sect;
+               bfd_size_type buildid_sect_size = bfd_section_size(sect);
+               return 0;]])
+       ])
+$CC conftest.$ac_ext $CFLAGS $LDFLAGS $LIBS $PERF_EVENT_FLAGS -o 
test-for-BINUTILS  > /dev/null 2>&1
+if test -f test-for-BINUTILS; then
+       echo "yes"
+       HAVE_BINUTILS_234='1'
+else
+       echo "no"
+       HAVE_BINUTILS_234='0'
+fi
+AC_DEFINE_UNQUOTED(HAVE_BINUTILS_234, $HAVE_BINUTILS_234, [Using binutils 
2.34])
+rm -f test-for-BINUTILS*
+
 AC_ARG_WITH(java,
 [  --with-java=java-home        Path to Java home directory (default is "no"; 
"yes" will use /usr as Java home)],
 JAVA_HOMEDIR=$with_java, [with_java=no])
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/doc/oprofile.1 new/oprofile-1.4.0/doc/oprofile.1
--- old/oprofile-1.3.0/doc/oprofile.1   2018-07-16 21:50:43.000000000 +0200
+++ new/oprofile-1.4.0/doc/oprofile.1   2020-07-20 17:32:18.000000000 +0200
@@ -1,4 +1,4 @@
-.TH OPROFILE 1 "Mon 16 July 2018" "oprofile 1.3.0"
+.TH OPROFILE 1 "Mon 20 July 2020" "oprofile 1.4.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.3.0.
+This man page is current for oprofile-1.4.0.
 
 .SH SEE ALSO
 .BR /usr/local/share/doc/oprofile/,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/events/Makefile.am new/oprofile-1.4.0/events/Makefile.am
--- old/oprofile-1.3.0/events/Makefile.am       2018-01-18 17:46:48.000000000 
+0100
+++ new/oprofile-1.4.0/events/Makefile.am       2019-03-21 20:15:18.000000000 
+0100
@@ -59,6 +59,7 @@
        arm/armv8-xgene/events arm/armv8-xgene/unit_masks \
        arm/armv8-ca57/events arm/armv8-ca57/unit_masks \
        arm/armv8-ca53/events arm/armv8-ca53/unit_masks \
+       arm/armv8-thunderx2/events arm/armv8-thunderx2/unit_masks \
        mips/20K/events mips/20K/unit_masks \
        mips/24K/events mips/24K/unit_masks \
        mips/25K/events mips/25K/unit_masks \
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/events/arm/armv8-thunderx2/events 
new/oprofile-1.4.0/events/arm/armv8-thunderx2/events
--- old/oprofile-1.3.0/events/arm/armv8-thunderx2/events        1970-01-01 
01:00:00.000000000 +0100
+++ new/oprofile-1.4.0/events/arm/armv8-thunderx2/events        2019-03-21 
20:15:18.000000000 +0100
@@ -0,0 +1,168 @@
+# Cavium ThunderX2 events
+#
+# The performance event information is taken from
+# https://www.marvell.com/documents/hrur6mybdvk5uki1w0z7/
+#
+# Note: minimum event values based on armv8-xgene/events
+#
+event:0x0000 um:zero minimum:500 name:SW_INCR : Instruction architecturally 
executed, condition code check pass, software increment
+event:0x0001 um:zero minimum:5000 name:L1I_CACHE_REFILL : Level 1 instruction 
cache refill
+event:0x0002 um:zero minimum:5000 name:L1I_TLB_REFILL : Level 1 instruction 
TLB refill
+event:0x0003 um:zero minimum:5000 name:L1D_CACHE_REFILL : Level 1 data cache 
refill
+event:0x0004 um:zero minimum:5000 name:L1D_CACHE : Level 1 data cache access
+event:0x0005 um:zero minimum:5000 name:L1D_TLB_REFILL : Level 1 data TLB refill
+event:0x0006 um:zero minimum:100000 name:LD_RETIRED : Instruction 
architecturally executed, condition code check pass, load
+event:0x0007 um:zero minimum:100000 name:ST_RETIRED : Instruction 
architecturally executed, condition code check pass, store
+event:0x0008 um:zero minimum:100000 name:INST_RETIRED : Instruction 
architecturally executed
+event:0x0009 um:zero minimum:500 name:EXC_TAKEN : Exception taken
+event:0x000A um:zero minimum:500 name:EXC_RETURN : Instruction architecturally 
executed, condition code check pass, exception return
+event:0x000B um:zero minimum:500 name:CID_WRITE_RETIRED : Instruction 
architecturally executed, condition code check pass, write to CONTEXTIDR
+event:0x000D um:zero minimum:5000 name:BR_IMMED_RETIRED : Instruction 
architecturally executed, immediate branch
+event:0x000E um:zero minimum:5000 name:BR_RETURN_RETIRED : Instruction 
architecturally executed, condition code check pass, procedure return
+event:0x000F um:zero minimum:500 name:UNALIGNED_LDST_RETIRED : Instruction 
architecturally executed, condition code check pass, unaligned load or store
+event:0x0010 um:zero minimum:5000 name:BR_MIS_PRED : Mispredicted or not 
predicted branch speculatively executed
+event:0x0011 um:zero minimum:100000 name:CPU_CYCLES : Cycle
+event:0x0012 um:zero minimum:5000 name:BR_PRED : Predictable branch 
speculatively executed
+event:0x0013 um:zero minimum:100000 name:MEM_ACCESS : Data memory access
+event:0x0014 um:zero minimum:5000 name:L1I_CACHE : Level 1 instruction cache 
access
+event:0x0015 um:zero minimum:5000 name:L1D_CACHE_WB : Level 1 data cache 
write-back
+event:0x0016 um:zero minimum:5000 name:L2D_CACHE : Level 2 data/unified cache 
access
+event:0x0017 um:zero minimum:5000 name:L2D_CACHE_REFILL : Level 2 data/unified 
cache refill
+event:0x0018 um:zero minimum:5000 name:L2D_CACHE_WB : Level 2 data/unified 
cache write back
+event:0x0019 um:zero minimum:5000 name:BUS_ACCESS : Bus access
+event:0x001B um:zero minimum:100000 name:INST_SPEC : Operation speculatively 
executed
+event:0x001C um:zero minimum:5000 name:TTBR_WRITE_RETIRED : Instruction 
architecturally executed, condition code check pass, write to TTBR
+#event:0x001E um:zero minimum:5000 name:CHAIN : For odd-numbered counters, 
increments the count by one for each overflow of the preceding even numbered 
counter
+event:0x001F um:zero minimum:5000 name:L1D_CACHE_ALLOCATE : Level 1 data cache 
allocation without refill
+event:0x0020 um:zero minimum:5000 name:L2D_CACHE_ALLOCATE : Level 2 
data/unified cache allocation without refill
+event:0x0021 um:zero minimum:5000 name:BR_RETIRED : Counts all branches on the 
architecturally executed path that would incur cost if mispredicted
+event:0x0022 um:zero minimum:5000 name:BR_MIS_PRED_RETIRED : Instruction 
executed, mispredicted branch. All instructions counted by BR RETIRED that were 
not correctly predicted
+event:0x0023 um:zero minimum:5000 name:STALL_FRONTEND : Cycle on which no 
operation issued because there are no operations to issue
+event:0x0024 um:zero minimum:5000 name:STALL_BACKEND : Cycle on which no 
operation issued due to back-end resources being unavailable
+event:0x0025 um:zero minimum:5000 name:L1D_TLB : Level 1 data TLB access
+event:0x0026 um:zero minimum:5000 name:L1I_TLB : Level 1 instruction TLB access
+event:0x002D um:zero minimum:5000 name:L2D_TLB_REFILL : Attributable 
memory-read/write operation that causes a TLB refill of at least the Level 2 
data or unified TLB
+event:0x002E um:zero minimum:5000 name:L2I_TLB_REFILL : Attributable 
instruction memory accesses that cause a TLB refill of at least the Level 2 
instruction or unified TLB
+event:0x002F um:zero minimum:5000 name:L2D_TLB : Attributable memory 
read/write operation that causes a TLB access to at least the Level 2 data or 
unified TLB
+event:0x0030 um:zero minimum:5000 name:L2I_TLB : Attributable memory 
read/write operation that causes a TLB access to at least the Level 2 
instruction or unified TLB
+event:0x0040 um:zero minimum:10007 name:L1D_CACHE_RD : Level 1 data cache 
access, read
+event:0x0041 um:zero minimum:10007 name:L1D_CACHE_WR : Level 1 data cache 
access, write
+event:0x0042 um:zero minimum:10007 name:L1D_CACHE_REFILL_RD : Level 1 data 
cache refill, read
+event:0x0043 um:zero minimum:10007 name:L1D_CACHE_REFILL_WR : Level 1 data 
cache refill, write
+event:0x0044 um:zero minimum:10007 name:L1D_CACHE_REFILL_INNER : Level 1 data 
cache refill, inner
+event:0x0045 um:zero minimum:10007 name:L1D_CACHE_REFILL_OUTER : Level 1 data 
cache refill, outer
+event:0x0046 um:zero minimum:10007 name:L1D_CACHE_WB_VICTIM : Level 1 data 
cache write-back, victim (threadless)
+event:0x0047 um:zero minimum:10007 name:L1D_CACHE_WB_CLEAN : Level 1 data 
cache write-back, cleaning and coherency (thread- less)
+event:0x0048 um:zero minimum:10007 name:L1D_CACHE_INVAL : Level 1 data cache 
invalidate (threadless)
+event:0x004C um:zero minimum:10007 name:L1D_TLB_REFILL_RD : Level 1 data TLB 
refill, read
+event:0x004D um:zero minimum:10007 name:L1D_TLB_REFILL_WR : Level 1 data TLB 
refill, wirte
+event:0x004E um:zero minimum:10007 name:L1D_TLB_RD : Level 1 data TLB access, 
read
+event:0x004F um:zero minimum:10007 name:L1D_TLB_WR : Level 1 data TLB access, 
write
+event:0x0050 um:zero minimum:10007 name:L2D_CACHE_RD : Level 2 data cache 
access, read
+event:0x0051 um:zero minimum:10007 name:L2D_CACHE_WR : Level 2 data cache 
access, write
+event:0x0052 um:zero minimum:10007 name:L2D_CACHE_REFILL_RD : Level 2 data 
cache refill, read
+event:0x0053 um:zero minimum:10007 name:L2D_CACHE_REFILL_WR : Level 2 data 
cache refill, write
+event:0x0056 um:zero minimum:10007 name:L2D_CACHE_WB_VICTIM : Level 2 data 
cache write-back, victim
+event:0x0057 um:zero minimum:10007 name:L2D_CACHE_WB_CLEAN : Level 2 data 
cache write-back, cleaning and coherency
+event:0x0058 um:zero minimum:10007 name:L2D_CACHE_INVAL : Level 2 data cache 
invalidate
+event:0x005C um:zero minimum:10007 name:L2D_TLB_REFILL_RD : Level 2 
data/unified TLB refill, read
+event:0x005D um:zero minimum:10007 name:L2D_TLB_REFILL_WR : Level 2 
data/unified TLB refill, write
+event:0x005E um:zero minimum:10007 name:L2D_TLB_RD : Level 2 data/unified TLB 
access, read
+event:0x005F um:zero minimum:10007 name:L2D_TLB_WR : Level 2 data/unified TLB 
access, read
+event:0x0060 um:zero minimum:10007 name:BUS_ACCESS_RD : Bus access, read
+event:0x0061 um:zero minimum:10007 name:BUS_ACCESS_WR : Bus access, write
+event:0x0062 um:zero minimum:10007 name:BUS_ACCESS_SHARED : Bus access, 
Normal, Cacheable, Shareable
+event:0x0063 um:zero minimum:10007 name:BUS_ACCESS_NOT_SHARED : Bus access, 
not Normal, Cacheable, Shareable
+event:0x0064 um:zero minimum:10007 name:BUS_ACCESS_NORMAL : Bus access, normal
+event:0x0065 um:zero minimum:10007 name:BUS_ACCESS_PERIPH : Bus access, 
peripheral
+event:0x0066 um:zero minimum:10007 name:MEM_ACCESS_RD : Data memory access, 
read
+event:0x0067 um:zero minimum:10007 name:MEM_ACCESS_WR : Data memory access, 
write
+event:0x0068 um:zero minimum:10007 name:UNALIGNED_LD_SPEC : Unaligned access, 
read
+event:0x0069 um:zero minimum:10007 name:UNALIGNED_ST_SPEC : Unaligned access, 
write (threadless)
+event:0x006A um:zero minimum:10007 name:UNALIGNED_LDST_SPEC : Unaligned access 
(threadless)
+event:0x006C um:zero minimum:10007 name:LDREX_SPEC : Exclusive operation 
speculatively executed, LDREX or LDX
+event:0x006D um:zero minimum:10007 name:STREX_PASS_SPEC : Exclusive operation 
speculatively executed, STREX or STX pass
+event:0x006E um:zero minimum:10007 name:STREX_FAIL_SPEC : Exclusive operation 
speculatively executed, STREX or STX fail
+event:0x006F um:zero minimum:10007 name:STREX_SPEC : Exclusive operation 
speculatively executed, STREX or STX
+event:0x0070 um:zero minimum:10007 name:LD_SPEC : Operation speculatively 
executed, load
+event:0x0071 um:zero minimum:10007 name:ST_SPEC : Operation speculatively 
executed, store
+event:0x0072 um:zero minimum:10007 name:LDST_SPEC : Operation speculatively 
executed, load or store
+event:0x0073 um:zero minimum:10007 name:DP_SPEC : Operation speculatively 
executed, integer data processing
+event:0x0074 um:zero minimum:10007 name:ASE_SPEC : Operation speculatively 
executed, Advanced SIMD instruction
+event:0x0075 um:zero minimum:10007 name:VFP_SPEC : Operation speculatively 
executed, floating-point instruction
+event:0x0077 um:zero minimum:10007 name:CRYPTO_SPEC : Operation speculatively 
executed, Cryptographic instruction
+event:0x0078 um:zero minimum:10007 name:BR_IMMED_SPEC : Branch speculatively 
executed, immediate branch
+event:0x0079 um:zero minimum:10007 name:BR_RETURN_SPEC : Branch speculatively 
executed, procedure return
+event:0x007A um:zero minimum:10007 name:BR_INDIRECT_SPEC : Branch 
speculatively executed, indirect branch
+event:0x007C um:zero minimum:10007 name:ISB_SPEC : Barrier speculatively 
executed, ISB
+event:0x007D um:zero minimum:10007 name:DSB_SPEC : Barrier speculatively 
executed, DSB
+event:0x007E um:zero minimum:10007 name:DMB_SPEC : Barrier speculatively 
executed, DMB
+event:0x0081 um:zero minimum:10007 name:EXC_UNDEF : Exception taken, Other 
synchronous
+event:0x0082 um:zero minimum:10007 name:EXC_SVC : Exception taken, Supervisor 
Call
+event:0x0083 um:zero minimum:10007 name:EXC_PABORT : Exception taken, 
Instruction Abort
+event:0x0084 um:zero minimum:10007 name:EXC_DABORT : Exception taken, Data 
Abort and SError
+event:0x0086 um:zero minimum:10007 name:EXC_IRQ : Exception taken, IRQ
+event:0x0087 um:zero minimum:10007 name:EXC_FIQ : Exception taken, FIQ
+event:0x0088 um:zero minimum:10007 name:EXC_SMC : Exception taken, Secure 
Monitor Call
+event:0x008A um:zero minimum:10007 name:EXC_HVC : Exception taken, Hypervisor 
Call
+event:0x008B um:zero minimum:10007 name:EXC_TRAP_PABORT : Exception taken, 
Instruction Abort not taken locally
+event:0x008C um:zero minimum:10007 name:EXC_TRAP_DABORT : Exception taken, 
Data Abort or SError not taken locally
+event:0x008D um:zero minimum:10007 name:EXC_TRAP_OTHER : Exception taken, 
Other traps not taken locally
+event:0x008E um:zero minimum:10007 name:EXC_TRAP_IRQ : Exception taken, IRQ 
not taken locally
+event:0x008F um:zero minimum:10007 name:EXC_TRAP_FIQ : Exception taken, FIQ 
not taken locally
+event:0x0090 um:zero minimum:10007 name:RC_LD_SPEC : Release consistency 
operation speculatively executed, Load Acquire
+event:0x0091 um:zero minimum:10007 name:RC_ST_SPEC : Release consistency 
operation speculatively executed, Store Release
+event:0x00C1 um:zero minimum:10007 name:L1D_LHS_VANOTP : A Load hit store 
retry. VA match against an older entryin the SRQ but the PA mismatches
+event:0x00C2 um:zero minimum:10007 name:L1D_LHS_OVRLAP : Load hit store retry. 
VA match against an older entry in the SRQ but the required load bytes are not 
all contained
+event:0x00C3 um:zero minimum:10007 name:L1D_LHS_VANOSD : Load hit store retry. 
VA match against an older entry in the SRQ but the associated store data has 
not been issued yet
+event:0x00C4 um:zero minimum:10007 name:L1D_LHS_FWD : Load hit store 
forwarding. Load completes with data successfully forwarded from the SRQ
+event:0x00C6 um:zero minimum:10007 name:L1D_BNKCFL : Bank Conflict load retry. 
A load that hits in the L1 retriesdue a bank read conflict with another higher 
priority port of the L1
+event:0x00C7 um:zero minimum:10007 name:L1D_LSMQ_FULL : LSMQ full retry. A 
load misses the L1 but retries due to the LSMQ being full. Upon retry, sleep in 
the SCH until a fill return
+event:0x00C8 um:zero minimum:10007 name:L1D_LSMQ_HIT : LSMQ hit retry. A load 
misses the L1 but retries due to hitting an LSMQ that already has 2 loads 
al-located to it
+event:0x00C9 um:zero minimum:10007 name:L1D_EXPB_MISS : An external probe 
missed the L1
+event:0x00CA um:zero minimum:10007 name:L1D_L2EV_MISS : An L2 Evict operation 
missed the L1
+event:0x00CB um:zero minimum:10007 name:L1D_EXPB_HITM : An external probe hit 
a modified line in the L1. (threadless)
+event:0x00CC um:zero minimum:10007 name:L1D_L2EV_HITM : An L2 Evict operation 
hit a modified line in the L1. (threadless)
+event:0x00CD um:zero minimum:10007 name:L1D_EXPB_HIT : An external probe hit 
in the L1.(threadless)
+event:0x00CE um:zero minimum:10007 name:L1D_L2EV_HIT : An L2 Evict operation 
hit in the L1. (threadless)
+event:0x00CF um:zero minimum:10007 name:L1D_EXPB_RETRY : An external probe hit 
was retried by the LSU. (threadless)
+event:0x00D0 um:zero minimum:10007 name:L1D_L2EV_RETRY : An L2 Evict operation 
was retried by the LSU. (threadless)
+event:0x00D1 um:zero minimum:10007 name:L1D_ST_RMW : A read modify write store 
was drained and updated the L1. A RmW store is any store that up-dates 1, 2, or 
3 bytes of a bank
+event:0x00D2 um:zero minimum:10007 name:L1D_LSMQ00_LDREQ : A load has 
allocated LSMQ entry 0 and made a request to the SCU
+event:0x00D3 um:zero minimum:10007 name:L1D_LSMQ00_LDVLD : LSMQ entry 0 was 
initiated by a load and is valid this cycle. (threadless)
+event:0x00D4 um:zero minimum:10007 name:L1D_LSMQ15_STREQ : A store has 
allocated LSMQ entry 15 and made a request to the SCU
+event:0x00D5 um:zero minimum:10007 name:L1D_LSMQ15_STVLD : LSMQ entry 15 was 
initiated by a store and is valid this cycle. (threadless)
+event:0x00D6 um:zero minimum:10007 name:L1D_PB_FLUSH : LRQ ordering flush
+event:0x00E0 um:zero minimum:10007 name:BR_COND_MIS_PRED_RETIRED : Conditional 
branch instruction executed, but mis-predicted
+event:0x00E1 um:zero minimum:10007 name:BR_IND_MIS_PRED_RETIRED : Indirect 
branch instruction executed, but mis-predicted
+event:0x00E2 um:zero minimum:10007 name:BR_RETURN_MIS_PREDRETIRED : Return 
branch instruction executed, but mis-predicted
+event:0x00E8 um:zero minimum:10007 name:OP_RETIRED : Uops executed
+event:0x00E9 um:zero minimum:10007 name:LD_OP_RETIRED : Load uops executed
+event:0x00EA um:zero minimum:10007 name:ST_OP_RETIRED : Store uops executed
+event:0x00EB um:zero minimum:10007 name:FUSED_OP_RETIRED : Fused uops executed
+event:0x00F8 um:zero minimum:10007 name:IRQ_MASK : Cumulative duration of a 
PSTATE. I interrupt mask set to 1
+event:0x00F9 um:zero minimum:10007 name:FIQ_MASK : Cumulative duration of a 
PSTATE. F interrupt mask set to 1
+event:0x00FA um:zero minimum:10007 name:SERROR_MASK : Cumulative duration of a 
PSTATE. A interrupt mask set to 1
+event:0x0108 um:zero minimum:10007 name:WFIWFE_SLEEP : Count every cycle in 
which the CPU is asleep due to having entered a low power mode on executing a 
WFI or WFE instruction
+event:0x0127 um:zero minimum:10007 name:L2TLB_4K_PAGE_MISS : L2 TLB lookup 
miss using 4K page size
+event:0x0128 um:zero minimum:10007 name:L2TLB_64K_PAGE_MISS : L2 TLB lookup 
miss using 64K page size
+event:0x0129 um:zero minimum:10007 name:L2TLB_2M_PAGE_MISS : L2 TLB lookup 
miss using 2M page size
+event:0x012A um:zero minimum:10007 name:L2TLB_512M_PAGE_MISS : L2 TLB lookup 
miss using 512M page size
+event:0x0150 um:zero minimum:10007 name:ISB_EMPTY : Number of cycles during 
which micro-op skid-buffer in empty.
+event:0x0151 um:zero minimum:10007 name:ISB_FULL : Num of cycles uop 
skid-buffer is back-pressuring decode. (5 or more entries are occupied)
+event:0x0152 um:zero minimum:10007 name:STALL_NOTSELECTED : Number of cycles 
during which thread was available for dispatch but was not selected
+event:0x0153 um:zero minimum:10007 name:ROB_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch due to ROB full
+event:0x0154 um:zero minimum:10007 name:ISSQ_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch because the instruction 
issue queue is full
+event:0x0155 um:zero minimum:10007 name:GPR_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch because GPR renamer pool is 
empty
+event:0x0156 um:zero minimum:10007 name:FPR_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch because the FPR renamer 
pool is empty
+event:0x0158 um:zero minimum:10007 name:LRQ_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch due to LRQ full
+event:0x0159 um:zero minimum:10007 name:SRQ_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch due to SRQ full
+event:0x015B um:zero minimum:10007 name:BSR_RECYCLE : Number of cycles in 
which one or more valid micro-ops did not dis-patch because the branch 
check-point buffer is full
+event:0x0164 um:zero minimum:10007 name:UOPSFUSED : Number of fused micro-ops 
dispatched
+event:0x020B um:zero minimum:10007 name:L2D_TLBI_INT : Internal mmu tlbi 
cacheops
+event:0x020C um:zero minimum:10007 name:L2D_TLBI_EXT : External mmu tlbi 
cacheops
+event:0x0218 um:zero minimum:10007 name:L2D_HWPF_DMD_HIT : Scu ld/st requests 
that hit cache or msq for lines brought in by the hardware prefetcher
+event:0x0219 um:zero minimum:10007 name:L2D_HWPF_REQ_VAL : Scu hwpf requests 
into the pipeline
+event:0x021A um:zero minimum:10007 name:L2D_HWPF_REQ_LD : Scu hwpf ld requests 
into the pipeline
+event:0x021B um:zero minimum:10007 name:L2D_HWPF_REQ_MISS : Scu hwpf requests 
that miss
+event:0x021C um:zero minimum:10007 name:L2D_HWPF_NEXT_LINE : Scu hwpf next 
line requests generated
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/events/arm/armv8-thunderx2/unit_masks 
new/oprofile-1.4.0/events/arm/armv8-thunderx2/unit_masks
--- old/oprofile-1.3.0/events/arm/armv8-thunderx2/unit_masks    1970-01-01 
01:00:00.000000000 +0100
+++ new/oprofile-1.4.0/events/arm/armv8-thunderx2/unit_masks    2019-03-21 
20:15:18.000000000 +0100
@@ -0,0 +1,3 @@
+# ARMv8 architected events unit masks
+#
+include:arm/armv8-pmuv3-common
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libop/op_cpu_type.c new/oprofile-1.4.0/libop/op_cpu_type.c
--- old/oprofile-1.3.0/libop/op_cpu_type.c      2018-04-02 21:43:44.000000000 
+0200
+++ new/oprofile-1.4.0/libop/op_cpu_type.c      2019-05-09 15:37:13.000000000 
+0200
@@ -122,6 +122,7 @@
        { "ARM Cortex-A17", "arm/armv7-ca17", CPU_ARM_V7_CA17, 7 },
        { "ppc64 POWER9", "ppc64/power9", CPU_PPC64_POWER9, 6 },
        { "Intel Knights Landing", "i386/knightslanding", CPU_KNIGHTSLANDING, 4 
},
+       { "Cavium ThunderX2", "arm/armv8-thunderx2", 
CPU_ARM_V8_CAVIUM_THUNDERX2, 6 }, 
 };
  
 static size_t const nr_cpu_descrs = sizeof(cpu_descrs) / sizeof(struct 
cpu_descr);
@@ -429,6 +430,13 @@
                switch (cpuid) {
                case 0x00f:
                        return op_get_cpu_number("arm/armv7-ca15");
+               case 0x516:
+                       return op_get_cpu_number("arm/armv8-thunderx2");
+               }
+       } else if (vendorid == 0x43) { /* Cavium */
+               switch (cpuid) {
+               case 0x0af:
+                       return op_get_cpu_number("arm/armv8-thunderx2");
                }
        } else if (vendorid == 0x50) {  /* Applied Micro Circuits Corporation */
                switch (cpuid) {
@@ -591,7 +599,8 @@
 
        if (cpuid_vendor("GenuineIntel")) {
                ret = _get_intel_cpu_type();
-       } else if (cpuid_vendor("AuthenticAMD")) {
+       } else if (cpuid_vendor("AuthenticAMD") ||
+                  cpuid_vendor("HygonGenuine")) {
                ret = _get_amd_cpu_type();
        }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libop/op_cpu_type.h new/oprofile-1.4.0/libop/op_cpu_type.h
--- old/oprofile-1.3.0/libop/op_cpu_type.h      2018-01-18 17:46:48.000000000 
+0100
+++ new/oprofile-1.4.0/libop/op_cpu_type.h      2019-03-21 20:15:18.000000000 
+0100
@@ -108,6 +108,7 @@
        CPU_ARM_V7_CA17, /* ARM Cortex-A17 */
        CPU_PPC64_POWER9, /**< ppc64 POWER8 family */
        CPU_KNIGHTSLANDING, /** Intel Knights Landing microarchitecture */
+       CPU_ARM_V8_CAVIUM_THUNDERX2, /* Cavium ThunderX2 */
        MAX_CPU_TYPE
 } op_cpu;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libop/op_events.c new/oprofile-1.4.0/libop/op_events.c
--- old/oprofile-1.3.0/libop/op_events.c        2018-01-18 17:46:48.000000000 
+0100
+++ new/oprofile-1.4.0/libop/op_events.c        2019-03-21 20:15:18.000000000 
+0100
@@ -1247,6 +1247,7 @@
                case CPU_ARM_V8_APM_XGENE:
                case CPU_ARM_V8_CA57:
                case CPU_ARM_V8_CA53:
+               case CPU_ARM_V8_CAVIUM_THUNDERX2:
                        descr->name = "CPU_CYCLES";
                        break;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libpe_utils/op_pe_utils.cpp 
new/oprofile-1.4.0/libpe_utils/op_pe_utils.cpp
--- old/oprofile-1.3.0/libpe_utils/op_pe_utils.cpp      2018-07-16 
20:58:37.000000000 +0200
+++ new/oprofile-1.4.0/libpe_utils/op_pe_utils.cpp      2019-05-09 
15:37:13.000000000 +0200
@@ -415,7 +415,9 @@
 #if defined(__i386__) || defined(__x86_64__)
        // Setup EventSelct[11:8] field for AMD
        const char * vendor_AMD = "AuthenticAMD";
-       if (op_is_cpu_vendor((char *)vendor_AMD)) {
+       const char * vendor_Hygon = "HygonGenuine";
+       if (op_is_cpu_vendor((char *)vendor_AMD) ||
+           op_is_cpu_vendor((char *)vendor_Hygon)) {
                config = base_code & 0xF00ULL;
                config = config << 32;
        }
@@ -588,7 +590,7 @@
                }
                if (line[0] == ' ' || line[0] == '\t')
                        continue;
-               if (!strncmp(line, event_name, evt_name_len)) {
+               if (evt_name_len && !strncmp(line, event_name, evt_name_len)) {
                        // Found a potential match.  Check if it's a perfect 
match.
                        string save_event_name = event_name;
                        size_t full_evt_len = index(line, ':') - line;
@@ -654,7 +656,7 @@
                        string str = event.name;
                        strncpy(evt_name, event.name, str.rfind("_GRP"));
                } else {
-                       strncpy(evt_name, event.name, strlen(event.name));
+                       strncpy(evt_name, event.name, strlen(evt_name));
                }
 
                /* Events where the "_EDGE_COUNT" suffix has been appended to a
@@ -734,7 +736,7 @@
                        string str = event.name;
                        strncpy(evt_name, event.name, str.rfind("_GRP"));
                } else {
-                       strncpy(evt_name, event.name, strlen(event.name));
+                       strncpy(evt_name, event.name, sizeof(evt_name));
                }
 
                /* Events where the "_EDGE_COUNT" suffix has been appended to a
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libperf_events/operf_sfile.h 
new/oprofile-1.4.0/libperf_events/operf_sfile.h
--- old/oprofile-1.3.0/libperf_events/operf_sfile.h     2015-10-02 
23:23:12.000000000 +0200
+++ new/oprofile-1.4.0/libperf_events/operf_sfile.h     2019-09-24 
16:04:53.000000000 +0200
@@ -101,6 +101,7 @@
        u32 tgid;
        vma_t start_addr;
        vma_t end_addr;
+       u64 pgoff;
        bool cg;
        // TODO: handle extended
        //void * ext;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libperf_events/operf_utils.cpp 
new/oprofile-1.4.0/libperf_events/operf_utils.cpp
--- old/oprofile-1.3.0/libperf_events/operf_utils.cpp   2018-07-16 
20:58:37.000000000 +0200
+++ new/oprofile-1.4.0/libperf_events/operf_utils.cpp   2019-09-24 
16:04:53.000000000 +0200
@@ -320,7 +320,8 @@
                        cout << "PERF_RECORD_MMAP for process " << hex << 
event->mmap.pid << "/"
                             << event->mmap.tid << ": " << event->mmap.filename 
<< endl;
                        cout << "\tstart_addr: " << hex << mapping->start_addr
-                            << "; end addr: " << mapping->end_addr << endl;
+                            << "; end addr: " << mapping->end_addr
+                            << "; pgoff: " << mapping->pgoff << endl;
                }
 
                if (event->header.misc & PERF_RECORD_MISC_USER)
@@ -465,6 +466,7 @@
                trans.image_len = strlen(trans.image_name);
                trans.start_addr = op_mmap->start_addr;
                trans.end_addr = op_mmap->end_addr;
+               trans.pgoff = op_mmap->pgoff;
                trans.tgid = data->pid;
                trans.tid = data->tid;
                trans.cur_procinfo = proc;
@@ -474,7 +476,7 @@
                if (trans.in_kernel || trans.is_anon)
                        trans.pc = data->ip;
                else
-                       trans.pc = data->ip - trans.start_addr;
+                       trans.pc = data->ip + trans.pgoff - trans.start_addr;
 
                trans.sample_id = data->id;
                retval = &trans;
@@ -767,7 +769,7 @@
                if (trans.is_anon)
                        trans.pc = data.ip;
                else
-                       trans.pc = data.ip - trans.start_addr;
+                       trans.pc = data.ip + trans.pgoff - trans.start_addr;
                found_trans = true;
        }
 
@@ -1062,6 +1064,7 @@
                        size = align_64bit(size);
                        mmap.start = start_addr;
                        mmap.len = end_addr - mmap.start;
+                       mmap.pgoff = offset;
                        mmap.pid = tgid;
                        mmap.tid = tgid;
                        mmap.header.size = (sizeof(mmap) -
@@ -1133,6 +1136,7 @@
                        size = align_64bit(size);
                        mmap.start = start_addr;
                        mmap.len = end_addr - mmap.start;
+                       mmap.pgoff = offset;
                        mmap.pid = tgid;
                        mmap.tid = pid;
                        mmap.header.size = (sizeof(mmap) -
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libutil/Makefile.am new/oprofile-1.4.0/libutil/Makefile.am
--- old/oprofile-1.3.0/libutil/Makefile.am      2015-06-05 22:39:34.000000000 
+0200
+++ new/oprofile-1.4.0/libutil/Makefile.am      2020-07-06 17:23:56.000000000 
+0200
@@ -28,4 +28,5 @@
        op_version.c \
        op_version.h \
        op_growable_buffer.c \
-       op_growable_buffer.h
+       op_growable_buffer.h \
+       op_bfd_wrappers.h
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libutil/op_bfd_wrappers.h 
new/oprofile-1.4.0/libutil/op_bfd_wrappers.h
--- old/oprofile-1.3.0/libutil/op_bfd_wrappers.h        1970-01-01 
01:00:00.000000000 +0100
+++ new/oprofile-1.4.0/libutil/op_bfd_wrappers.h        2020-03-23 
17:14:14.000000000 +0100
@@ -0,0 +1,28 @@
+/**
+ * @file op_bfd_wrappers.h
+ * Wrappers to hide API changes in binutils 2.34
+ *
+ * @remark Copyright 2020 OProfile authors
+ * @remark Read the file COPYING
+ *
+ * @author William Cohen
+ */
+
+#ifndef OP_BFD_WRAPPERS_H
+#define OP_BFD_WRAPPERS_H
+
+#if HAVE_BINUTILS_234
+#define op_bfd_section_size(ibfd, sec) bfd_section_size(sec)
+#define op_bfd_get_section_flags(abfd, sec) bfd_section_flags(sec)
+#define op_bfd_set_section_flags(abfd, sec, flags) bfd_set_section_flags(sec, 
flags)
+#define op_bfd_set_section_vma(abfd, sec, vma) bfd_set_section_vma(sec, vma)
+#define op_bfd_set_section_size(abfd, sec, size) bfd_set_section_size(sec, 
size)
+#else
+#define op_bfd_section_size(ibfd, sec) bfd_section_size(ibfd, sec)
+#define op_bfd_get_section_flags(abfd, sec) bfd_get_section_flags(abfd, sec)
+#define op_bfd_set_section_flags(abfd, sec, flags) bfd_set_section_flags(abfd, 
sec, flags)
+#define op_bfd_set_section_vma(abfd, sec, vma) bfd_set_section_vma(abfd, sec, 
vma)
+#define op_bfd_set_section_size(abfd, sec, size) bfd_set_section_size(abfd, 
sec, size)
+#endif
+
+#endif /* !OP_BFD_WRAPPERS_H */
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libutil++/bfd_support.cpp 
new/oprofile-1.4.0/libutil++/bfd_support.cpp
--- old/oprofile-1.3.0/libutil++/bfd_support.cpp        2015-07-07 
16:04:37.000000000 +0200
+++ new/oprofile-1.4.0/libutil++/bfd_support.cpp        2020-03-23 
17:14:14.000000000 +0100
@@ -19,6 +19,7 @@
 #include "locate_images.h"
 #include "op_libiberty.h"
 #include "op_exception.h"
+#include "op_bfd_wrappers.h"
 
 #include <unistd.h>
 #include <errno.h>
@@ -137,7 +138,7 @@
                }
        }
 
-       bfd_size_type buildid_sect_size = bfd_section_size(ibfd, sect);
+       bfd_size_type buildid_sect_size = op_bfd_section_size(ibfd, sect);
        char * contents = (char *) xmalloc(buildid_sect_size);
        errno = 0;
        if (!bfd_get_section_contents(ibfd, sect,
@@ -188,7 +189,7 @@
        if (sect == NULL)
                return false;
        
-       bfd_size_type debuglink_size = bfd_section_size(ibfd, sect);  
+       bfd_size_type debuglink_size = op_bfd_section_size(ibfd, sect);
        char * contents = (char *) xmalloc(debuglink_size);
        cverb << vbfd
              << ".gnu_debuglink section has size " << debuglink_size << endl;
@@ -346,7 +347,7 @@
        // first restrict the search on a sensible range of vma, 16 is
        // an intuitive value based on epilog code look
        size_t max_search = 16;
-       size_t section_size = bfd_section_size(abfd, section);
+       size_t section_size = op_bfd_section_size(abfd, section);
        if (pc + max_search > section_size)
                max_search = section_size - pc;
 
@@ -819,10 +820,10 @@
        else
                pc = (sym.value() + offset) - sym.filepos();
 
-       if ((bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
+       if ((op_bfd_get_section_flags(abfd, section) & SEC_ALLOC) == 0)
                goto fail;
 
-       if (pc >= bfd_section_size(abfd, section))
+       if (pc >= op_bfd_section_size(abfd, section))
                goto fail;
 
        ret = bfd_find_nearest_line(abfd, section, syms, pc, &cfilename,
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/libutil++/tests/utility_tests.cpp 
new/oprofile-1.4.0/libutil++/tests/utility_tests.cpp
--- old/oprofile-1.3.0/libutil++/tests/utility_tests.cpp        2017-06-29 
16:44:14.000000000 +0200
+++ new/oprofile-1.4.0/libutil++/tests/utility_tests.cpp        2019-04-30 
17:49:04.000000000 +0200
@@ -21,13 +21,13 @@
 static int nb_new;
 static int nb_new_array;
 
-void* operator new(size_t size) throw(bad_alloc)
+void* operator new(size_t size)
 {
        nb_new++;
        return malloc(size);
 }
 
-void* operator new[](size_t size) throw(bad_alloc)
+void* operator new[](size_t size)
 {
        nb_new_array++;
        return malloc(size);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/opjitconv/create_bfd.c 
new/oprofile-1.4.0/opjitconv/create_bfd.c
--- old/oprofile-1.3.0/opjitconv/create_bfd.c   2015-06-05 22:39:34.000000000 
+0200
+++ new/oprofile-1.4.0/opjitconv/create_bfd.c   2020-03-23 17:14:14.000000000 
+0100
@@ -16,6 +16,7 @@
 
 #include "opjitconv.h"
 #include "op_libiberty.h"
+#include "op_bfd_wrappers.h"
 
 #include <bfd.h>
 #include <assert.h>
@@ -86,12 +87,12 @@
                bfd_perror("bfd_make_section");
                goto error;
        }
-       bfd_set_section_vma(abfd, section, vma);
-       if (bfd_set_section_size(abfd, section, size) == FALSE) {
+       op_bfd_set_section_vma(abfd, section, vma);
+       if (op_bfd_set_section_size(abfd, section, size) == FALSE) {
                bfd_perror("bfd_set_section_size");
                goto error;
        }
-       if (bfd_set_section_flags(abfd, section, flags) == FALSE) {
+       if (op_bfd_set_section_flags(abfd, section, flags) == FALSE) {
                bfd_perror("bfd_set_section_flags");
                goto error;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/opjitconv/opjitconv.c 
new/oprofile-1.4.0/opjitconv/opjitconv.c
--- old/oprofile-1.3.0/opjitconv/opjitconv.c    2018-07-16 20:58:37.000000000 
+0200
+++ new/oprofile-1.4.0/opjitconv/opjitconv.c    2019-08-14 20:01:53.000000000 
+0200
@@ -313,6 +313,7 @@
        time_t dumpfile_modtime;
        struct op_jitdump_info dmp_info;
        char * elf_file = NULL;
+       char * tempstring = NULL;
        char * proc_id = NULL;
        char const * anon_dir;
        char const * dumpfilename = rindex(dmp_pathname, '/');
@@ -390,11 +391,12 @@
                }
                result_dir_length = ++anon_path_seg - anon_dir;
                /* create final ELF file name */
-               elf_file_size = result_dir_length
+               elf_file_size = result_dir_length + strlen("/")
                        + 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);
+               tempstring = xmalloc(elf_file_size);
+               snprintf(tempstring, result_dir_length, "%s",anon_dir);
+               snprintf(elf_file, elf_file_size, 
"%s/%s.jo",tempstring,proc_id);
                /* create temporary ELF file name */
                tmp_elffile_size = strlen(tmp_conv_dir) + 1
                        + strlen(proc_id) + strlen(".jo") + 1;
@@ -722,8 +724,8 @@
        /* Delete temporary working directory with all its files
         * (i.e. dump and ELF file).
         */
-       sprintf(sys_cmd_buffer, "/bin/rm -rf '%s'", tmp_conv_dir);
-       if (system(sys_cmd_buffer) != 0) {
+       retlen=snprintf(sys_cmd_buffer,sizeof(sys_cmd_buffer), "/bin/rm -rf 
'%s'", tmp_conv_dir);
+       if ((retlen <=0 ) || (system(sys_cmd_buffer) != 0)) {
                printf("opjitconv: Removing temporary working directory 
failed.\n");
                rc = OP_JIT_CONV_TMPDIR_NOT_REMOVED;
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/pe_counting/ocount.cpp 
new/oprofile-1.4.0/pe_counting/ocount.cpp
--- old/oprofile-1.3.0/pe_counting/ocount.cpp   2016-08-10 04:32:49.000000000 
+0200
+++ new/oprofile-1.4.0/pe_counting/ocount.cpp   2019-07-25 16:35:48.000000000 
+0200
@@ -242,6 +242,10 @@
 
        // parent
        int startup;
+       if ( app_PID != -1)
+               // app_PID child process created successfully
+               app_started = true;
+
        if (startApp) {
                if (read(app_ready_pipe[0], &startup, sizeof(startup)) == -1) {
                        perror("Internal error on app_ready_pipe");
@@ -297,7 +301,6 @@
                        perror("Internal error on start_app_pipe");
                        return false;
                }
-               app_started = true;
        }
 
        return ret;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude 
config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 
--exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh 
old/oprofile-1.3.0/utils/ophelp.c new/oprofile-1.4.0/utils/ophelp.c
--- old/oprofile-1.3.0/utils/ophelp.c   2018-07-16 21:49:20.000000000 +0200
+++ new/oprofile-1.4.0/utils/ophelp.c   2019-03-21 20:15:18.000000000 +0100
@@ -51,7 +51,7 @@
        return count;
 }
 
-#define LINE_LEN 999
+#define LINE_LEN 99
 
 static void word_wrap(int indent, int *column, char *msg)
 {
@@ -662,6 +662,13 @@
                        "Cortex A57 DDI (ARM DDI 0500D, revision r0p2)\n";
                break;
 
+       case CPU_ARM_V8_CAVIUM_THUNDERX2:
+                event_doc =
+                       "See ARM Architecture Reference Manual \n"
+                       "ARMv8, for ARMv8-A architecture profile\n"
+                       "DDI (ARM DDI0487D.a)\n";
+               break;
+
        case CPU_PPC64_POWER4:
        case CPU_PPC64_POWER5:
        case CPU_PPC64_POWER6:

Reply via email to