Patch use of boost::bind for boost 1.58.
This commit is contained in:
parent
85520eee84
commit
f04d638cd4
42
dyninst-8.2.1-boost-bind.patch
Normal file
42
dyninst-8.2.1-boost-bind.patch
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
commit 28f52285af957fd464485cc706b4b9eba65912cf
|
||||||
|
Author: Josh Stone <jistone@redhat.com>
|
||||||
|
Date: Thu Jul 23 15:28:56 2015 -0700
|
||||||
|
|
||||||
|
dataflowAPI: use boost::bind() instead of bind<void>()
|
||||||
|
|
||||||
|
With boost 1.58, the boost::bind<void>() in Slicer::getPredecessors()
|
||||||
|
gave an "error: call of overloaded 'bind[...]' is ambiguous".
|
||||||
|
|
||||||
|
Every other bind in dyninst uses plain boost::bind(), which does its own
|
||||||
|
inspection of return type. That works well in this case too, even with
|
||||||
|
older boost versions.
|
||||||
|
|
||||||
|
diff --git a/dataflowAPI/src/slicing.C b/dataflowAPI/src/slicing.C
|
||||||
|
index 8f36d8dc3cd6..436961549a9f 100644
|
||||||
|
--- a/dataflowAPI/src/slicing.C
|
||||||
|
+++ b/dataflowAPI/src/slicing.C
|
||||||
|
@@ -722,15 +722,15 @@ Slicer::getPredecessors(
|
||||||
|
const Block::edgelist & sources = cand.loc.block->sources();
|
||||||
|
std::for_each(boost::make_filter_iterator(epred, sources.begin(), sources.end()),
|
||||||
|
boost::make_filter_iterator(epred, sources.end(), sources.end()),
|
||||||
|
- boost::bind<void>(&Slicer::handlePredecessorEdge,
|
||||||
|
- this,
|
||||||
|
- _1,
|
||||||
|
- boost::ref(p),
|
||||||
|
- boost::ref(cand),
|
||||||
|
- boost::ref(newCands),
|
||||||
|
- boost::ref(err),
|
||||||
|
- boost::ref(nf)
|
||||||
|
- ));
|
||||||
|
+ boost::bind(&Slicer::handlePredecessorEdge,
|
||||||
|
+ this,
|
||||||
|
+ _1,
|
||||||
|
+ boost::ref(p),
|
||||||
|
+ boost::ref(cand),
|
||||||
|
+ boost::ref(newCands),
|
||||||
|
+ boost::ref(err),
|
||||||
|
+ boost::ref(nf)
|
||||||
|
+ ));
|
||||||
|
|
||||||
|
return !err;
|
||||||
|
}
|
10
dyninst.spec
10
dyninst.spec
@ -2,7 +2,7 @@ Summary: An API for Run-time Code Generation
|
|||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Name: dyninst
|
Name: dyninst
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Release: 6%{?dist}
|
Release: 7%{?dist}
|
||||||
URL: http://www.dyninst.org
|
URL: http://www.dyninst.org
|
||||||
Version: 8.2.1
|
Version: 8.2.1
|
||||||
Exclusiveos: linux
|
Exclusiveos: linux
|
||||||
@ -24,6 +24,7 @@ ExclusiveArch: %{ix86} x86_64 ppc ppc64
|
|||||||
Source0: dyninst-8.2.1.tar.gz
|
Source0: dyninst-8.2.1.tar.gz
|
||||||
Source1: dyninst-docs-8.2.0.1.tar.gz
|
Source1: dyninst-docs-8.2.0.1.tar.gz
|
||||||
Source2: dyninst-testsuite-8.2.0.1.tar.gz
|
Source2: dyninst-testsuite-8.2.0.1.tar.gz
|
||||||
|
Patch1: dyninst-8.2.1-boost-bind.patch
|
||||||
BuildRequires: libdwarf-devel >= 20111030
|
BuildRequires: libdwarf-devel >= 20111030
|
||||||
BuildRequires: elfutils-libelf-devel
|
BuildRequires: elfutils-libelf-devel
|
||||||
BuildRequires: boost-devel
|
BuildRequires: boost-devel
|
||||||
@ -91,6 +92,10 @@ making sure that dyninst works properly.
|
|||||||
%setup -q -T -D -a 1
|
%setup -q -T -D -a 1
|
||||||
%setup -q -T -D -a 2
|
%setup -q -T -D -a 2
|
||||||
|
|
||||||
|
pushd dyninst
|
||||||
|
%patch1 -p1 -b .bind
|
||||||
|
popd
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
cd dyninst
|
cd dyninst
|
||||||
@ -181,6 +186,9 @@ chmod 644 %{buildroot}%{_libdir}/dyninst/testsuite/*
|
|||||||
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*
|
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 23 2015 Josh Stone <jistone@redhat.com> - 8.2.1-7
|
||||||
|
- Patch use of boost::bind for boost 1.58.
|
||||||
|
|
||||||
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 8.2.1-6
|
* Wed Jul 22 2015 David Tardon <dtardon@redhat.com> - 8.2.1-6
|
||||||
- rebuild for Boost 1.58
|
- rebuild for Boost 1.58
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user