Update to 10.1.0

This commit is contained in:
Stan Cox 2019-06-04 14:30:07 -04:00
parent 4f0ede04cc
commit 7b43dd94b1
5 changed files with 66 additions and 35 deletions

2
.gitignore vendored
View File

@ -19,3 +19,5 @@
/dyninst-9.3.2.tar.gz
/dyninst-10.0.0.tar.gz
/testsuite-9.4.0.tar.gz
/testsuite-10.1.0.tar.gz
/dyninst-10.1.0.tar.gz

View File

@ -1,26 +1,19 @@
Summary: An API for Run-time Code Generation
License: LGPLv2+
Name: dyninst
Release: 7%{?dist}
Release: 1%{?dist}
URL: http://www.dyninst.org
Version: 10.0.0
# Dyninst only has full support for a few architectures.
# It has some preliminary support for aarch64 and ppc64le,
# but we're waiting for those to be feature-complete.
ExclusiveArch: %{ix86} x86_64 ppc64le
Version: 10.1.0
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz
# Explicit version since it does not match the source version
Source1: http://scox.fedorapeople.org/testsuite-9.4.0.tar.gz
Source1: https://github.com/dyninst/testsuite/archive/v%{version}/testsuite-%{version}.tar.gz
Patch1: dyninst-10.0.0-examples.patch
Patch2: dyninst-10.0.0-doc.patch
Patch3: dyninst-10.0.0-result.patch
Patch4: dyninst-10.0.0-tribool.patch
Patch1: testsuite-10.1.0-gettid.patch
Patch2: testsuite-10.1.0-386.patch
%global dyninst_base dyninst-%{version}
# Explicit version since it does not match the source version
%global testsuite_base testsuite-9.4.0
%global testsuite_base testsuite-%{version}
BuildRequires: gcc-c++
BuildRequires: elfutils-devel
@ -57,7 +50,7 @@ Summary: Documentation for using the Dyninst API
dyninst-doc contains API documentation for the Dyninst libraries.
%package devel
Summary: Header files for the compiling programs with Dyninst
Summary: Header files for compiling programs with Dyninst
Requires: dyninst = %{version}-%{release}
Requires: boost-devel
Requires: tbb-devel
@ -88,20 +81,14 @@ making sure that dyninst works properly.
%setup -q -n %{name}-%{version} -c
%setup -q -T -D -a 1
%patch1 -p1 -b.ex
%patch2 -p1 -b.doc
%patch3 -p1 -b.result
%patch4 -p1 -b.tribool
%patch1 -p1 -bgettid
%patch2 -p1 -b.386
# cotire seems to cause non-deterministic gcc errors
# https://bugzilla.redhat.com/show_bug.cgi?id=1420551
sed -i.cotire -e 's/USE_COTIRE true/USE_COTIRE false/' \
%{dyninst_base}/cmake/shared.cmake
# Avoid Dir/executable name clash with in tree build
mv %{dyninst_base}/examples/unstrip %{dyninst_base}/examples/unstrip.dir
mv %{dyninst_base}/examples/codeCoverage %{dyninst_base}/examples/codeCoverage.dir
%build
cd %{dyninst_base}
@ -152,19 +139,14 @@ cd ../%{testsuite_base}
mkdir -p %{buildroot}/etc/ld.so.conf.d
echo "%{_libdir}/dyninst" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
# Ugly hack to mask testsuite files from debuginfo extraction. Running the
# testsuite requires debuginfo, so extraction is useless. However, debuginfo
# extraction is still nice for the main libraries, so we don't want to disable
# it package-wide. The permissions are restored by attr(755,-,-) in files.
find %{buildroot}%{_libdir}/dyninst/testsuite/ \
-type f '!' -name '*.a' -execdir chmod 644 '{}' '+'
%post -p /sbin/ldconfig
%postun -p /sbin/ldconfig
%files
%dir %{_libdir}/dyninst
%{_libdir}/dyninst/*.so.*
# dyninst mutators dlopen the runtime library
%{_libdir}/dyninst/libdyninstAPI_RT.so
%doc %{dyninst_base}/COPYRIGHT
%doc %{dyninst_base}/LICENSE.md
@ -193,16 +175,19 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
%files testsuite
%{_bindir}/parseThat
%exclude %{_bindir}/cfg_to_dot
%exclude %{_libdir}/codeCoverage
%exclude /usr/bin/codeCoverage
%exclude %{_libdir}/unstrip
%exclude /usr/bin/unstrip
%exclude /usr/bin/ddb.db
%exclude /usr/bin/params.db
%exclude /usr/bin/unistd.db
%dir %{_libdir}/dyninst/testsuite/
# Restore the permissions that were hacked out above, during install.
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*[!a]
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
%changelog
* Wed May 29 2019 Stan Cox <scox@redhat.com> - 10.1.0-1
- Update to 10.1.0
* Mon Feb 4 2019 William Cohen <wcohen@redhat.com> - 10.0.0-7
- Fix FTBFS due to move to boost 1.69 and tribool changes.

View File

@ -1,2 +1,2 @@
SHA512 (dyninst-10.0.0.tar.gz) = 407f8d2aa6e6c6b0e46c1c003f1ed3fa0d56b0efc86985ce9c9f2dae0ab2e7e7ad031072e957adf576577fd98676d4d40ced8796864a1be677cc7b4bc5755338
SHA512 (testsuite-9.4.0.tar.gz) = d866f5843b37390ae0ed0a2647ea216a9f2a2d114b6666454007d33c0288d24db5a81be0d2f64dd8aceca739f4ad1b2a4ae5f80cca00a3f7a15e9044f15c56cb
SHA512 (testsuite-10.1.0.tar.gz) = 47b91ebc0623f672378086a5f8d84e3934bd6b22d8932b12aaad257ccf7eb109505edb63dfbc3eb15aa099fc488a517835412099a77e3e0dd1275b3e3f672b3b
SHA512 (dyninst-10.1.0.tar.gz) = 41d7b6f0fce56be84091cc9796b7fa3295a652f80203b6e246df3a28a7bdc02a11996a38c9ccfb2ea7c18ee937a93020ff31d5d4652fd8082f99167e94b16df6

View File

@ -0,0 +1,29 @@
--- dyninst-10.1.0/testsuite-10.1.0/src/instruction/test_instruction_farcall.C
+++ dyninst-10.1.0/testsuite-10.1.0/src/instruction/test_instruction_farcall.C
@@ -96,21 +96,21 @@ test_results_t test_instruction_farcall_Mutator::executeTest()
if(decodedInsns.size() != expectedInsns) // six valid, one invalid
{
logerror("FAILED: Expected %d instructions, decoded %d\n", expectedInsns, decodedInsns.size());
- for(std::vector<Instruction::Ptr>::iterator curInsn = decodedInsns.begin();
+ for(std::vector<Instruction>::iterator curInsn = decodedInsns.begin();
curInsn != decodedInsns.end();
++curInsn)
{
- logerror("\t%s\t", (*curInsn)->format().c_str());
- for(unsigned j = 0; j < (*curInsn)->size(); ++j)
+ logerror("\t%s\t", (*curInsn).format().c_str());
+ for(unsigned j = 0; j < (*curInsn).size(); ++j)
{
- logerror("%x ", (*curInsn)->rawByte(j));
+ logerror("%x ", (*curInsn).rawByte(j));
}
logerror("\n");
}
return FAILED;
}
- if(decodedInsns.back() && decodedInsns.back()->isValid())
+ if(decodedInsns.size() > 0 && decodedInsns.back().isValid())
{
logerror("FAILED: Expected instructions to end with an invalid instruction, but they didn't");
return FAILED;

View File

@ -0,0 +1,15 @@
--- dyninst-10.1.0/testsuite-10.1.0/src/proccontrol/pcontrol_mutatee_tools.c.orig 2019-05-31 05:20:00.492379706 +0200
+++ dyninst-10.1.0/testsuite-10.1.0/src/proccontrol/pcontrol_mutatee_tools.c 2019-05-31 05:10:11.354826668 +0200
@@ -62,9 +62,9 @@
#if !defined(os_windows_test)
#include <poll.h>
-static unsigned int gettid(){
- return (unsigned int)pthread_self();
-}
+// static unsigned int gettid(){
+// return (unsigned int)pthread_self();
+// }
#endif
thread_t threads[MAX_POSSIBLE_THREADS];