[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