From 1eb9dff0cac616be3242450e7e67b114de9acdc8 Mon Sep 17 00:00:00 2001 From: Jaap Boender Date: Thu, 2 May 2019 16:45:43 +0100 Subject: [PATCH] Changes for RELRO --- ocaml/distinfo | 10 +++++--- ocaml/patches/patch-Makefile | 15 +++++++++--- ocaml/patches/patch-Makefile.common.in | 2 +- ocaml/patches/patch-lex_Makefile | 22 +++++++++++++++++ ocaml/patches/patch-ocamldoc_Makefile | 13 ++++++++++ ocaml/patches/patch-runtime_Makefile | 34 ++++++++++++++++++++++++++ ocaml/patches/patch-tools_Makefile | 13 ++++++++++ ocaml/patches/patch-yacc_Makefile | 4 +-- 8 files changed, 104 insertions(+), 9 deletions(-) create mode 100644 ocaml/patches/patch-lex_Makefile create mode 100644 ocaml/patches/patch-ocamldoc_Makefile create mode 100644 ocaml/patches/patch-runtime_Makefile create mode 100644 ocaml/patches/patch-tools_Makefile diff --git a/ocaml/distinfo b/ocaml/distinfo index 142c8cbe0e..89d0b6a20d 100644 --- a/ocaml/distinfo +++ b/ocaml/distinfo @@ -4,8 +4,8 @@ SHA1 (ocaml-4.08.0+beta3.tar.gz) = b5976a66e42f0d2a6a6379b71bf488aa50e36fc3 RMD160 (ocaml-4.08.0+beta3.tar.gz) = 4b151e8e32d0a940254a52a1101662fa05f1892f SHA512 (ocaml-4.08.0+beta3.tar.gz) = b68cd6af7d48b4134e79d3646315c2ae613afd77b4eaac33e725addf568f61bafd6063997ef158373c279a90f8a31a5ce708f87a3272a13986447addce71a3cb Size (ocaml-4.08.0+beta3.tar.gz) = 4902188 bytes -SHA1 (patch-Makefile) = 4ed79d0a5e2368a3840f51ebcdfd5a8f91e6c74e -SHA1 (patch-Makefile.common.in) = 6bfbaf2fb7f9f74227c5f581eb65430985c1ac01 +SHA1 (patch-Makefile) = 34150bb2534632de9b91cf8c84c476cc9d5d7886 +SHA1 (patch-Makefile.common.in) = 419b838a31898fffdbe5dc785ee7c602b48343ca SHA1 (patch-asmcomp_amd64_emit.mlp) = 68cc42afd6439347524f2d81c48305dcbc173869 SHA1 (patch-asmcomp_asmlink.ml) = db2b387ea17f41a62c2bce53b91f945d5e29a82f SHA1 (patch-asmrun_amd64.S) = c7cd60d9b02ddc3b9a09c696f697d5f78c25a13f @@ -15,14 +15,18 @@ SHA1 (patch-driver_main.ml) = 69a6f761ded38e0721a7aed1416a9f19a288d991 SHA1 (patch-driver_main_args.ml) = 4c6a6ec25f433974f9aab99b4f2ac9c884bb3b04 SHA1 (patch-driver_main_args.mli) = 5e8164e4392c0dde6c6264eeed87c346128e1863 SHA1 (patch-driver_optmain.ml) = 5ce77f1f906ce59cb533b4d25e4d57f7a70ab1b3 +SHA1 (patch-lex_Makefile) = 5280f98078e8065e590a94d520d7a47763b9442e SHA1 (patch-man_Makefile) = b780c026aef5f7e6b22b142fce3ec87ef9d2ab22 +SHA1 (patch-ocamldoc_Makefile) = 5605f29b3076c822dc8850542d00511111c29f22 SHA1 (patch-ocamldoc_odoc__messages.ml) = 77f650a5f34f40b9648a8d5091e9aa31efb5734b SHA1 (patch-otherlibs_Makefile.otherlibs.common) = 9933ed1b10c79885920020c444750f7487829d6b SHA1 (patch-otherlibs_systhreads_Makefile) = 477f965a6d8854dcf33caecb91d6655896333950 SHA1 (patch-otherlibs_threads_Makefile) = 607e5ae77c526ea412452b93454d2e0d65aed687 +SHA1 (patch-runtime_Makefile) = 08199b04abfbe4a60afcd776d1bb19b4e60b94e7 +SHA1 (patch-tools_Makefile) = 8685b49a46b6a9337b621e94699dca43c6ba291a SHA1 (patch-tools_ocamlcp.ml) = 76dfe040e6d61f0c844e01fa2bd9b6b0f1c21b99 SHA1 (patch-tools_ocamlmklib) = 409e9fab682d9c0533725b872fd233becf234133 SHA1 (patch-tools_ocamloptp.ml) = 070bd797fcd4120e58d15a09f25d93ec46b87d1a SHA1 (patch-utils_clflags.ml) = 1c8223caac3c81b134b470d9bb2fb5ce62576c53 SHA1 (patch-utils_clflags.mli) = 381951d9583e032d3a520b68a8fe9f867ec49995 -SHA1 (patch-yacc_Makefile) = 5e52986e495718666c253dc5bfd8a9ca584ea854 +SHA1 (patch-yacc_Makefile) = 938c492aaaeb970d6c3b7ebf61b8241808ecf7a5 diff --git a/ocaml/patches/patch-Makefile b/ocaml/patches/patch-Makefile index ced4c62a98..3400268fb3 100644 --- a/ocaml/patches/patch-Makefile +++ b/ocaml/patches/patch-Makefile @@ -1,8 +1,17 @@ $NetBSD$ ---- Makefile.orig 2019-02-08 14:34:09.000000000 +0000 +--- Makefile.orig 2019-03-01 15:13:45.000000000 +0000 +++ Makefile -@@ -516,10 +516,10 @@ endif +@@ -54,7 +54,7 @@ INCLUDES=-I utils -I parsing -I typing - + COMPFLAGS=-strict-sequence -principal -absname -w +a-4-9-41-42-44-45-48-66 \ + -warn-error A \ + -bin-annot -safe-string -strict-formats $(INCLUDES) +-LINKFLAGS= ++LINKFLAGS= -cclib "$(LDFLAGS)" + + ifeq "$(strip $(NATDYNLINKOPTS))" "" + OCAML_NATDYNLINKOPTS= +@@ -513,10 +513,10 @@ endif # Installation .PHONY: install install: @@ -17,7 +26,7 @@ $NetBSD$ $(INSTALL_DATA) \ VERSION \ "$(INSTALL_LIBDIR)" -@@ -567,7 +567,7 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true +@@ -564,7 +564,7 @@ ifeq "$(INSTALL_SOURCE_ARTIFACTS)" "true endif $(MAKE) -C tools install ifeq "$(UNIX_OR_WIN32)" "unix" # Install manual pages only on Unix diff --git a/ocaml/patches/patch-Makefile.common.in b/ocaml/patches/patch-Makefile.common.in index 99fb838202..c943f0fa6e 100644 --- a/ocaml/patches/patch-Makefile.common.in +++ b/ocaml/patches/patch-Makefile.common.in @@ -1,6 +1,6 @@ $NetBSD$ ---- Makefile.common.in.orig 2019-02-08 14:34:09.000000000 +0000 +--- Makefile.common.in.orig 2019-03-01 15:13:45.000000000 +0000 +++ Makefile.common.in @@ -16,9 +16,9 @@ # This makefile contains common definitions shared by other Makefiles diff --git a/ocaml/patches/patch-lex_Makefile b/ocaml/patches/patch-lex_Makefile new file mode 100644 index 0000000000..d205ef9b52 --- /dev/null +++ b/ocaml/patches/patch-lex_Makefile @@ -0,0 +1,22 @@ +$NetBSD$ + +--- lex/Makefile.orig 2019-03-01 15:13:45.000000000 +0000 ++++ lex/Makefile +@@ -28,7 +28,7 @@ CAMLC = $(CAMLRUN) $(ROOTDIR)/boot/ocaml + CAMLOPT = $(CAMLRUN) $(ROOTDIR)/ocamlopt -nostdlib -I $(ROOTDIR)/stdlib + COMPFLAGS = $(INCLUDES) -absname -w +a-4-9-41-42-44-45-48 -warn-error A \ + -safe-string -strict-sequence -strict-formats -bin-annot +-LINKFLAGS = ++LINKFLAGS = -cclib "$(LDFLAGS)" + YACCFLAGS = -v + CAMLLEX = $(CAMLRUN) $(ROOTDIR)/boot/ocamllex + CAMLDEP = $(CAMLRUN) $(ROOTDIR)/boot/ocamlc -depend +@@ -47,7 +47,7 @@ ocamllex: $(OBJS) + $(CAMLC) $(LINKFLAGS) -compat-32 -o ocamllex $(OBJS) + + ocamllex.opt: $(OBJS:.cmo=.cmx) +- $(CAMLOPT_CMD) -o ocamllex.opt $(OBJS:.cmo=.cmx) ++ $(CAMLOPT_CMD) $(LINKFLAGS) -o ocamllex.opt $(OBJS:.cmo=.cmx) + + clean:: + rm -f ocamllex ocamllex.opt diff --git a/ocaml/patches/patch-ocamldoc_Makefile b/ocaml/patches/patch-ocamldoc_Makefile new file mode 100644 index 0000000000..8b853dc175 --- /dev/null +++ b/ocaml/patches/patch-ocamldoc_Makefile @@ -0,0 +1,13 @@ +$NetBSD$ + +--- ocamldoc/Makefile.orig 2019-03-01 15:13:46.000000000 +0000 ++++ ocamldoc/Makefile +@@ -104,7 +104,7 @@ DEPINCLUDES=$(INCLUDES_DEP) + INCLUDES=$(INCLUDES_DEP) $(INCLUDES_NODEP) + + COMPFLAGS=$(INCLUDES) -absname -w +a-4-9-41-42-44-45-48 -warn-error A -safe-string -strict-sequence -strict-formats -bin-annot +-LINKFLAGS=$(INCLUDES) -nostdlib ++LINKFLAGS=$(INCLUDES) -nostdlib -cclib "$(LDFLAGS)" + + CMOFILES=\ + odoc_config.cmo \ diff --git a/ocaml/patches/patch-runtime_Makefile b/ocaml/patches/patch-runtime_Makefile new file mode 100644 index 0000000000..61217031ce --- /dev/null +++ b/ocaml/patches/patch-runtime_Makefile @@ -0,0 +1,34 @@ +$NetBSD$ + +--- runtime/Makefile.orig 2019-03-01 15:13:46.000000000 +0000 ++++ runtime/Makefile +@@ -184,11 +184,11 @@ LIBS = $(BYTECCLIBS) $(EXTRALIBS) + ifdef BOOTSTRAPPING_FLEXLINK + MAKE_OCAMLRUN=$(MKEXE_BOOT) + else +-MAKE_OCAMLRUN = $(MKEXE) -o $(1) $(2) ++MAKE_OCAMLRUN = $(MKEXE) $(LDFLAGS) -o $(1) $(2) + endif + else + LIBS = $(BYTECCLIBS) +-MAKE_OCAMLRUN = $(MKEXE) -o $(1) $(2) ++MAKE_OCAMLRUN = $(MKEXE) $(LDFLAGS) -o $(1) $(2) + endif + + # Build, install and clean targets +@@ -294,13 +294,13 @@ libcamlrun.$(A): $(libcamlrun_OBJECTS) + $(call MKLIB,$@, $^) + + ocamlrund$(EXE): prims.$(O) libcamlrund.$(A) +- $(MKEXE) $(MKEXEDEBUGFLAG) -o $@ $^ $(LIBS) ++ $(MKEXE) $(LDFLAGS) $(MKEXEDEBUGFLAG) -o $@ $^ $(LIBS) + + libcamlrund.$(A): $(libcamlrund_OBJECTS) + $(call MKLIB,$@, $^) + + ocamlruni$(EXE): prims.$(O) libcamlruni.$(A) +- $(MKEXE) -o $@ $^ $(LIBS) ++ $(MKEXE) $(LDFLAGS) -o $@ $^ $(LIBS) + + libcamlruni.$(A): $(libcamlruni_OBJECTS) + $(call MKLIB,$@, $^) diff --git a/ocaml/patches/patch-tools_Makefile b/ocaml/patches/patch-tools_Makefile new file mode 100644 index 0000000000..a72d2084fc --- /dev/null +++ b/ocaml/patches/patch-tools_Makefile @@ -0,0 +1,13 @@ +$NetBSD$ + +--- tools/Makefile.orig 2019-03-01 15:13:46.000000000 +0000 ++++ tools/Makefile +@@ -81,7 +81,7 @@ INCLUDES = $(addprefix -I $(ROOTDIR)/,ut + middle_end middle_end/base_types driver toplevel) + COMPFLAGS = -absname -w +a-4-9-41-42-44-45-48 -strict-sequence -warn-error A \ + -safe-string -strict-formats -bin-annot $(INCLUDES) +-LINKFLAGS = $(INCLUDES) ++LINKFLAGS = $(INCLUDES) -cclib "$(LDFLAGS)" + VPATH := $(filter-out -I,$(INCLUDES)) + + # scrapelabels addlabels diff --git a/ocaml/patches/patch-yacc_Makefile b/ocaml/patches/patch-yacc_Makefile index 455f538388..f8dc6f5dae 100644 --- a/ocaml/patches/patch-yacc_Makefile +++ b/ocaml/patches/patch-yacc_Makefile @@ -1,13 +1,13 @@ $NetBSD$ ---- yacc/Makefile.orig 2019-02-08 14:34:11.000000000 +0000 +--- yacc/Makefile.orig 2019-03-01 15:13:46.000000000 +0000 +++ yacc/Makefile @@ -36,7 +36,7 @@ MKEXE_ANSI=$(MKEXE) endif ocamlyacc$(EXE): $(ocamlyacc_OBJECTS) - $(MKEXE_ANSI) -o $@ $^ $(EXTRALIBS) -+ $(MKEXE_ANSI) $(BYTECCLIBS) -o $@ $^ $(EXTRALIBS) ++ $(MKEXE_ANSI) $(BYTECCLIBS) $(LDFLAGS) -o $@ $^ $(EXTRALIBS) version.h : $(ROOTDIR)/VERSION echo "#define OCAML_VERSION \"`sed -e 1q $< | tr -d '\r'`\"" > $@