Update to 12.3.0

Add patch for cmake 3.27 support
This commit is contained in:
Orion Poplawski 2023-06-09 20:11:41 -06:00 committed by Frank Ch. Eigler
commit 5613a7798b
7 changed files with 30 additions and 196 deletions

2
.gitignore vendored
View File

@ -33,3 +33,5 @@
/testsuite-12.1.0.tar.gz /testsuite-12.1.0.tar.gz
/dyninst-12.2.0.tar.gz /dyninst-12.2.0.tar.gz
/testsuite-12.2.0.tar.gz /testsuite-12.2.0.tar.gz
/dyninst-12.3.0.tar.gz
/testsuite-12.3.0.tar.gz

View File

@ -1,12 +0,0 @@
# c++/12/bits/basic_string.h in libstdc++-devel-12.1.1-3 no longer includes <ext/atomicity.h>
# atomicity.h includes gthr -> gthr-default -> pthread .h -> time.h -> struct-tm.h
# so explicitly include time.h
--- testsuite-12.1.0/src/CmdLine.C
+++ testsuite-12.1.0/src/CmdLine.C
@@ -38,5 +38,3 @@
-#if defined(os_windows_test)
#include <time.h>
-#endif

11
dyninst-cmake3.27.patch Normal file
View File

@ -0,0 +1,11 @@
diff -up dyninst-12.3.0/cmake/warnings.cmake.cmake3.27 dyninst-12.3.0/cmake/warnings.cmake
--- dyninst-12.3.0/cmake/warnings.cmake.cmake3.27 2023-02-22 14:39:56.000000000 -0700
+++ dyninst-12.3.0/cmake/warnings.cmake 2023-06-09 19:59:32.831350952 -0600
@@ -127,6 +127,7 @@ endif()
if(CMAKE_CXX_COMPILER_ID MATCHES "^(GNU|Clang)$")
include(CheckCXXCompilerFlag)
+ include(CheckCXXSourceCompiles)
foreach(f IN LISTS REQUESTED_WARNING_FLAGS)
string(REGEX REPLACE "[^a-zA-Z0-9]" "_" v "HAS_CPP_FLAG_${f}")
set(CMAKE_REQUIRED_FLAGS "-${f}")

View File

@ -2,19 +2,19 @@ Summary: An API for Run-time Code Generation
License: LGPLv2+ License: LGPLv2+
Name: dyninst Name: dyninst
Group: Development/Libraries Group: Development/Libraries
Release: 5%{?dist} Release: 1%{?dist}
URL: http://www.dyninst.org URL: http://www.dyninst.org
Version: 12.2.0 Version: 12.3.0
ExclusiveArch: %{ix86} x86_64 ppc64le aarch64 ExclusiveArch: %{ix86} x86_64 ppc64le aarch64
%define __testsuite_version 12.2.0 %define __testsuite_version 12.3.0
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
Source1: https://github.com/dyninst/testsuite/archive/%{__testsuite_version}/testsuite-%{__testsuite_version}.tar.gz Source1: https://github.com/dyninst/testsuite/archive/v%{__testsuite_version}/testsuite-%{__testsuite_version}.tar.gz
Patch1: dwarf-error.patch Patch1: dwarf-error.patch
Patch2: cmdline.patch Patch2: onetbb.patch
Patch3: rhbz2173030.patch # Support cmake 3.27 - https://github.com/dyninst/dyninst/pull/1438
Patch4: onetbb.patch Patch3: dyninst-cmake3.27.patch
%global dyninst_base dyninst-%{version} %global dyninst_base dyninst-%{version}
%global testsuite_base testsuite-%{__testsuite_version} %global testsuite_base testsuite-%{__testsuite_version}
@ -83,16 +83,9 @@ making sure that dyninst works properly.
%setup -q -T -D -a 1 %setup -q -T -D -a 1
pushd %{dyninst_base} pushd %{dyninst_base}
%patch1 -p1 -b .dwerr %patch -P1 -p1 -b .dwerr
popd %patch -P2 -p1 -b .onetbb
%patch -P3 -p1 -b .cmake3.27
pushd %{testsuite_base}
%patch2 -p1 -b .cmdline
popd
pushd %{dyninst_base}
%patch3 -p1
%patch4 -p1
popd popd
# cotire seems to cause non-deterministic gcc errors # cotire seems to cause non-deterministic gcc errors
@ -195,6 +188,11 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a %attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
%changelog %changelog
* Tue Jul 04 2023 Orion Poplawski <orion@nwra.com> - 12.3.0-1
- Update to 12.3.0
- Add patch for cmake 3.27 support
* Tue Jun 27 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 12.2.0-5 * Tue Jun 27 2023 Jonathan Wakely <jwakely@fedoraproject.org> - 12.2.0-5
- Patch for oneTBB (#2036372) - Patch for oneTBB (#2036372)

View File

@ -10,80 +10,3 @@
foreach(f IN ITEMS ${_version_files}) foreach(f IN ITEMS ${_version_files})
if(EXISTS ${f}) if(EXISTS ${f})
set(_version_file ${f}) set(_version_file ${f})
--- dyninst-12.2.0/common/h/concurrent.h~ 2023-06-27 23:31:35.971166585 +0100
+++ dyninst-12.2.0/common/h/concurrent.h 2023-06-27 23:32:31.889253848 +0100
@@ -41,6 +41,22 @@
#include <tbb/concurrent_vector.h>
#include <tbb/concurrent_queue.h>
+#if __has_include(<tbb/version.h>)
+#include <tbb/version.h>
+#if TBB_INTERFACE_VERSION_MAJOR >= 12
+// oneTBB version of tbb_hash_compare doesn't work for std::pair.
+template<typename T, typename U>
+struct tbb::tbb_hash_compare<std::pair<T, U>> {
+ static size_t hash(const std::pair<T, U>& p) {
+ return tbb_hash_compare<T>().hash(p.first) ^ tbb_hash_compare<U>().hash(p.second);
+ }
+ static bool equal(const std::pair<T, U>& p1, const std::pair<T, U>& p2) {
+ return p1 == p2;
+ }
+};
+#endif
+#endif
+
namespace Dyninst {
namespace dyn_c_annotations {
@@ -54,10 +70,10 @@
template<typename K, typename V>
class dyn_c_hash_map : protected tbb::concurrent_hash_map<K, V,
- tbb::tbb_hash_compare<K>, std::allocator<std::pair<K,V>>> {
+ tbb::tbb_hash_compare<K>, std::allocator<std::pair<const K,V>>> {
typedef tbb::concurrent_hash_map<K, V,
- tbb::tbb_hash_compare<K>, std::allocator<std::pair<K,V>>> base;
+ tbb::tbb_hash_compare<K>, std::allocator<std::pair<const K,V>>> base;
public:
using typename base::value_type;
using typename base::mapped_type;
--- dyninst-12.2.0/symtabAPI/src/dwarfWalker.h~ 2023-06-27 23:49:03.290956830 +0100
+++ dyninst-12.2.0/symtabAPI/src/dwarfWalker.h 2023-06-28 09:12:36.672398326 +0100
@@ -35,22 +35,20 @@
}
}
-namespace tbb {
- using namespace Dyninst::SymtabAPI;
- template<>
- struct tbb_hash_compare<type_key> {
- static size_t hash(const type_key& k) {
- size_t seed = 0;
- boost::hash_combine(seed, k.off);
- boost::hash_combine(seed, k.file);
- boost::hash_combine(seed, static_cast<void *>(k.m));
- return seed;
- }
- static bool equal(const type_key& k1, const type_key& k2) {
- return (k1.off==k2.off && k1.file==k2.file && k1.m==k2.m);
- }
- };
-}
+template<>
+struct tbb::tbb_hash_compare<Dyninst::SymtabAPI::type_key> {
+ using type_key = Dyninst::SymtabAPI::type_key;
+ static size_t hash(const type_key& k) {
+ size_t seed = 0;
+ boost::hash_combine(seed, k.off);
+ boost::hash_combine(seed, k.file);
+ boost::hash_combine(seed, static_cast<void *>(k.m));
+ return seed;
+ }
+ static bool equal(const type_key& k1, const type_key& k2) {
+ return (k1.off==k2.off && k1.file==k2.file && k1.m==k2.m);
+ }
+};
namespace Dyninst {
namespace SymtabAPI {

View File

@ -1,88 +0,0 @@
commit 358db4610e4919690d928797713bef3cf67ef61d
gpg: Signature made Wed 22 Feb 2023 10:51:01 AM EST
gpg: using RSA key 4AEE18F83AFDEB23
gpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [full]
Author: kupsch <kupsch@cs.wisc.edu>
Date: Wed Feb 22 09:51:01 2023 -0600
explicitly include <array> (#1384)
- std::array is used in this file, but not included explicitly as
on many systems this header is implicitly included recursively
via another included file. On new versions of headers this may
no longer be the case, so explicitly include it.
diff --git a/instructionAPI/src/InstructionDecoder-aarch64.h b/instructionAPI/src/InstructionDecoder-aarch64.h
index 7994d0b1cc81..ae516232a68b 100644
--- a/instructionAPI/src/InstructionDecoder-aarch64.h
+++ b/instructionAPI/src/InstructionDecoder-aarch64.h
@@ -28,6 +28,7 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#include <array>
#include "InstructionDecoderImpl.h"
#include <iostream>
#include "Immediate.h"
commit 0cd2b8b7858f48cd60e070010bb6600a1f44180e
gpg: Signature made Wed 22 Feb 2023 04:03:20 PM EST
gpg: using RSA key 4AEE18F83AFDEB23
gpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [full]
Author: Tim Haines <thaines.astro@gmail.com>
Date: Wed Feb 22 15:03:20 2023 -0600
Add missing <array> includes (#1385)
These were showing up on ufront@rice.
diff --git a/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C b/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
index e852f47437a1..f62b1f5463e8 100644
--- a/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
+++ b/instructionAPI/src/AMDGPU/cdna2/InstructionDecoder-amdgpu-cdna2.C
@@ -30,6 +30,7 @@
#include "Ternary.h"
#include "InstructionDecoder-amdgpu-cdna2.h"
+#include <array>
namespace Dyninst {
namespace InstructionAPI {
diff --git a/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.C b/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.C
index 449255ae00b4..3093ece41002 100644
--- a/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.C
+++ b/instructionAPI/src/AMDGPU/vega/InstructionDecoder-amdgpu-vega.C
@@ -30,6 +30,7 @@
#include "Ternary.h"
#include "InstructionDecoder-amdgpu-vega.h"
+#include <array>
namespace Dyninst {
namespace InstructionAPI {
commit 2e3bf92eedf575c780e4381ae810a050ee404f03
gpg: Signature made Thu 05 Jan 2023 02:13:14 PM EST
gpg: using RSA key 4AEE18F83AFDEB23
gpg: Good signature from "GitHub (web-flow commit signing) <noreply@github.com>" [full]
Author: kupsch <kupsch@cs.wisc.edu>
Date: Thu Jan 5 13:13:14 2023 -0600
add missing include file (#1344)
- add missing #include <deque>
On more platforms and library combinations <deque> is included via
some other header, but there is combination where this is not true
diff --git a/dataflowAPI/src/AbslocInterface.C b/dataflowAPI/src/AbslocInterface.C
index 9d7ad000c2b6..582e64004967 100644
--- a/dataflowAPI/src/AbslocInterface.C
+++ b/dataflowAPI/src/AbslocInterface.C
@@ -29,6 +29,7 @@
*/
+#include <deque>
#include "Absloc.h"
#include "AbslocInterface.h"

View File

@ -1,2 +1,2 @@
SHA512 (dyninst-12.2.0.tar.gz) = 3c29b77bd2213c58ec0ccb04a8cc70314b66924a151f29b30de14d171cf5d61b53a323d97456e51687d02e6c6095bb8b0e6eab103a75f150507c4eb8657f258c SHA512 (dyninst-12.3.0.tar.gz) = 894980c2ce0701c0544877e841e2933a59963eb49ff9b8cde17f67e300d618b77e9fc95f60301a4b8ecaee729010fbab3ec78ef6e2c2fcea118c56d26cb1c3ce
SHA512 (testsuite-12.2.0.tar.gz) = 4510de4413989a558697c3cf7dbd742d2ccc2c31603f04ed87dc4d7d90908ba99a6993e1a84f820caadbbf46f190ce85c99bbb1030a1fac7022a662f8439bed5 SHA512 (testsuite-12.3.0.tar.gz) = c8d09395cc37ac1ebbd73049e365b703d1fc904d84b73c7749809d8f9dc36ce0b3b842a2fa9e28ba6ffda4e6d2aeb4ca70c2265d3cacc199db3d10c26a12df33