Update to 10.1.0
This commit is contained in:
parent
4f0ede04cc
commit
7b43dd94b1
2
.gitignore
vendored
2
.gitignore
vendored
@ -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
|
||||
|
51
dyninst.spec
51
dyninst.spec
@ -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.
|
||||
|
||||
|
4
sources
4
sources
@ -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
|
||||
|
29
testsuite-10.1.0-386.patch
Normal file
29
testsuite-10.1.0-386.patch
Normal 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;
|
15
testsuite-10.1.0-gettid.patch
Normal file
15
testsuite-10.1.0-gettid.patch
Normal 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];
|
Loading…
Reference in New Issue
Block a user