aboutsummaryrefslogtreecommitdiffstats
path: root/testing/racket/paxmark.patch
blob: 6f70d086a5cd378eaa020ffc8e4e914e5c0099cc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
This is nasty and quite desperate hack to make Racket built on system
with Grsecurity/PaX. Downstream patch only.

--- a/src/Makefile.in
+++ b/src/Makefile.in
@@ -28,9 +28,9 @@
 # but it can also redirect to an existing Racket executable
 # that is the same as the version being built (which is
 # useful for cross-compilation, for example).
-RUN_THIS_RACKET_CGC = racket/racket@CGC@
-RUN_THIS_RACKET_MMM = racket/racket@MMM@
-RUN_THIS_RACKET_MAIN_VARIANT = racket/racket@MAIN_VARIANT@
+RUN_THIS_RACKET_CGC = paxmark m racket/racket@CGC@ && racket/racket@CGC@
+RUN_THIS_RACKET_MMM = paxmark m racket/racket@MMM@ && racket/racket@MMM@
+RUN_THIS_RACKET_MAIN_VARIANT = paxmark m racket/racket@MAIN_VARIANT@ && racket/racket@MAIN_VARIANT@
 
 ALLDIRINFO = "$(DESTDIR)$(bindir)" \
              "$(DESTDIR)$(collectsdir)" \
--- a/src/racket/Makefile.in
+++ b/src/racket/Makefile.in
@@ -46,8 +46,8 @@
 
 # See ../../Makefile about RUN_RACKET_<X>, which 
 # typically redirects to RUN_THIS_RACKET_<X>:
-RUN_THIS_RACKET_CGC = ./racket@CGC@
-RUN_THIS_RACKET_MMM = ./racket@MMM@
+RUN_THIS_RACKET_CGC = paxmark m ./racket@CGC@; ./racket@CGC@
+RUN_THIS_RACKET_MMM = paxmark m ./racket@MMM@; ./racket@MMM@
 
 MZSRC = $(srcdir)/src
 
@@ -199,6 +199,7 @@
 
 racket@CGC@@NOT_OSX@@NOT_MINGW@: libracket.@LIBSFX@ libmzgc.@LIBSFX@ main.@LTO@ $(LIBRKTIO_FOR_LIB) $(SPECIALIZINGOBJECTS)
 	@MZLINKER@ -o racket@CGC@ main.@LTO@ $(SPECIALIZINGOBJECTS) libracket.@LIBSFX@ libmzgc.@LIBSFX@ $(LIBRKTIO_FOR_LIB) @LDFLAGS@ @LIBS@
+	paxmark m racket@CGC@
 
 mzcom@CGC@@NOT_MINGW@:
 	$(NOOP)
@@ -402,6 +403,7 @@
 	$(MAKE) unix-@INSTALL_LIBS_ENABLE@-libs-cgc
 	cd ..; $(ICP) racket/racket@CGC@ "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
 	cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
+	cd ..; paxmark m "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@"
 	cd ..; cp racket/mzdyn.o "$(DESTDIR)$(libpltdir)/mzdyn.o"
 	@RUN_RACKET_CGC@ -cu "$(srcdir)/collects-path.rkt" "$(DESTDIR)$(bindir)/racket@CGC_INSTALLED@@EXE_SUFFIX@" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
 
@@ -420,6 +422,7 @@
 unix-install-3m:
 	cd ..; $(ICP) racket/racket@MMM@ "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
 	cd ..; $(STRIP_DEBUG) "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
+	cd ..; paxmark m "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@"
 	$(MAKE) unix-@INSTALL_LIBS_ENABLE@-libs-3m
 	cd ..; $(ICP) racket/mzdyn3m.o "$(DESTDIR)$(libpltdir)/mzdyn3m.o"
 	@RUN_RACKET_MMM@ -cu "$(srcdir)/collects-path.rkt" "$(DESTDIR)$(bindir)/racket@MMM_INSTALLED@@EXE_SUFFIX@" $(DESTDIR)@COLLECTS_PATH@ $(DESTDIR)@CONFIG_PATH@
--- a/src/racket/gc2/Makefile.in
+++ b/src/racket/gc2/Makefile.in
@@ -522,6 +522,7 @@
 
 ../racket@MMM@@NOT_OSX@@NOT_MINGW@: main.@LTO@ ../libracket3m.@LIBSFX@ $(LIBRKTIO_FOR_LIB)
 	cd ..; @MZLINKER@ -o racket@MMM@ @PROFFLAGS@ gc2/main.@LTO@ libracket3m.@LIBSFX@ $(LIBRKTIO_UP_FOR_LIB) @LDFLAGS@ $(LIBS)
+	paxmark m ../racket@MMM@
 
 # The above "cd .." prevents a problem with libtool's generated script in --enable-shared mode,
 #  at least for Mac OS X. Beware of changing LIBS or LDFLAGS to inclucde something with a relative

--- a/src/lt/ltmain.sh
+++ b/src/lt/ltmain.sh
@@ -5453,6 +5453,7 @@
 
 	*)
 	  $echo >> $output "\
+      paxmark m \"\$progdir/\$program\"
       exec \"\$progdir/\$program\" \${1+\"\$@\"}
 "
 	  ;;
	  ;;