diff --git a/.gitignore b/.gitignore index 3fd4028..a0f9540 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,5 @@ /dyninst-10.1.0.tar.gz /dyninst-10.2.0.tar.gz /dyninst-10.2.1.tar.gz +/dyninst-11.0.0.tar.gz +/testsuite-11.0.0.tar.gz diff --git a/dyninst-11.0.0-dwarf.patch b/dyninst-11.0.0-dwarf.patch new file mode 100644 index 0000000..6172a9c --- /dev/null +++ b/dyninst-11.0.0-dwarf.patch @@ -0,0 +1,11 @@ +Remove extraneous error messages of the form: + err message: .debug_loclists section missing + err message: invalid DWARF +which are repeated in some circumstances without adding useful context + +--- dyninst-11.0.0/dyninst-11.0.0/symtabAPI/src/dwarfWalker.C.orig 2021-04-08 16:48:12.000000000 -0400 ++++ dyninst-11.0.0/dyninst-11.0.0/symtabAPI/src/dwarfWalker.C 2021-04-27 12:48:55.643978425 -0400 +@@ -1858,1 +1858,1 @@ +- cerr << "err message: " << dwarf_errmsg(dwarf_errno()) << endl; ++ dwarf_printf("(0x%lx) Error while decoding location: %s\n", id(), dwarf_errmsg(dwarf_errno())); + diff --git a/dyninst.spec b/dyninst.spec index 34b1aeb..1f2e332 100644 --- a/dyninst.spec +++ b/dyninst.spec @@ -1,23 +1,20 @@ Summary: An API for Run-time Code Generation License: LGPLv2+ Name: dyninst -Release: 6%{?dist} +Release: 1%{?dist} URL: http://www.dyninst.org -Version: 10.2.1 +Version: 11.0.0 ExclusiveArch: %{ix86} x86_64 ppc64le aarch64 -%define __testsuite_version 10.1.0 Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz -Source1: https://github.com/dyninst/testsuite/archive/v10.1.0/testsuite-%{__testsuite_version}.tar.gz +Source1: https://github.com/dyninst/testsuite/archive/%{version}/testsuite-%{version}.tar.gz -Patch1: %{name}-gcc11.patch -Patch2: %{name}-10.2.1-dbid.patch -Patch3: testsuite-10.1.0-gettid.patch -Patch4: testsuite-10.1.0-386.patch -Patch5: testsuite-10.1.0-throw.patch +Patch1: testsuite-11.0.0-test12.patch +Patch2: testsuite-11.0.0-386.patch +Patch3: dyninst-11.0.0-dwarf.patch %global dyninst_base dyninst-%{version} -%global testsuite_base testsuite-%{__testsuite_version} +%global testsuite_base testsuite-%{version} BuildRequires: gcc-c++ BuildRequires: elfutils-devel @@ -79,11 +76,9 @@ making sure that dyninst works properly. %setup -q -n %{name}-%{version} -c %setup -q -T -D -a 1 -%patch1 -p1 -b .gcc11 -%patch2 -p1 -b .dbid -%patch3 -p1 -b .gettid -%patch4 -p1 -b .386 -%patch5 -p1 -b .throw +%patch1 -p1 -b .test12 +%patch2 -p1 -b .386 +%patch3 -p1 -b .dwarf # cotire seems to cause non-deterministic gcc errors # https://bugzilla.redhat.com/show_bug.cgi?id=1420551 @@ -187,6 +182,9 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \ %attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a %changelog +* Fri Apr 30 2021 Stan Cox - 11.0.0 +- Update to 11.0.0 + * Tue Mar 30 2021 Jonathan Wakely - 10.2.1-6 - Rebuilt for removed libstdc++ symbol (#1937698) diff --git a/sources b/sources index 3758b48..aef75c7 100644 --- a/sources +++ b/sources @@ -1,2 +1,2 @@ -SHA512 (dyninst-10.2.1.tar.gz) = 5666ffd888afdb9493bd495aa6027ca5b9f71fe811a6d88777d55b612c92f73dc6c008c1738be111175a31fb0a2ec804d8ffc3e79888d8366ae5b5b624537055 -SHA512 (testsuite-10.1.0.tar.gz) = 47b91ebc0623f672378086a5f8d84e3934bd6b22d8932b12aaad257ccf7eb109505edb63dfbc3eb15aa099fc488a517835412099a77e3e0dd1275b3e3f672b3b +SHA512 (dyninst-11.0.0.tar.gz) = 30d73af656a597e4874f8b6bf0fb388e98ef591901ece9bbcaee389b9d09c44d1f3c3d323c959e6835971295eb8977d6a92c4bbb216b038126fbbc8360e9318d +SHA512 (testsuite-11.0.0.tar.gz) = bf3568e74eeb5ff7c5e8266f7843d1dd3563ab87e6275d4d586e2bbaaf965035356d869d886e527b3f000ba4213bdc035864c19f79bf648ff136d564c88a1018 diff --git a/testsuite-10.1.0-386.patch b/testsuite-10.1.0-386.patch deleted file mode 100644 index 7fbee48..0000000 --- a/testsuite-10.1.0-386.patch +++ /dev/null @@ -1,44 +0,0 @@ ---- dyninst-10.2.0/testsuite-10.1.0/CMakeLists.txt -+++ dyninst-10.2.0/testsuite-10.1.0/CMakeLists.txt -@@ -111,7 +111,8 @@ - if(UNIX) - enable_language(ASM-ATT) -- if("${DYNINST_PLATFORM}" MATCHES "i386") -- enable_language(ASM_NASM) -- endif() -+# nasm/yasm are deprecated -+# if("${DYNINST_PLATFORM}" MATCHES "i386") -+# enable_language(ASM_NASM) -+# endif() - elseif(WIN32) - enable_language(ASM_MASM) - ---- dyninst-10.2.0/testsuite-10.1.0/src/instruction/test_instruction_farcall.C -+++ dyninst-10.2.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::iterator curInsn = decodedInsns.begin(); -+ for(std::vector::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; diff --git a/testsuite-11.0.0-386.patch b/testsuite-11.0.0-386.patch new file mode 100644 index 0000000..e33a8b4 --- /dev/null +++ b/testsuite-11.0.0-386.patch @@ -0,0 +1,15 @@ +--- dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt ++++ dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt +@@ -111,7 +111,8 @@ + if(UNIX) + enable_language(ASM-ATT) +- if("${DYNINST_PLATFORM}" MATCHES "i386") +- enable_language(ASM_NASM) +- endif() ++# nasm/yasm are deprecated ++# if("${DYNINST_PLATFORM}" MATCHES "i386") ++# enable_language(ASM_NASM) ++# endif() + elseif(WIN32) + enable_language(ASM_MASM) + diff --git a/testsuite-11.0.0-test12.patch b/testsuite-11.0.0-test12.patch new file mode 100644 index 0000000..f6c999a --- /dev/null +++ b/testsuite-11.0.0-test12.patch @@ -0,0 +1,14 @@ +--- dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt ++++ dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt +@@ -341,5 +341,10 @@ + add_library(Test12 SHARED src/dyninst/libTest12.c) + add_library(dyninstAPI_RT SHARED IMPORTED) +- set_target_properties(dyninstAPI_RT PROPERTIES IMPORTED_LOCATION "${Dyninst_DIR}/../../libdyninstAPI_RT.so") ++ set(_path_suffixes dyninst) ++ find_library(dyninstAPI_RT_LIBRARY ++ NAMES libdyninstAPI_RT.so ++ PATHS ${Dyninst_DIR}/../.. ++ PATH_SUFFIXES ${_path_suffixes}) ++ set_target_properties(dyninstAPI_RT PROPERTIES IMPORTED_LOCATION ${dyninstAPI_RT_LIBRARY}) + target_link_libraries(Test12 dyninstAPI_RT) + install(TARGETS Test12