[packages/dyninst] fix build with tbb 2021.4 and finish upgrade
atler
atler at pld-linux.org
Mon Dec 20 02:01:27 CET 2021
commit fe4c339ca03fbd4754b86d836c9da2e2bbaa4e5e
Author: Jan Palus <atler at pld-linux.org>
Date: Mon Dec 20 02:00:13 2021 +0100
fix build with tbb 2021.4 and finish upgrade
dyninst-tbb.patch | 37 +++++++++++++++++++++++++++++++++++++
dyninst.spec | 43 +++++++++++++++++++------------------------
2 files changed, 56 insertions(+), 24 deletions(-)
---
diff --git a/dyninst.spec b/dyninst.spec
index 7fd88fe..5388058 100644
--- a/dyninst.spec
+++ b/dyninst.spec
@@ -2,7 +2,7 @@ Summary: API for Run-time Code Generation
Summary(pl.UTF-8): API do generowania kodu w czasie działania
Name: dyninst
Version: 12.0.1
-Release: 0.1
+Release: 1
License: LGPL v2.1+
Group: Libraries
#Source0Download: https://github.com/dyninst/dyninst/releases
@@ -22,13 +22,15 @@ BuildRequires: libgomp-devel
BuildRequires: libstdc++-devel >= 6:4.7
BuildRequires: rpmbuild(macros) >= 1.605
BuildRequires: sed >= 4.0
-BuildRequires: tbb-devel >= 2018.6
+BuildRequires: tbb-devel >= 2021.4
BuildRequires: texlive-format-pdflatex
Requires: elfutils >= 0.186
-Requires: tbb >= 2018.6
+Requires: tbb >= 2021.4
ExclusiveArch: %{ix86} %{x8664} x32 aarch64 ppc ppc64 aarch64
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+%define skip_post_check_so libparseAPI\.so.*
+
%description
Dyninst is an Application Program Interface (API) to permit the
insertion of code into a running program. The API also permits
@@ -92,6 +94,7 @@ Dokumentacja do bibliotek dyninst.
%patch2 -p1
%build
+export CXXFLAGS="%{rpmcxxflags} -DTBB_DEFINE_STD_HASH_SPECIALIZATIONS"
%cmake . \
-DINSTALL_CMAKE_DIR:PATH=%{_libdir}/cmake/Dyninst \
-DINSTALL_DOC_DIR:PATH=%{_docdir}/dyninst \
@@ -106,12 +109,6 @@ rm -rf $RPM_BUILD_ROOT
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-# File from examples subdir
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/cfg_to_dot
-# Not used binary and non-binary .db files
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/unstrip
-%{__rm} $RPM_BUILD_ROOT%{_bindir}/*.db
-
%clean
rm -rf $RPM_BUILD_ROOT
@@ -121,34 +118,33 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(644,root,root,755)
%doc COPYRIGHT CHANGELOG.md README.md
-%attr(755,root,root) %{_bindir}/codeCoverage
%attr(755,root,root) %{_bindir}/parseThat
%attr(755,root,root) %{_libdir}/libdynC_API.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.12.0
%attr(755,root,root) %{_libdir}/libdynDwarf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.12.0
%attr(755,root,root) %{_libdir}/libdynElf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynElf.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdynElf.so.12.0
%attr(755,root,root) %{_libdir}/libdyncommon.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.12.0
%attr(755,root,root) %{_libdir}/libdyninstAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.12.0
%attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.12.0
%attr(755,root,root) %{_libdir}/libinstructionAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.12.0
%attr(755,root,root) %{_libdir}/libparseAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.12.0
%attr(755,root,root) %{_libdir}/libpatchAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.12.0
%attr(755,root,root) %{_libdir}/libpcontrol.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.12.0
%attr(755,root,root) %{_libdir}/libstackwalk.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.12.0
%attr(755,root,root) %{_libdir}/libsymLite.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymLite.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libsymLite.so.12.0
%attr(755,root,root) %{_libdir}/libsymtabAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.10.1
+%attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.12.0
%files devel
%defattr(644,root,root,755)
@@ -158,7 +154,6 @@ rm -rf $RPM_BUILD_ROOT
%attr(755,root,root) %{_libdir}/libdyncommon.so
%attr(755,root,root) %{_libdir}/libdyninstAPI.so
%attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so
-%attr(755,root,root) %{_libdir}/libInst.so
%attr(755,root,root) %{_libdir}/libinstructionAPI.so
%attr(755,root,root) %{_libdir}/libparseAPI.so
%attr(755,root,root) %{_libdir}/libpatchAPI.so
diff --git a/dyninst-tbb.patch b/dyninst-tbb.patch
index 8be5467..0dcc93f 100644
--- a/dyninst-tbb.patch
+++ b/dyninst-tbb.patch
@@ -8,3 +8,40 @@
)
foreach(f IN ITEMS ${_version_files})
if(EXISTS ${f})
+diff --color -ur dyninst-12.0.1.orig/common/h/concurrent.h dyninst-12.0.1/common/h/concurrent.h
+--- dyninst-12.0.1.orig/common/h/concurrent.h 2021-11-23 22:48:27.000000000 +0100
++++ dyninst-12.0.1/common/h/concurrent.h 2021-12-20 00:43:49.261018867 +0100
+@@ -54,10 +54,10 @@
+
+ template<typename K, typename V>
+ class dyn_c_hash_map : protected tbb::concurrent_hash_map<K, V,
+- tbb::tbb_hash_compare<K>, std::allocator<std::pair<K,V>>> {
++ tbb::tbb_hash_compare<K>, std::allocator<std::pair<const K,V>>> {
+
+ typedef tbb::concurrent_hash_map<K, V,
+- tbb::tbb_hash_compare<K>, std::allocator<std::pair<K,V>>> base;
++ tbb::tbb_hash_compare<K>, std::allocator<std::pair<const K,V>>> base;
+ public:
+ using typename base::value_type;
+ using typename base::mapped_type;
+diff --color -ur dyninst-12.0.1.orig/symtabAPI/src/dwarfWalker.h dyninst-12.0.1/symtabAPI/src/dwarfWalker.h
+--- dyninst-12.0.1.orig/symtabAPI/src/dwarfWalker.h 2021-11-23 22:48:27.000000000 +0100
++++ dyninst-12.0.1/symtabAPI/src/dwarfWalker.h 2021-12-20 00:46:32.186998418 +0100
+@@ -36,6 +36,8 @@
+ }
+
+ namespace tbb {
++namespace detail {
++namespace d1 {
+ using namespace Dyninst::SymtabAPI;
+ template<>
+ struct tbb_hash_compare<type_key> {
+@@ -51,6 +53,8 @@
+ }
+ };
+ }
++}
++}
+
+ namespace Dyninst {
+ namespace SymtabAPI {
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/dyninst.git/commitdiff/fe4c339ca03fbd4754b86d836c9da2e2bbaa4e5e
More information about the pld-cvs-commit
mailing list