diff options
Diffstat (limited to 'dev-lang/mlton/files')
3 files changed, 106 insertions, 0 deletions
diff --git a/dev-lang/mlton/files/mlton-20070826-no-execmem.patch b/dev-lang/mlton/files/mlton-20070826-no-execmem.patch new file mode 100644 index 000000000000..f4d4bdf540bf --- /dev/null +++ b/dev-lang/mlton/files/mlton-20070826-no-execmem.patch @@ -0,0 +1,29 @@ +From 544930de3b1c754fa8803169902a63bce7cc02ba Mon Sep 17 00:00:00 2001 +From: Adam Goode <adam@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 + diff --git a/dev-lang/mlton/files/mlton-20130715-no-PIE.patch b/dev-lang/mlton/files/mlton-20130715-no-PIE.patch new file mode 100644 index 000000000000..a059b1598bec --- /dev/null +++ b/dev-lang/mlton/files/mlton-20130715-no-PIE.patch @@ -0,0 +1,66 @@ +--- mlton-20130715-orig/bin/upgrade-basis 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/bin/upgrade-basis 2013-12-17 18:17:24.165889500 +1100 +@@ -28,7 +28,7 @@ + tmp="$$.sml" + + echo "val () = print \"I work\"" >"$tmp" +-if ! mlton "$tmp" 1>&2; then ++if ! mlton -link-opt -fno-PIE "$tmp" 1>&2; then + die "Error: cannot upgrade basis because the compiler doesn't work" + fi + +--- mlton-20130715-orig/mlton/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/mlton/Makefile 2013-12-17 23:35:06.137421195 +1100 +@@ -106,7 +106,7 @@ + rm -f control/version.sml + $(MAKE) control/version.sml + @echo 'Compiling mlton (takes a while)' +- mlton $(FLAGS) $(FILE) ++ mlton $(FLAGS) -link-opt -fno-PIE $(FILE) + + .PHONY: def-use + def-use: mlton.def-use +--- mlton-20130715-orig/mllex/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/mllex/Makefile 2013-12-18 07:03:29.592171611 +1100 +@@ -21,7 +21,7 @@ + + $(NAME): $(NAME).mlb $(shell PATH="$(BIN):$$PATH" && "$(MLTON)" -stop f $(NAME).mlb) + @echo 'Compiling $(NAME)' +- "$(MLTON)" $(FLAGS) $(NAME).mlb ++ "$(MLTON)" $(FLAGS) -link-opt -fno-PIE $(NAME).mlb + + html/index.html: $(TEX_FILES) + mkdir -p html +--- mlton-20130715-orig/mlnlffigen/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/mlnlffigen/Makefile 2013-12-18 11:55:33.590660407 +1100 +@@ -22,7 +22,7 @@ + + $(NAME): $(NAME).mlb $(shell PATH="$(BIN):$$PATH" && "$(MLTON)" -stop f $(NAME).mlb) + @echo 'Compiling $(NAME)' +- $(MLTON) $(FLAGS) $(NAME).mlb ++ $(MLTON) $(FLAGS) -link-opt -fno-PIE $(NAME).mlb + + .PHONY: clean + clean: +--- mlton-20130715-orig/mlprof/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/mlprof/Makefile 2013-12-20 14:02:50.292677796 +1100 +@@ -21,7 +21,7 @@ + + $(NAME): $(NAME).mlb $(shell PATH="$(BIN):$$PATH" && "$(MLTON)" -stop f $(NAME).mlb) + @echo 'Compiling $(NAME)' +- $(MLTON) $(FLAGS) $(NAME).mlb ++ $(MLTON) $(FLAGS) -link-opt -fno-PIE $(NAME).mlb + + .PHONY: clean + clean: +--- mlton-20130715-orig/mlyacc/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/mlyacc/Makefile 2013-12-20 15:01:26.567775876 +1100 +@@ -41,7 +41,7 @@ + + $(NAME): $(NAME).mlb $(shell PATH="$(BIN):$$PATH" && "$(MLTON)" -stop f $(NAME).mlb) + @echo 'Compiling $(NAME)' +- "$(MLTON)" $(FLAGS) $(NAME).mlb ++ "$(MLTON)" $(FLAGS) -link-opt -fno-PIE $(NAME).mlb + + src/yacc.lex.sml: src/yacc.lex + rm -f src/yacc.lex.sml && \ diff --git a/dev-lang/mlton/files/mlton-20130715-split-make-for-pax-mark.patch b/dev-lang/mlton/files/mlton-20130715-split-make-for-pax-mark.patch new file mode 100644 index 000000000000..3286d44e3522 --- /dev/null +++ b/dev-lang/mlton/files/mlton-20130715-split-make-for-pax-mark.patch @@ -0,0 +1,11 @@ +--- mlton-20130715-orig/Makefile 2013-07-16 05:59:09.000000000 +1000 ++++ mlton-20130715/Makefile 2013-12-27 13:29:35.259563131 +1100 +@@ -58,7 +58,7 @@ + + .PHONY: all-no-docs + all-no-docs: +- $(MAKE) dirs runtime compiler basis-no-check script mlbpathmap constants libraries tools ++ $(MAKE) basis-no-check script mlbpathmap constants libraries tools + # Remove $(AOUT) so that the $(MAKE) compiler below will remake MLton. + # We also want to re-run the just-built tools (mllex and mlyacc) + # because they may be better than those that were used for the first |