diff --git a/sys-cluster/dyninst/dyninst-11.0.1.ebuild b/sys-cluster/dyninst/dyninst-11.0.1-r1.ebuild similarity index 93% rename from sys-cluster/dyninst/dyninst-11.0.1.ebuild rename to sys-cluster/dyninst/dyninst-11.0.1-r1.ebuild index 73a7501d4f..eb0f0a6d73 100644 --- a/sys-cluster/dyninst/dyninst-11.0.1.ebuild +++ b/sys-cluster/dyninst/dyninst-11.0.1-r1.ebuild @@ -29,6 +29,8 @@ RDEPEND=" DEPEND="${RDEPEND}" BDEPEND="doc? ( dev-texlive/texlive-latex )" +PATCHES=( "${FILESDIR}/${P}-remove-executable-flag-from-dyninst_heap-section.patch" ) + src_configure() { local mycmakeargs=( -DENABLE_STATIC_LIBS=NO diff --git a/sys-cluster/dyninst/files/dyninst-11.0.1-remove-executable-flag-from-dyninst_heap-section.patch b/sys-cluster/dyninst/files/dyninst-11.0.1-remove-executable-flag-from-dyninst_heap-section.patch new file mode 100644 index 0000000000..09bab89931 --- /dev/null +++ b/sys-cluster/dyninst/files/dyninst-11.0.1-remove-executable-flag-from-dyninst_heap-section.patch @@ -0,0 +1,20 @@ +From f27f96cee0b73f770cf69cb98a5744f769014ee5 Mon Sep 17 00:00:00 2001 +From: "James A. Kupsch" +Date: Mon, 30 Aug 2021 10:18:17 -0500 +Subject: [PATCH] remove executable flag from .dyninst_heap section + +This prevents the library/object with this code from having a segment violates +the W^X security property for segments as the current setting resulted in +segment with both the WRITE and EXECUTE flags set. The function +mark_heaps_exec() restores execute protection to just the heap arrays. +--- a/dyninstAPI_RT/src/RTspace.S ++++ b/dyninstAPI_RT/src/RTspace.S +@@ -8,7 +8,7 @@ + .type DYNINSTstaticHeap_16M_anyHeap_1, @object + .size DYNINSTstaticHeap_16M_anyHeap_1, 16777216 + +-.section .dyninst_heap,"awx",@nobits ++.section .dyninst_heap,"aw",@nobits + .align 16 + DYNINSTstaticHeap_512K_lowmemHeap_1: + .skip 524288