rpms/mlton/F-8 mlton-20070826-no-execmem.patch, NONE, 1.1 mlton.spec, 1.21, 1.22

Adam Goode (agoode) fedora-extras-commits at redhat.com
Sat Feb 9 08:33:42 UTC 2008


Author: agoode

Update of /cvs/extras/rpms/mlton/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv20646

Modified Files:
	mlton.spec 
Added Files:
	mlton-20070826-no-execmem.patch 
Log Message:
* Sat Feb  9 2008 Adam Goode <adam at spicenitz.org> - 20070826-12
- Introduce patch to not call mprotect with PROT_EXEC


mlton-20070826-no-execmem.patch:

--- NEW FILE mlton-20070826-no-execmem.patch ---
>From 544930de3b1c754fa8803169902a63bce7cc02ba Mon Sep 17 00:00:00 2001
From: Adam Goode <adam at spicenitz.org>
Date: Wed, 6 Feb 2008 20:17:51 -0500
Subject: [PATCH] Remove PROT_EXEC from mprotect

It looks like mprotect is used here as part of signal handling.
There doesn't seems to be a reason to have the area of memory
marked as executable. In fact, on Fedora 9, this causes MLton
compiled binaries (including MLton itself) to fail.
---
 runtime/platform/mmap-protect.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/runtime/platform/mmap-protect.c b/runtime/platform/mmap-protect.c
index f0dea49..df42215 100644
--- a/runtime/platform/mmap-protect.c
+++ b/runtime/platform/mmap-protect.c
@@ -7,7 +7,7 @@ void *GC_mmapAnon_safe_protect (void *start, size_t length,
         if (mprotect (low, dead_low, PROT_NONE))
                 diee ("mprotect failed");
         result = (void*)((pointer)low + dead_low);
-        if (mprotect (result, length, PROT_READ | PROT_WRITE | PROT_EXEC))
+        if (mprotect (result, length, PROT_READ | PROT_WRITE))
                 diee ("mprotect failed");
         high = (void*)((pointer)result + length);
         if (mprotect (high, dead_high, PROT_NONE))
-- 
1.5.4



Index: mlton.spec
===================================================================
RCS file: /cvs/extras/rpms/mlton/F-8/mlton.spec,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- mlton.spec	28 Sep 2007 02:07:52 -0000	1.21
+++ mlton.spec	9 Feb 2008 08:33:03 -0000	1.22
@@ -2,7 +2,7 @@
 
 Name:		mlton
 Version:	20070826
-Release:	10%{?dist}
+Release:	12%{?dist}
 Summary:	Optimizing compiler for Standard ML
 
 Group:		Development/Languages
@@ -13,7 +13,7 @@
 #Source1:	mlton-20061107-1.ppc-linux.tgz
 
 Patch0:		mlton-20070826-debuginfo.patch
-
+Patch1:		mlton-20070826-no-execmem.patch
 
 BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 
@@ -43,6 +43,9 @@
 # disable strip so debuginfo packages work
 %patch -P 0 -p1 -b .debuginfo
 
+# no execmem
+%patch -P 1 -p1 -b .no-execmem
+
 %if %{mlton_bootstrap}
 %setup -T -D -q -a 1
 sed -i 's/\(^lib=\).*$/\1\$MLTON_BOOTSTRAP_DIR\/lib\/mlton/g'  \
@@ -98,6 +101,12 @@
 
 
 %changelog
+* Sat Feb  9 2008 Adam Goode <adam at spicenitz.org> - 20070826-12
+- Introduce patch to not call mprotect with PROT_EXEC
+
+* Fri Jan 18 2008 Adam Goode <adam at spicenitz.org> - 20070826-11
+- Rebuild for new GCC
+
 * Thu Sep 27 2007 Adam Goode <adam at spicenitz.org> - 20070826-10
 - Disable bootstrap
 




More information about the fedora-extras-commits mailing list