From f27f96cee0b73f770cf69cb98a5744f769014ee5 Mon Sep 17 00:00:00 2001
From: "James A. Kupsch" <kupsch@cs.wisc.edu>
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
