[packages/dyninst] - updated to 9.3.1 - updated libname patch - added types patch (fixes unsigned long vs Offset/Addres

qboosh qboosh at pld-linux.org
Mon Apr 10 05:38:00 CEST 2017


commit 770436bb9b4c1674c2e1ca23bc3e025bfe517e34
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Mon Apr 10 05:37:14 2017 +0200

    - updated to 9.3.1
    - updated libname patch
    - added types patch (fixes unsigned long vs Offset/Address type mismatches)

 dyninst-libname.patch | 12 ++++++------
 dyninst-types.patch   | 54 +++++++++++++++++++++++++++++++++++++++++++++++++++
 dyninst.spec          | 36 ++++++++++++++++++----------------
 3 files changed, 79 insertions(+), 23 deletions(-)
---
diff --git a/dyninst.spec b/dyninst.spec
index a2d6e52..a5bae32 100644
--- a/dyninst.spec
+++ b/dyninst.spec
@@ -1,16 +1,17 @@
 Summary:	API for Run-time Code Generation
 Summary(pl.UTF-8):	API do generowania kodu w czasie działania
 Name:		dyninst
-Version:	9.2.0
-Release:	2
+Version:	9.3.1
+Release:	1
 License:	LGPL v2.1+
 Group:		Libraries
 # http://www.dyninst.org/downloads/dyninst-9.x
 #Source0Download: https://github.com/dyninst/dyninst/releases
 Source0:	https://github.com/dyninst/dyninst/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	ad023f85e8e57837ed9de073b59d6bab
+# Source0-md5:	995e1d0a718148e93251d12b982caffc
 Patch0:		%{name}-libname.patch
 Patch1:		%{name}-x32.patch
+Patch2:		%{name}-types.patch
 URL:		http://www.dyninst.org/dyninst
 # libiberty
 BuildRequires:	binutils-devel
@@ -87,6 +88,7 @@ Dokumentacja do bibliotek dyninst.
 %setup -q
 %patch0 -p1
 %patch1 -p1
+%patch2 -p1
 
 %build
 %cmake . \
@@ -111,34 +113,34 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc COPYRIGHT ChangeLog README
+%doc COPYRIGHT CHANGELOG.md README.md
 %attr(755,root,root) %{_bindir}/parseThat
 %attr(755,root,root) %{_libdir}/libdynC_API.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdynC_API.so.9.3
 %attr(755,root,root) %{_libdir}/libdynDwarf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdynDwarf.so.9.3
 %attr(755,root,root) %{_libdir}/libdynElf.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdynElf.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdynElf.so.9.3
 %attr(755,root,root) %{_libdir}/libdyncommon.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdyncommon.so.9.3
 %attr(755,root,root) %{_libdir}/libdyninstAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI.so.9.3
 %attr(755,root,root) %{_libdir}/libdyninstAPI_RT.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libdyninstAPI_RT.so.9.3
 %attr(755,root,root) %{_libdir}/libinstructionAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libinstructionAPI.so.9.3
 %attr(755,root,root) %{_libdir}/libparseAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libparseAPI.so.9.3
 %attr(755,root,root) %{_libdir}/libpatchAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libpatchAPI.so.9.3
 %attr(755,root,root) %{_libdir}/libpcontrol.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libpcontrol.so.9.3
 %attr(755,root,root) %{_libdir}/libstackwalk.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libstackwalk.so.9.3
 %attr(755,root,root) %{_libdir}/libsymLite.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymLite.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libsymLite.so.9.3
 %attr(755,root,root) %{_libdir}/libsymtabAPI.so.*.*.*
-%attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.9.2
+%attr(755,root,root) %ghost %{_libdir}/libsymtabAPI.so.9.3
 
 %files devel
 %defattr(644,root,root,755)
diff --git a/dyninst-libname.patch b/dyninst-libname.patch
index e9903c6..c406aef 100644
--- a/dyninst-libname.patch
+++ b/dyninst-libname.patch
@@ -1,10 +1,10 @@
---- dyninst-9.2.0/common/CMakeLists.txt.orig	2016-08-01 18:54:27.138427786 +0200
-+++ dyninst-9.2.0/common/CMakeLists.txt	2016-08-01 18:56:45.575092871 +0200
+--- dyninst-9.3.1/common/CMakeLists.txt.orig	2017-04-09 19:23:42.065823975 +0200
++++ dyninst-9.3.1/common/CMakeLists.txt	2017-04-09 19:28:45.709153841 +0200
 @@ -112,6 +112,7 @@
- endif()
+ 
  
  dyninst_library(common ${DEPS})
 +set_target_properties(common PROPERTIES OUTPUT_NAME dyncommon)
- if (UNIX)
-   # Boost auto-links on Windows; don't double-link
-   target_link_private_libraries(common ${Boost_LIBRARIES})
+ if(PLATFORM MATCHES nt OR PLATFORM MATCHES windows)
+   target_link_private_libraries(common Psapi WS2_32 dbghelp)
+ endif()
diff --git a/dyninst-types.patch b/dyninst-types.patch
new file mode 100644
index 0000000..5774b93
--- /dev/null
+++ b/dyninst-types.patch
@@ -0,0 +1,54 @@
+--- dyninst-9.3.1/symtabAPI/src/Object-elf.C.orig	2017-03-02 22:38:32.000000000 +0100
++++ dyninst-9.3.1/symtabAPI/src/Object-elf.C	2017-04-09 20:52:53.689096202 +0200
+@@ -3630,9 +3630,9 @@
+                                    std::vector<ExceptionBlock> &addresses,
+                                    const mach_relative_info &mi)
+ {
+-    Offset try_start = (Offset) -1;
+-    Offset try_end = (Offset) -1;
+-    Offset catch_start = 0;
++    unsigned long try_start = (unsigned long) -1;
++    unsigned long try_end = (unsigned long) -1;
++    unsigned long catch_start = 0;
+ 
+     Elf_X_Data data = except_table->get_data();
+     const unsigned char *datap = (const unsigned char *)data.get_string();
+@@ -3652,7 +3652,7 @@
+             i += read_val_of_type(DW_EH_PE_udata8, &catch_start, datap + i, mi);
+         }
+ 
+-        if (try_start != (Offset) -1 && try_end != (Offset) -1) {
++        if (try_start != (unsigned long) -1 && try_end != (unsigned long) -1) {
+             ExceptionBlock eb(try_start, (unsigned) (try_end - try_start), catch_start);
+             addresses.push_back(eb);
+         }
+--- dyninst-9.3.1/symtabAPI/src/emitElf.C.orig	2017-03-02 22:38:32.000000000 +0100
++++ dyninst-9.3.1/symtabAPI/src/emitElf.C	2017-04-09 21:05:01.219087893 +0200
+@@ -651,7 +651,7 @@
+             }
+         }
+ 
+-        vector<vector<unsigned long> > moveSecAddrRange = obj->getObject()->getMoveSecAddrRange();
++        vector<vector<Offset> > moveSecAddrRange = obj->getObject()->getMoveSecAddrRange();
+ 
+         for (unsigned i = 0; i != moveSecAddrRange.size(); i++) {
+             if ((moveSecAddrRange[i][0] == shdr->sh_addr) ||
+--- dyninst-9.3.1/symtabAPI/src/dwarfWalker.C.orig	2017-04-09 21:31:37.515736334 +0200
++++ dyninst-9.3.1/symtabAPI/src/dwarfWalker.C	2017-04-09 21:31:42.419069611 +0200
+@@ -1820,13 +1820,13 @@
+    Dwarf_Attribute strattr;
+ 
+    if (attr == DW_AT_call_file || attr == DW_AT_decl_file) {
+-      unsigned long line_index;
++      Address line_index;
+       bool result = findConstant(attr, line_index, entry(), dbg());
+       if (!result)
+          return false;
+       if (line_index >= mod()->getStrings()->size()) {
+-         dwarf_printf("Dwarf error reading line index %d from srcFiles of size %lu\n",
+-                      line_index, mod()->getStrings()->size());
++         dwarf_printf("Dwarf error reading line index %lu from srcFiles of size %lu\n",
++                      (unsigned long)line_index, mod()->getStrings()->size());
+          return false;
+       }
+ //       cout << "findString found " << (*srcFiles())[line_index].str << " at srcFiles[" << line_index << "] for " << mod()->fileName() << endl;
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/dyninst.git/commitdiff/770436bb9b4c1674c2e1ca23bc3e025bfe517e34



More information about the pld-cvs-commit mailing list