From 13bab2a5864db7b22c12e2fd8acf478d8b5ee189 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 10 2021 04:20:05 +0000 Subject: import dyninst-11.0.0-3.el8 --- diff --git a/SOURCES/dyninst-11.0.0-dwarf.patch b/SOURCES/dyninst-11.0.0-dwarf.patch index 6172a9c..7841723 100644 --- a/SOURCES/dyninst-11.0.0-dwarf.patch +++ b/SOURCES/dyninst-11.0.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/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 +--- 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 @@ -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/SOURCES/dyninst-11.0.0-nullbuf.patch b/SOURCES/dyninst-11.0.0-nullbuf.patch new file mode 100644 index 0000000..a461413 --- /dev/null +++ b/SOURCES/dyninst-11.0.0-nullbuf.patch @@ -0,0 +1,25 @@ +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/SOURCES/dyninst-11.0.0-tbb.patch b/SOURCES/dyninst-11.0.0-tbb.patch index ac1aea4..6b94f78 100644 --- a/SOURCES/dyninst-11.0.0-tbb.patch +++ b/SOURCES/dyninst-11.0.0-tbb.patch @@ -1,12 +1,12 @@ ---- dyninst-11.0.0/dyninst-11.0.0/cmake/Boost.cmake.orig 2021-04-08 16:48:12.000000000 -0400 -+++ dyninst-11.0.0/dyninst-11.0.0/cmake/Boost.cmake 2021-05-07 12:35:53.124203324 -0400 +--- 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 @@ -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.66.0) ---- dyninst-11.0.0/dyninst-11.0.0/cmake/ThreadingBuildingBlocks.cmake.orig 2021-04-08 16:48:12.000000000 -0400 -+++ dyninst-11.0.0/dyninst-11.0.0/cmake/ThreadingBuildingBlocks.cmake 2021-05-07 12:40:13.092183538 -0400 +--- 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 @@ -52,3 +52,3 @@ else() - set(_tbb_min_version 2018.6) diff --git a/SOURCES/testsuite-11.0.0-386.patch b/SOURCES/testsuite-11.0.0-386.patch index e33a8b4..b2be761 100644 --- a/SOURCES/testsuite-11.0.0-386.patch +++ b/SOURCES/testsuite-11.0.0-386.patch @@ -1,5 +1,5 @@ ---- dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt -+++ dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt +--- testsuite-11.0.0/CMakeLists.txt ++++ testsuite-11.0.0/CMakeLists.txt @@ -111,7 +111,8 @@ if(UNIX) enable_language(ASM-ATT) diff --git a/SOURCES/testsuite-11.0.0-test12.patch b/SOURCES/testsuite-11.0.0-test12.patch index f6c999a..b336435 100644 --- a/SOURCES/testsuite-11.0.0-test12.patch +++ b/SOURCES/testsuite-11.0.0-test12.patch @@ -1,5 +1,5 @@ ---- dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt -+++ dyninst-11.0.0/testsuite-11.0.0/CMakeLists.txt +--- 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) diff --git a/SPECS/dyninst.spec b/SPECS/dyninst.spec index 5a06e31..4ae1885 100644 --- a/SPECS/dyninst.spec +++ b/SPECS/dyninst.spec @@ -2,7 +2,7 @@ Summary: An API for Run-time Code Generation License: LGPLv2+ Name: dyninst Group: Development/Libraries -Release: 1%{?dist} +Release: 3%{?dist} URL: http://www.dyninst.org Version: 11.0.0 ExclusiveArch: %{ix86} x86_64 ppc64le aarch64 @@ -14,6 +14,7 @@ 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 %global dyninst_base dyninst-%{version} %global testsuite_base testsuite-%{version} @@ -88,10 +89,16 @@ making sure that dyninst works properly. %setup -q -n %{name}-%{version} -c %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 +popd # cotire seems to cause non-deterministic gcc errors # https://bugzilla.redhat.com/show_bug.cgi?id=1420551 @@ -200,7 +207,13 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \ %attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a %changelog -* Fri Apr 30 2021 Stan Cox - 11.0.0 +* Wed Jun 30 2021 Stan Cox - 11.0.0-3 +- Related: rhbz1965455 + +* Mon Jun 28 2021 Stan Cox - 11.0.0-2 +- Related: rhbz1965455, rhbz1965501 + +* Fri Apr 30 2021 Stan Cox - 11.0.0-1 - Update to 11.0.0 * Fri Nov 06 2020 Stan Cox - 10.2.1-2