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-9.3.2.tar.gz
|
||||||
/dyninst-10.0.0.tar.gz
|
/dyninst-10.0.0.tar.gz
|
||||||
/testsuite-9.4.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
|
Summary: An API for Run-time Code Generation
|
||||||
License: LGPLv2+
|
License: LGPLv2+
|
||||||
Name: dyninst
|
Name: dyninst
|
||||||
Release: 7%{?dist}
|
Release: 1%{?dist}
|
||||||
URL: http://www.dyninst.org
|
URL: http://www.dyninst.org
|
||||||
Version: 10.0.0
|
Version: 10.1.0
|
||||||
# Dyninst only has full support for a few architectures.
|
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
|
||||||
# It has some preliminary support for aarch64 and ppc64le,
|
|
||||||
# but we're waiting for those to be feature-complete.
|
|
||||||
ExclusiveArch: %{ix86} x86_64 ppc64le
|
|
||||||
|
|
||||||
Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz
|
Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz
|
||||||
# Explicit version since it does not match the source version
|
Source1: https://github.com/dyninst/testsuite/archive/v%{version}/testsuite-%{version}.tar.gz
|
||||||
Source1: http://scox.fedorapeople.org/testsuite-9.4.0.tar.gz
|
|
||||||
|
|
||||||
Patch1: dyninst-10.0.0-examples.patch
|
Patch1: testsuite-10.1.0-gettid.patch
|
||||||
Patch2: dyninst-10.0.0-doc.patch
|
Patch2: testsuite-10.1.0-386.patch
|
||||||
Patch3: dyninst-10.0.0-result.patch
|
|
||||||
Patch4: dyninst-10.0.0-tribool.patch
|
|
||||||
|
|
||||||
%global dyninst_base dyninst-%{version}
|
%global dyninst_base dyninst-%{version}
|
||||||
# Explicit version since it does not match the source version
|
%global testsuite_base testsuite-%{version}
|
||||||
%global testsuite_base testsuite-9.4.0
|
|
||||||
|
|
||||||
BuildRequires: gcc-c++
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: elfutils-devel
|
BuildRequires: elfutils-devel
|
||||||
@ -57,7 +50,7 @@ Summary: Documentation for using the Dyninst API
|
|||||||
dyninst-doc contains API documentation for the Dyninst libraries.
|
dyninst-doc contains API documentation for the Dyninst libraries.
|
||||||
|
|
||||||
%package devel
|
%package devel
|
||||||
Summary: Header files for the compiling programs with Dyninst
|
Summary: Header files for compiling programs with Dyninst
|
||||||
Requires: dyninst = %{version}-%{release}
|
Requires: dyninst = %{version}-%{release}
|
||||||
Requires: boost-devel
|
Requires: boost-devel
|
||||||
Requires: tbb-devel
|
Requires: tbb-devel
|
||||||
@ -88,20 +81,14 @@ making sure that dyninst works properly.
|
|||||||
%setup -q -n %{name}-%{version} -c
|
%setup -q -n %{name}-%{version} -c
|
||||||
%setup -q -T -D -a 1
|
%setup -q -T -D -a 1
|
||||||
|
|
||||||
%patch1 -p1 -b.ex
|
%patch1 -p1 -bgettid
|
||||||
%patch2 -p1 -b.doc
|
%patch2 -p1 -b.386
|
||||||
%patch3 -p1 -b.result
|
|
||||||
%patch4 -p1 -b.tribool
|
|
||||||
|
|
||||||
# cotire seems to cause non-deterministic gcc errors
|
# cotire seems to cause non-deterministic gcc errors
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1420551
|
# https://bugzilla.redhat.com/show_bug.cgi?id=1420551
|
||||||
sed -i.cotire -e 's/USE_COTIRE true/USE_COTIRE false/' \
|
sed -i.cotire -e 's/USE_COTIRE true/USE_COTIRE false/' \
|
||||||
%{dyninst_base}/cmake/shared.cmake
|
%{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
|
%build
|
||||||
|
|
||||||
cd %{dyninst_base}
|
cd %{dyninst_base}
|
||||||
@ -152,19 +139,14 @@ cd ../%{testsuite_base}
|
|||||||
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
mkdir -p %{buildroot}/etc/ld.so.conf.d
|
||||||
echo "%{_libdir}/dyninst" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf
|
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
|
%post -p /sbin/ldconfig
|
||||||
%postun -p /sbin/ldconfig
|
%postun -p /sbin/ldconfig
|
||||||
|
|
||||||
%files
|
%files
|
||||||
%dir %{_libdir}/dyninst
|
%dir %{_libdir}/dyninst
|
||||||
%{_libdir}/dyninst/*.so.*
|
%{_libdir}/dyninst/*.so.*
|
||||||
|
# dyninst mutators dlopen the runtime library
|
||||||
|
%{_libdir}/dyninst/libdyninstAPI_RT.so
|
||||||
|
|
||||||
%doc %{dyninst_base}/COPYRIGHT
|
%doc %{dyninst_base}/COPYRIGHT
|
||||||
%doc %{dyninst_base}/LICENSE.md
|
%doc %{dyninst_base}/LICENSE.md
|
||||||
@ -193,16 +175,19 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
|
|||||||
%files testsuite
|
%files testsuite
|
||||||
%{_bindir}/parseThat
|
%{_bindir}/parseThat
|
||||||
%exclude %{_bindir}/cfg_to_dot
|
%exclude %{_bindir}/cfg_to_dot
|
||||||
%exclude %{_libdir}/codeCoverage
|
|
||||||
%exclude /usr/bin/codeCoverage
|
%exclude /usr/bin/codeCoverage
|
||||||
%exclude %{_libdir}/unstrip
|
|
||||||
%exclude /usr/bin/unstrip
|
%exclude /usr/bin/unstrip
|
||||||
|
%exclude /usr/bin/ddb.db
|
||||||
|
%exclude /usr/bin/params.db
|
||||||
|
%exclude /usr/bin/unistd.db
|
||||||
%dir %{_libdir}/dyninst/testsuite/
|
%dir %{_libdir}/dyninst/testsuite/
|
||||||
# Restore the permissions that were hacked out above, during install.
|
|
||||||
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*[!a]
|
%attr(755,root,root) %{_libdir}/dyninst/testsuite/*[!a]
|
||||||
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
|
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
|
||||||
|
|
||||||
%changelog
|
%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
|
* 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.
|
- 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-10.1.0.tar.gz) = 47b91ebc0623f672378086a5f8d84e3934bd6b22d8932b12aaad257ccf7eb109505edb63dfbc3eb15aa099fc488a517835412099a77e3e0dd1275b3e3f672b3b
|
||||||
SHA512 (testsuite-9.4.0.tar.gz) = d866f5843b37390ae0ed0a2647ea216a9f2a2d114b6666454007d33c0288d24db5a81be0d2f64dd8aceca739f4ad1b2a4ae5f80cca00a3f7a15e9044f15c56cb
|
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