From e87eb19be43212e357f19e8133906810191b7b02 Mon Sep 17 00:00:00 2001 From: Stan Cox Date: Wed, 8 Mar 2017 14:30:12 -0500 Subject: [PATCH] Update to 9.3.1 --- .gitignore | 1 + dyninst-9.3.1-Address.patch | 108 ++++++++++++++++++++++++++++++++++++ dyninst.spec | 15 +++-- sources | 3 +- 4 files changed, 121 insertions(+), 6 deletions(-) create mode 100644 dyninst-9.3.1-Address.patch diff --git a/.gitignore b/.gitignore index a704e58..27de299 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /Testsuite-9.2.0.zip /dyninst-9.3.0.tar.gz /testsuite-9.3.0.tar.gz +/dyninst-9.3.1.tar.gz diff --git a/dyninst-9.3.1-Address.patch b/dyninst-9.3.1-Address.patch new file mode 100644 index 0000000..213cc4a --- /dev/null +++ b/dyninst-9.3.1-Address.patch @@ -0,0 +1,108 @@ +--- dyninst-9.3.1/common/src/Types.h.sv 2017-03-07 22:05:52.187479600 -0500 ++++ dyninst-9.3.1/common/src/Types.h 2017-03-07 22:06:57.509944790 -0500 +@@ -170,7 +170,7 @@ + static const Address ADDR_NULL = (Address)(0); + #else + #define ADDR_NULL (0) +-typedef uintptr_t Address; ++typedef unsigned long Address; + #endif + /* Note the inherent assumption that the size of a "long" integer matches + that of an address (void*) on every supported Paradyn/Dyninst system! + + +--- dyninst-9.3.1/common/h/dyntypes.h.sv 2017-03-08 10:16:18.657768231 -0500 ++++ dyninst-9.3.1/common/h/dyntypes.h 2017-03-08 10:37:07.992634513 -0500 +@@ -124,8 +124,8 @@ + + namespace Dyninst + { +- typedef uintptr_t Address; +- typedef uintptr_t Offset; ++ typedef unsigned long Address; ++ typedef unsigned long Offset; + + #if defined(_MSC_VER) + typedef int PID; + + +--- dyninst-9.3.1/dyninstAPI/src/BPatch_memoryAccess.C.sv 2017-03-07 23:07:29.371789000 -0500 ++++ dyninst-9.3.1/dyninstAPI/src/BPatch_memoryAccess.C 2017-03-07 23:07:48.928927991 -0500 +@@ -33,10 +33,10 @@ + #include + #include + ++#include "../../common/src/Types.h" + #include "BPatch_memoryAccess_NP.h" + #include "BPatch_Vector.h" + #include "BPatch_point.h" +-#include "../../common/src/Types.h" + + BPatch_addrSpec_NP::BPatch_addrSpec_NP(long _imm, int _ra, int _rb, int _scale) : + imm(_imm), + + +--- dyninst-9.3.1/dyninstAPI/h/BPatch_instruction.h.sv 2017-03-08 09:06:46.638171175 -0500 ++++ dyninst-9.3.1/dyninstAPI/h/BPatch_instruction.h 2017-03-08 09:00:39.455564403 -0500 +@@ -69,7 +69,7 @@ + public: + + BPatch_instruction(internal_instruction *insn, +- uintptr_t _addr); ++ Dyninst::Address _addr); + virtual ~BPatch_instruction(); + + void getInstruction(const unsigned char *&_buffer, unsigned char &_length); + + +--- dyninst-9.3.1/dyninstAPI/h/BPatch_memoryAccess_NP.h.sv 2017-03-07 22:43:56.645745821 -0500 ++++ dyninst-9.3.1/dyninstAPI/h/BPatch_memoryAccess_NP.h 2017-03-08 10:39:30.122643332 -0500 +@@ -121,27 +121,27 @@ + static BPatch_memoryAccess* init_tables(); + + // initializes only the first access; #bytes is a constant +- BPatch_memoryAccess(internal_instruction *, uintptr_t _addr, ++ BPatch_memoryAccess(internal_instruction *, Dyninst::Address _addr, + bool _isLoad, bool _isStore, unsigned int _bytes, + long _imm, int _ra, int _rb, unsigned int _scale = 0, + int _cond = -1, bool _nt = false); + + // initializes only the first access; #bytes is an expression w/scale +- BPatch_memoryAccess(internal_instruction *insn, uintptr_t _addr, ++ BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, + bool _isinternal_Load, bool _isStore, + long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s, + long _imm_c, int _ra_c, int _rb_c, unsigned int _scale_c, + int _cond, bool _nt, int _preFcn = -1); + + // initializes only the first access; #bytes is an expression +- BPatch_memoryAccess(internal_instruction *insn, uintptr_t _addr, ++ BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, + bool _isLoad, bool _isStore, bool _isPrefetch, + long _imm_s, int _ra_s, int _rb_s, + long _imm_c, int _ra_c, int _rb_c, + unsigned short _preFcn); + + // initializes only the first access; #bytes is an expression & not a prefetch +- BPatch_memoryAccess(internal_instruction *insn, uintptr_t _addr, ++ BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, + bool _isLoad, bool _isStore, long _imm_s, int _ra_s, int _rb_s, + long _imm_c, int _ra_c, int _rb_c); + +@@ -156,14 +156,14 @@ + int _cond, bool _nt); + + // initializes both accesses; #bytes is a constant +- BPatch_memoryAccess(internal_instruction *insn, uintptr_t _addr, ++ BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, + bool _isLoad, bool _isStore, unsigned int _bytes, + long _imm, int _ra, int _rb, unsigned int _scale, + bool _isLoad2, bool _isStore2, unsigned int _bytes2, + long _imm2, int _ra2, int _rb2, unsigned int _scale2); + + // initializes both accesses; #bytes is an expression & not a prefetch +- BPatch_memoryAccess(internal_instruction *insn, uintptr_t _addr, bool _isLoad, bool _isStore, ++ BPatch_memoryAccess(internal_instruction *insn, Dyninst::Address _addr, bool _isLoad, bool _isStore, + long _imm_s, int _ra_s, int _rb_s, unsigned int _scale_s, + long _imm_c, int _ra_c, int _rb_c, unsigned int _scale_c, + bool _isLoad2, bool _isStore2, long _imm2_s, int _ra2_s, diff --git a/dyninst.spec b/dyninst.spec index 1f88ede..381f9b2 100644 --- a/dyninst.spec +++ b/dyninst.spec @@ -2,21 +2,24 @@ Summary: An API for Run-time Code Generation License: LGPLv2+ Name: dyninst Group: Development/Libraries -Release: 2%{?dist} +Release: 1%{?dist} URL: http://www.dyninst.org -Version: 9.3.0 +Version: 9.3.1 # Dyninst only has full support for a few architectures. # It has some preliminary support for aarch64 and ppc64le, # but we're waiting for those to be feature-complete. ExclusiveArch: %{ix86} x86_64 ppc ppc64 Source0: https://github.com/dyninst/dyninst/archive/v%{version}/dyninst-%{version}.tar.gz -Source1: https://github.com/dyninst/testsuite/archive/v%{version}/testsuite-%{version}.tar.gz +# Explicit version since it does not match the source version +Source1: https://github.com/dyninst/testsuite/archive/v9.3.0/testsuite-9.3.0.tar.gz Patch1: testsuite-9.3.0-junit-nullptr.patch +Patch2: dyninst-9.3.1-Address.patch %global dyninst_base dyninst-%{version} -%global testsuite_base testsuite-%{version} +# Explicit version since it does not match the source version +%global testsuite_base testsuite-9.3.0 BuildRequires: gcc-c++ BuildRequires: libdwarf-devel >= 20111030 @@ -86,6 +89,7 @@ making sure that dyninst works properly. %setup -q -T -D -a 1 %patch1 -p0 -b.nullptr +%patch2 -p0 -b.Address # cotire seems to cause non-deterministic gcc errors # https://bugzilla.redhat.com/show_bug.cgi?id=1420551 @@ -180,6 +184,9 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \ %attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a %changelog +* Mon Mar 06 2017 Stan Cox - 9.3.1-1 +- Update to 9.3.1 + * Wed Feb 8 2017 William Cohen - 9.3.0-2 - Rebuild for boost 1.63 diff --git a/sources b/sources index cba9819..2011dc1 100644 --- a/sources +++ b/sources @@ -1,2 +1 @@ -SHA512 (dyninst-9.3.0.tar.gz) = 27b99a15c9aea102f9575b6dad46cf1a3f50c1490b5ea6bb0b67d3c65f692583f4c96f852fab840caeec413ca0feb72be6f094d2ddc9a19ed2311a9120a1d11d -SHA512 (testsuite-9.3.0.tar.gz) = b4a53c1a214882d7823f7a67fad5aee51a7f2fd692abdaecc9658cd01e991b6ac9b031b0f9bb94e3bd3e147ed4d362305882439bb422ff6b48bc35f1acbcdc2e +SHA512 (dyninst-9.3.1.tar.gz) = 304a19497033e96914ddcf08dbd3d76093898f2521de029dfbf2aa72b1c2a6984ff4d106454bea7948726c3cddf528e014e0f17ed4daaa965f22e5ba0c9cf4b6