diff --git a/dist b/dist new file mode 100644 index 0000000000000000000000000000000000000000..9c0e36ec42a2d9bfefacb21ac6354c9ddd910533 --- /dev/null +++ b/dist @@ -0,0 +1 @@ +an8 diff --git a/download b/download new file mode 100644 index 0000000000000000000000000000000000000000..f21a88c116d6a6a136e35885c25e0062ebfab270 --- /dev/null +++ b/download @@ -0,0 +1,2 @@ +356fd2a86d88a6f01dcae5a76a8457f8 dyninst-12.1.0.tar.gz +30cfd74d1260293d720e2e935881c40c testsuite-12.1.0.tar.gz diff --git a/dyninst-11.0.0-nullbuf.patch b/dyninst-11.0.0-nullbuf.patch deleted file mode 100644 index a461413bf0f465a3bd7a24a90fdc2bf6f148fff2..0000000000000000000000000000000000000000 --- a/dyninst-11.0.0-nullbuf.patch +++ /dev/null @@ -1,25 +0,0 @@ -rhbz1965455 - -commit 212576147 (refs/bisect/new) -Author: Xiaozhu Meng -Date: Wed May 26 11:26:28 2021 -0500 - - Skip parsing of blocks whose code buffer is null (#1033) - ---- dyninst-11.0.0/parseAPI/src/Parser.C.orig -+++ dyninst-11.0.0/parseAPI/src/Parser.C -@@ -1703,6 +1703,14 @@ Parser::parse_frame_one_iteration(ParseFrame &frame, bool recursive) { - cur->region()->offset() + cur->region()->length() - curAddr; - const unsigned char* bufferBegin = - (const unsigned char *)(func->region()->getPtrToInstruction(curAddr)); -+ if (bufferBegin == nullptr) { -+ // This can happen if jump table is over-approxiated. -+ // We ignore this block for now, and later the over-approximated block -+ // will be removed. -+ parsing_printf("\taddress %lx in a different region from the funcion entry at %lx, skip parsing\n", curAddr, func->addr()); -+ continue; -+ } -+ - InstructionDecoder dec(bufferBegin,size,frame.codereg->getArch()); - - if (!ahPtr) diff --git a/dyninst-11.0.0.tar.gz b/dyninst-11.0.0.tar.gz deleted file mode 100644 index fbedb32a6e9a32266821edab2c39be36b04179ed..0000000000000000000000000000000000000000 Binary files a/dyninst-11.0.0.tar.gz and /dev/null differ diff --git a/dyninst-11.0.0-dwarf.patch b/dyninst-12.1.0-dwarf.patch similarity index 77% rename from dyninst-11.0.0-dwarf.patch rename to dyninst-12.1.0-dwarf.patch index 7841723d64b6cb57fff58fb0ad80005a38906857..a01b2cf7c10f77f742b52cd31164b3f2b8cac556 100644 --- a/dyninst-11.0.0-dwarf.patch +++ b/dyninst-12.1.0-dwarf.patch @@ -3,8 +3,8 @@ Remove extraneous error messages of the form: err message: invalid DWARF which are repeated in some circumstances without adding useful context ---- dyninst-11.0.0/symtabAPI/src/dwarfWalker.C.orig 2021-04-08 16:48:12.000000000 -0400 -+++ dyninst-11.0.0/symtabAPI/src/dwarfWalker.C 2021-04-27 12:48:55.643978425 -0400 +--- dyninst-12.1.0/symtabAPI/src/dwarfWalker.C.orig 2021-04-08 16:48:12.000000000 -0400 ++++ dyninst-12.1.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-11.0.0-tbb.patch b/dyninst-12.1.0-tbb.patch similarity index 50% rename from dyninst-11.0.0-tbb.patch rename to dyninst-12.1.0-tbb.patch index 6b94f78de2180b5670d77be7a15b3fe76895d9c7..7c4f98de5b32c7b99991df0121b81cdc658a63ee 100644 --- a/dyninst-11.0.0-tbb.patch +++ b/dyninst-12.1.0-tbb.patch @@ -1,12 +1,12 @@ ---- dyninst-11.0.0/cmake/Boost.cmake.orig 2021-04-08 16:48:12.000000000 -0400 -+++ dyninst-11.0.0/cmake/Boost.cmake 2021-05-07 12:35:53.124203324 -0400 +--- dyninst-12.1.0/cmake/Boost.cmake.orig 2021-04-08 16:48:12.000000000 -0400 ++++ dyninst-12.1.0/cmake/Boost.cmake 2021-05-07 12:35:53.124203324 -0400 @@ -53,3 +53,3 @@ # Need at least Boost-1.67 because of deprecated headers --set(_boost_min_version 1.67.0) +-set(_boost_min_version 1.70.0) +set(_boost_min_version 1.66.0) ---- dyninst-11.0.0/cmake/ThreadingBuildingBlocks.cmake.orig 2021-04-08 16:48:12.000000000 -0400 -+++ dyninst-11.0.0/cmake/ThreadingBuildingBlocks.cmake 2021-05-07 12:40:13.092183538 -0400 +--- dyninst-12.1.0/cmake/ThreadingBuildingBlocks.cmake.orig 2021-04-08 16:48:12.000000000 -0400 ++++ dyninst-12.1.0/cmake/ThreadingBuildingBlocks.cmake 2021-05-07 12:40:13.092183538 -0400 @@ -52,3 +52,3 @@ else() - set(_tbb_min_version 2018.6) diff --git a/dyninst.spec b/dyninst.spec index 7b8cd43a1905284da7f3b701df2a8f727b666203..3e315e347a8b74f32802f00d5fab7c6042ce3747 100644 --- a/dyninst.spec +++ b/dyninst.spec @@ -1,24 +1,21 @@ -%define anolis_release .0.1 Summary: An API for Run-time Code Generation License: LGPLv2+ Name: dyninst Group: Development/Libraries -Release: 3%{anolis_release}%{?dist} +Release: 1%{?dist} URL: http://www.dyninst.org -Version: 11.0.0 +Version: 12.1.0 ExclusiveArch: %{ix86} x86_64 ppc64le aarch64 +%define __testsuite_version 12.1.0 Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz -Source1: https://github.com/dyninst/testsuite/archive/%{version}/testsuite-%{version}.tar.gz +Source1: https://github.com/dyninst/testsuite/archive/%{__testsuite_version}/testsuite-%{__testsuite_version}.tar.gz -Patch1: testsuite-11.0.0-test12.patch -Patch2: testsuite-11.0.0-386.patch -Patch3: dyninst-11.0.0-dwarf.patch -Patch4: dyninst-11.0.0-tbb.patch -Patch5: dyninst-11.0.0-nullbuf.patch +Patch1: dyninst-12.1.0-dwarf.patch +Patch2: dyninst-12.1.0-tbb.patch %global dyninst_base dyninst-%{version} -%global testsuite_base testsuite-%{version} +%global testsuite_base testsuite-%{__testsuite_version} BuildRequires: gcc-c++ BuildRequires: elfutils-devel @@ -29,12 +26,12 @@ BuildRequires: binutils-devel BuildRequires: cmake BuildRequires: libtirpc-devel BuildRequires: tbb tbb-devel +BuildRequires: tex-latex +BuildRequires: make # Extra requires just for the testsuite BuildRequires: gcc-gfortran glibc-static libstdc++-static libxml2-devel -Requires: glibc - # Testsuite files should not provide/require anything %{?filter_setup: %filter_provides_in %{_libdir}/dyninst/testsuite/ @@ -93,14 +90,11 @@ making sure that dyninst works properly. %setup -q -T -D -a 1 pushd %{testsuite_base} -%patch1 -p1 -b .test12 -%patch2 -p1 -b .386 popd pushd %{dyninst_base} -%patch3 -p1 -b .dwarf -%patch4 -p1 -b .tbb -%patch5 -p1 -b .nullbuf +%patch1 -p1 -b .dwarf +%patch2 -p1 -b .tbb popd # cotire seems to cause non-deterministic gcc errors @@ -130,35 +124,37 @@ export CFLAGS CXXFLAGS LDFLAGS -DCMAKE_BUILD_TYPE=None \ -DCMAKE_SKIP_RPATH:BOOL=YES \ . -%make_build +%cmake_build # Hack to install dyninst nearby, so the testsuite can use it -make DESTDIR=../install install +DESTDIR="../install" %__cmake --install "%{__cmake_builddir}" find ../install -name '*.cmake' -execdir \ - sed -i -e 's!%{_prefix}!../install&!' '{}' '+' + sed -i -e "s!%{_prefix}!$PWD/../install&!" '{}' '+' # cmake mistakenly looks for libtbb.so in the dyninst install dir sed -i '/libtbb.so/ s/".*usr/"\/usr/' $PWD/../install%{_libdir}/cmake/Dyninst/commonTargets.cmake cd ../%{testsuite_base} +# testsuite build sometimes encounters dependency issues with -jN +%define _smp_mflags -j1 %cmake \ -DDyninst_DIR:PATH=$PWD/../install%{_libdir}/cmake/Dyninst \ -DINSTALL_DIR:PATH=%{_libdir}/dyninst/testsuite \ -DCMAKE_BUILD_TYPE:STRING=Debug \ -DCMAKE_SKIP_RPATH:BOOL=YES \ . -%make_build +%cmake_build %install cd %{dyninst_base} -%make_install +%cmake_install # It doesn't install docs the way we want, so remove them. # We'll just grab the pdfs later, directly from the build dir. rm -v %{buildroot}%{_docdir}/*-%{version}.pdf cd ../%{testsuite_base} -%make_install +%cmake_install mkdir -p %{buildroot}/etc/ld.so.conf.d echo "%{_libdir}/dyninst" > %{buildroot}/etc/ld.so.conf.d/%{name}-%{_arch}.conf @@ -210,8 +206,8 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \ %attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a %changelog -* Sun Jul 17 2022 Bo Ren - 11.0.0-3.0.1 -- Modify requires +* Thu Apr 21 2022 Stan Cox - 12.1.0-1 +- Update to 12.1.0 * Wed Jun 30 2021 Stan Cox - 11.0.0-3 - Related: rhbz1965455 diff --git a/testsuite-11.0.0-386.patch b/testsuite-11.0.0-386.patch deleted file mode 100644 index b2be7612f2649d60dd1b3530a1ce8b0367b6aeea..0000000000000000000000000000000000000000 --- a/testsuite-11.0.0-386.patch +++ /dev/null @@ -1,15 +0,0 @@ ---- testsuite-11.0.0/CMakeLists.txt -+++ 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 deleted file mode 100644 index b33643542301e5746607915ef4970890b387b06a..0000000000000000000000000000000000000000 --- a/testsuite-11.0.0-test12.patch +++ /dev/null @@ -1,14 +0,0 @@ ---- testsuite-11.0.0/CMakeLists.txt -+++ 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 diff --git a/testsuite-11.0.0.tar.gz b/testsuite-11.0.0.tar.gz deleted file mode 100644 index c4cfdb4294cc9b72040cdcbc1d36eb22c7eb3a5d..0000000000000000000000000000000000000000 Binary files a/testsuite-11.0.0.tar.gz and /dev/null differ