fix FTBS with gcc8

fix for using libtirpc, Sun RPC Interfaces is removed in latest glibc
This commit is contained in:
Than Ngo 2018-02-07 17:13:20 +01:00
parent 247a3614f5
commit 17be176ef3
3 changed files with 42 additions and 1 deletions

14
dyninst-9.3.2-gcc8.patch Normal file
View File

@ -0,0 +1,14 @@
diff -up dyninst-9.3.2/dyninst-9.3.2/symtabAPI/src/emitElf.C.me dyninst-9.3.2/dyninst-9.3.2/symtabAPI/src/emitElf.C
--- dyninst-9.3.2/dyninst-9.3.2/symtabAPI/src/emitElf.C.me 2018-02-07 15:50:36.706363500 +0100
+++ dyninst-9.3.2/dyninst-9.3.2/symtabAPI/src/emitElf.C 2018-02-07 16:30:28.173906877 +0100
@@ -2512,8 +2512,8 @@ void emitElf<ElfTypes>::createDynamicSec
if (!object->hasReldyn() && !object->hasReladyn()) {
if (object->getRelType() == Region::RT_REL) {
- new_dynamic_entries.push_back(make_pair(DT_REL, 0));
- new_dynamic_entries.push_back(make_pair(DT_RELSZ, 0));
+ new_dynamic_entries.push_back(std::pair<long, long>(DT_REL, 0));
+ new_dynamic_entries.push_back(std::pair<long, long>(DT_RELSZ, 0));
dynamicSecData[DT_REL].push_back(dynsecData + curpos);
dynsecData[curpos].d_tag = DT_NULL;

View File

@ -0,0 +1,23 @@
diff -up dyninst-9.3.2/dyninst-9.3.2/CMakeLists.txt.me dyninst-9.3.2/dyninst-9.3.2/CMakeLists.txt
--- dyninst-9.3.2/dyninst-9.3.2/CMakeLists.txt.me 2018-02-07 15:25:38.925763122 +0100
+++ dyninst-9.3.2/dyninst-9.3.2/CMakeLists.txt 2018-02-07 15:30:42.242099198 +0100
@@ -19,6 +19,7 @@ include (${DYNINST_ROOT}/cmake/shared.cm
configure_file(cmake/version.h.in common/h/version.h)
include_directories(${PROJECT_BINARY_DIR})
include_directories(${PROJECT_BINARY_DIR}/common/h)
+include_directories("/usr/include/tirpc/")
set (HEADER_DIRS common
dataflowAPI
dyninstAPI
diff -up dyninst-9.3.2/dyninst-9.3.2/common/src/linuxHeaders.h.me dyninst-9.3.2/dyninst-9.3.2/common/src/linuxHeaders.h
--- dyninst-9.3.2/dyninst-9.3.2/common/src/linuxHeaders.h.me 2018-02-07 15:06:45.961780668 +0100
+++ dyninst-9.3.2/dyninst-9.3.2/common/src/linuxHeaders.h 2018-02-07 15:38:56.832278338 +0100
@@ -281,7 +281,7 @@ inline bool_t P_xdr_string(XDR *x, char
inline void P_xdrrec_create(XDR *x, const u_int send_sz, const u_int rec_sz,
const caddr_t handle,
xdr_rd_func read_r, xdr_wr_func write_f) {
- xdrrec_create(x, send_sz, rec_sz, handle, (int(*)(char*, char*, int))read_r, (int(*)(char*, char*, int))write_f);}
+ xdrrec_create(x, send_sz, rec_sz, handle, (int(*)(void*, void*, int))read_r, (int(*)(void*, void*, int))write_f);}
inline bool_t P_xdrrec_endofrecord(XDR *x, int now) {
return (xdrrec_endofrecord(x, now));}
inline bool_t P_xdrrec_skiprecord(XDR *x) { return (xdrrec_skiprecord(x));}

View File

@ -2,7 +2,7 @@ Summary: An API for Run-time Code Generation
License: LGPLv2+
Name: dyninst
Group: Development/Libraries
Release: 9%{?dist}
Release: 10%{?dist}
URL: http://www.dyninst.org
Version: 9.3.2
# Dyninst only has full support for a few architectures.
@ -185,6 +185,10 @@ find %{buildroot}%{_libdir}/dyninst/testsuite/ \
%attr(644,root,root) %{_libdir}/dyninst/testsuite/*.a
%changelog
* Wed Feb 07 2018 Than Ngo <than@redhat.com> - - 9.3.2-10
- fix FTBS with gcc8
- fix for using libtirpc, Sun RPC Interfaces is removed in latest glibc
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 9.3.2-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild