Hello community,

here is the log from the commit of package oprofile for openSUSE:Factory 
checked in at 2020-04-08 19:57:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/oprofile (Old)
 and      /work/SRC/openSUSE:Factory/.oprofile.new.3248 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "oprofile"

Wed Apr  8 19:57:19 2020 rev:53 rq:792470 version:1.3.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/oprofile/oprofile.changes        2020-01-24 
13:13:30.349489519 +0100
+++ /work/SRC/openSUSE:Factory/.oprofile.new.3248/oprofile.changes      
2020-04-08 19:57:44.325169640 +0200
@@ -1,0 +2,7 @@
+Wed Apr  8 12:11:10 UTC 2020 - Christophe Giboudeaux <[email protected]>
+
+- Add upstream patch:
+  * oprofile-handle-binutils-2_34.patch
+- Spec cleanup
+
+-------------------------------------------------------------------

New:
----
  oprofile-handle-binutils-2_34.patch

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

Other differences:
------------------
++++++ oprofile.spec ++++++
--- /var/tmp/diff_new_pack.aLXWCu/_old  2020-04-08 19:57:45.397170424 +0200
+++ /var/tmp/diff_new_pack.aLXWCu/_new  2020-04-08 19:57:45.401170427 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package oprofile
 #
-# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2020 SUSE LLC
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -22,7 +22,7 @@
 Summary:        System-Wide Profiler for Linux Systems
 License:        GPL-2.0-or-later AND LGPL-2.1-or-later
 Group:          Development/Tools/Other
-Url:            http://oprofile.sourceforge.net/
+URL:            http://oprofile.sourceforge.net/
 Source0:        
http://prdownloads.sourceforge.net/oprofile/oprofile-%{version}.tar.gz
 Source2:        %{name}.rpmlintrc
 Source3:        baselibs.conf
@@ -31,6 +31,8 @@
 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
@@ -42,11 +44,11 @@
 BuildRequires:  libICE-devel
 BuildRequires:  libtool
 BuildRequires:  libxslt
-BuildRequires:  pkg-config
+BuildRequires:  pkgconfig
 BuildRequires:  popt-devel
 BuildRequires:  zlib-devel
-Requires(pre):  %{_sbindir}/groupadd %{_sbindir}/useradd
-BuildRoot:      %{_tmppath}/%{name}-%{version}-build
+Requires(pre):  %{_sbindir}/groupadd
+Requires(pre):  %{_sbindir}/useradd
 %ifarch ppc ppc64 ppc64le
 BuildRequires:  libpfm-devel >= 4.3.0
 %endif
@@ -99,10 +101,7 @@
 from supported virtual machines.
 
 %prep
-%setup -q
-%patch1 -p1
-%patch2 -p1
-%patch3 -p1
+%autosetup -p1
 
 mkdir -p java/include
 # copy files necessary to build Java agent libraries
@@ -122,7 +121,7 @@
 TIME="\"$(date -d "${modified}" "+%%R")\""
 find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec grep -E -e __DATE__ -e 
__TIME__ {} +
 find . -type f -regex ".*\.c\|.*\.cpp\|.*\.h" -exec sed -i 
"s/__DATE__/${DATE}/g;s/__TIME__/${TIME}/g" {} +
-make %{?_smp_mflags}
+%make_build
 
 %install
 make DESTDIR=%{buildroot} htmldir=%{_docdir}/oprofile install
@@ -143,7 +142,6 @@
 %postun -n libopagent1 -p /sbin/ldconfig
 
 %files
-%defattr(-,root,root)
 %{_bindir}/ocount
 %{_bindir}/ophelp
 %{_bindir}/opimport
@@ -164,14 +162,12 @@
 %license COPYING
 
 %files devel
-%defattr(-,root,root)
 %{_includedir}/*
 %{_docdir}/%{name}/op-jit-devel.html
 %dir %{_libdir}/oprofile
 %{_libdir}/oprofile/libopagent.so
 
 %files -n libopagent1
-%defattr(-,root,root)
 %dir %{_libdir}/oprofile
 %{_libdir}/oprofile/libopagent.so.1*
 

++++++ oprofile-handle-binutils-2_34.patch ++++++
>From 377610414fb6cd7ac30e4485d9d6482fcf29aca6 Mon Sep 17 00:00:00 2001
From: William Cohen <[email protected]>
Date: Wed, 18 Mar 2020 21:19:16 -0400
Subject: [PATCH] Macro wrappers to handle the binutils 2.34 api changes

Changes in binutils 2.34 API prevented oprofile from compiling with
it.  This patch tests for the changes in the binutils API during
configuration and selects the appropiate wrappers to allow oprofile to
compile.  This allows oprofile to compile with both older and newer
versions of binutils.
---
 configure.ac              | 20 ++++++++++++++++++++
 libutil++/bfd_support.cpp | 11 ++++++-----
 libutil/op_bfd_wrappers.h | 28 ++++++++++++++++++++++++++++
 opjitconv/create_bfd.c    |  7 ++++---
 4 files changed, 58 insertions(+), 8 deletions(-)
 create mode 100644 libutil/op_bfd_wrappers.h

diff --git a/configure.ac b/configure.ac
index ac2fd35e..df032a78 100644
--- a/configure.ac
+++ b/configure.ac
@@ -224,6 +224,26 @@ if test "$host_cpu" = "powerpc64le" -o "$host_cpu" = 
"powerpc64"; then
 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 --git a/libutil++/bfd_support.cpp b/libutil++/bfd_support.cpp
index fa904839..cd0f4f71 100644
--- a/libutil++/bfd_support.cpp
+++ b/libutil++/bfd_support.cpp
@@ -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 @@ static bool get_build_id(bfd * ibfd, unsigned char * 
build_id)
                }
        }
 
-       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 @@ bool get_debug_link_info(bfd * ibfd, string & filename, 
unsigned long & crc32)
        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 @@ void fixup_linenr(bfd * abfd, asection * section, asymbol 
** syms,
        // 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 @@ find_nearest_line(bfd_info const & b, op_bfd_symbol const 
& sym,
        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 --git a/libutil/op_bfd_wrappers.h b/libutil/op_bfd_wrappers.h
new file mode 100644
index 00000000..b229cc12
--- /dev/null
+++ b/libutil/op_bfd_wrappers.h
@@ -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 --git a/opjitconv/create_bfd.c b/opjitconv/create_bfd.c
index 48db143b..da1e6d29 100644
--- a/opjitconv/create_bfd.c
+++ b/opjitconv/create_bfd.c
@@ -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 @@ asection * create_section(bfd * abfd, char const * 
section_name,
                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;
        }
-- 
2.26.0


Reply via email to