diff options
-rw-r--r-- | testing/ocaml/010_all_execstacks.patch | 94 | ||||
-rw-r--r-- | testing/ocaml/020_all_configure.patch | 27 | ||||
-rw-r--r-- | testing/ocaml/050_all_objinfoldflags.patch | 10 | ||||
-rw-r--r-- | testing/ocaml/APKBUILD | 26 |
4 files changed, 41 insertions, 116 deletions
diff --git a/testing/ocaml/010_all_execstacks.patch b/testing/ocaml/010_all_execstacks.patch index fa47d0c309..30cf23ec61 100644 --- a/testing/ocaml/010_all_execstacks.patch +++ b/testing/ocaml/010_all_execstacks.patch @@ -1,10 +1,10 @@ Fix the EXEC_STACK in ocaml compiled binaries (#153382) -Index: ocaml-4.02.2/asmrun/sparc.S +Index: ocaml-4.03.0+beta1/asmrun/sparc.S =================================================================== ---- ocaml-4.02.2.orig/asmrun/sparc.S -+++ ocaml-4.02.2/asmrun/sparc.S -@@ -356,3 +356,8 @@ caml_system__frametable: +--- ocaml-4.03.0+beta1.orig/asmrun/sparc.S ++++ ocaml-4.03.0+beta1/asmrun/sparc.S +@@ -358,3 +358,8 @@ caml_system__frametable: .type caml_raise_exception, #function .type caml_system__frametable, #object #endif @@ -13,62 +13,11 @@ Index: ocaml-4.02.2/asmrun/sparc.S +.section .note.GNU-stack,"",%progbits +#endif + -Index: ocaml-4.02.2/asmcomp/arm/emit.mlp +Index: ocaml-4.03.0+beta1/asmcomp/sparc/emit.mlp =================================================================== ---- ocaml-4.02.2.orig/asmcomp/arm/emit.mlp -+++ ocaml-4.02.2/asmcomp/arm/emit.mlp -@@ -888,6 +888,13 @@ let data l = - ` .data\n`; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "linux" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -920,6 +927,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly () = -+ nx_stack(); - let lbl_end = Compilenv.make_symbol (Some "code_end") in - ` .text\n`; - ` .globl {emit_symbol lbl_end}\n`; -Index: ocaml-4.02.2/asmcomp/power/emit.mlp -=================================================================== ---- ocaml-4.02.2.orig/asmcomp/power/emit.mlp -+++ ocaml-4.02.2/asmcomp/power/emit.mlp -@@ -882,6 +882,12 @@ let data l = - emit_string data_space; - List.iter emit_item l - -+(* Mark stack as non executable *) -+let nx_stack() = -+ if Config.system = "elf" then -+ ` .section .note.GNU-stack,\"\",%progbits\n` -+ -+ - (* Beginning / end of an assembly file *) - - let begin_assembly() = -@@ -898,6 +904,7 @@ let begin_assembly() = - `{emit_symbol lbl_begin}:\n` - - let end_assembly() = -+ nx_stack(); - if pic_externals then - (* Emit the pointers to external functions *) - StringSet.iter emit_external !external_functions; -Index: ocaml-4.02.2/asmcomp/sparc/emit.mlp -=================================================================== ---- ocaml-4.02.2.orig/asmcomp/sparc/emit.mlp -+++ ocaml-4.02.2/asmcomp/sparc/emit.mlp -@@ -724,6 +724,12 @@ let data l = +--- ocaml-4.03.0+beta1.orig/asmcomp/sparc/emit.mlp ++++ ocaml-4.03.0+beta1/asmcomp/sparc/emit.mlp +@@ -737,6 +737,12 @@ let data l = ` .data\n`; List.iter emit_item l @@ -81,7 +30,7 @@ Index: ocaml-4.02.2/asmcomp/sparc/emit.mlp (* Beginning / end of an assembly file *) let begin_assembly() = -@@ -737,6 +743,7 @@ let begin_assembly() = +@@ -750,6 +756,7 @@ let begin_assembly() = `{emit_symbol lbl_begin}:\n` let end_assembly() = @@ -89,28 +38,3 @@ Index: ocaml-4.02.2/asmcomp/sparc/emit.mlp ` .text\n`; let lbl_end = Compilenv.make_symbol (Some "code_end") in ` .global {emit_symbol lbl_end}\n`; -Index: ocaml-4.02.2/asmrun/power-elf.S -=================================================================== ---- ocaml-4.02.2.orig/asmrun/power-elf.S -+++ ocaml-4.02.2/asmrun/power-elf.S -@@ -478,3 +478,8 @@ caml_system__frametable: - .long .L105 + 4 /* return address into callback */ - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif -+ -Index: ocaml-4.02.2/asmrun/arm.S -=================================================================== ---- ocaml-4.02.2.orig/asmrun/arm.S -+++ ocaml-4.02.2/asmrun/arm.S -@@ -498,3 +498,7 @@ caml_system__frametable: - .align 2 - .type caml_system__frametable, %object - .size caml_system__frametable, .-caml_system__frametable -+ -+#ifdef __ELF__ -+.section .note.GNU-stack,"",%progbits -+#endif diff --git a/testing/ocaml/020_all_configure.patch b/testing/ocaml/020_all_configure.patch index 5c4dbf064e..4505a987ec 100644 --- a/testing/ocaml/020_all_configure.patch +++ b/testing/ocaml/020_all_configure.patch @@ -2,11 +2,11 @@ The configure script doesn't inherit previous defined variables, overwriting previous declarations of bytecccompopts, bytecclinkopts, nativecccompopts and nativecclinkopts. Reported upstream as issue 0004267. -Index: ocaml-4.02.2/configure +Index: ocaml-4.03.0+beta1/configure =================================================================== ---- ocaml-4.02.2.orig/configure -+++ ocaml-4.02.2/configure -@@ -314,7 +314,7 @@ esac +--- ocaml-4.03.0+beta1.orig/configure ++++ ocaml-4.03.0+beta1/configure +@@ -290,7 +290,7 @@ esac # Configure the bytecode compiler bytecc="$cc" @@ -15,9 +15,9 @@ Index: ocaml-4.02.2/configure mkexedebugflag="-g" bytecccompopts="" bytecclinkopts="" -@@ -1694,7 +1694,15 @@ sharedcccompopts="-O $sharedcccompopts" - - # Final twiddling of compiler options to work around known bugs +@@ -1671,6 +1671,16 @@ fi + echo "X11_INCLUDES=$x11_include" >> Makefile + echo "X11_LINK=$x11_link" >> Makefile +bytecccompopts="$CFLAGS $bytecccompopts" +bytecclinkopts="$LDFLAGS $bytecclinkopts" @@ -25,13 +25,14 @@ Index: ocaml-4.02.2/configure +nativeccrawlinkopts="$RAW_LDFLAGS $nativecclinkopts" +nativecclinkopts="$LDFLAGS $nativecclinkopts" +nativecccompopts="$CFLAGS $nativecccompopts" - nativeccprofopts="$nativecccompopts" ++nativeccprofopts="$nativecccompopts" +mksharedlib="$mksharedlib $LDFLAGS" +mkmaindll="$mkmaindll $LDFLAGS" - case "$buggycc" in - gcc.2.96) - bytecccompopts="$bytecccompopts -fomit-frame-pointer" -@@ -1730,6 +1738,7 @@ echo "NATIVECC=$nativecc" >> Makefile ++ + # Look for BFD library + + if sh ./hasgot -DPACKAGE=ocaml -i bfd.h && \ +@@ -1769,6 +1779,7 @@ echo "NATIVECC=$nativecc" >> Makefile echo "NATIVECCCOMPOPTS=$nativecccompopts" >> Makefile echo "NATIVECCPROFOPTS=$nativeccprofopts" >> Makefile echo "NATIVECCLINKOPTS=$nativecclinkopts" >> Makefile @@ -39,7 +40,7 @@ Index: ocaml-4.02.2/configure echo "NATIVECCRPATH=$nativeccrpath" >> Makefile echo "NATIVECCLIBS=$cclibs $dllib" >> Makefile echo "ASM=$as" >> Makefile -@@ -1741,7 +1750,7 @@ echo "OTHERLIBRARIES=$otherlibraries" >> +@@ -1780,7 +1791,7 @@ echo "OTHERLIBRARIES=$otherlibraries" >> echo "CC_PROFILE=$cc_profile" >> Makefile echo "SYSTHREAD_SUPPORT=$systhread_support" >> Makefile echo "PARTIALLD=$partialld" >> Makefile diff --git a/testing/ocaml/050_all_objinfoldflags.patch b/testing/ocaml/050_all_objinfoldflags.patch index 02f95e2876..e7b2fc170f 100644 --- a/testing/ocaml/050_all_objinfoldflags.patch +++ b/testing/ocaml/050_all_objinfoldflags.patch @@ -1,13 +1,13 @@ -Index: ocaml-4.02.2/tools/Makefile.shared +Index: ocaml-4.03.0+beta1/tools/Makefile.shared =================================================================== ---- ocaml-4.02.2.orig/tools/Makefile.shared -+++ ocaml-4.02.2/tools/Makefile.shared -@@ -286,7 +286,7 @@ CCOUT = -o $(EMPTY) +--- ocaml-4.03.0+beta1.orig/tools/Makefile.shared ++++ ocaml-4.03.0+beta1/tools/Makefile.shared +@@ -273,7 +273,7 @@ CCOUT = -o $(EMPTY) endif objinfo_helper$(EXE): objinfo_helper.c ../config/s.h - $(BYTECC) $(CCOUT)objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ + $(MKEXE) $(CCOUT)objinfo_helper$(EXE) $(BYTECCCOMPOPTS) \ - objinfo_helper.c $(LIBBFD_LINK) + $(DEF_SYMBOL_PREFIX) $(LIBBFD_INCLUDE) objinfo_helper.c $(LIBBFD_LINK) OBJINFO=../compilerlibs/ocamlcommon.cma \ diff --git a/testing/ocaml/APKBUILD b/testing/ocaml/APKBUILD index e9027fcb0d..3764148121 100644 --- a/testing/ocaml/APKBUILD +++ b/testing/ocaml/APKBUILD @@ -1,7 +1,7 @@ # Contributor: Borys Zhukov <mp5@mp5.im> # Maintainer: Borys Zhukov <mp5@mp5.im> pkgname=ocaml -pkgver=4.02.3 +pkgver=4.03.0 pkgrel=0 pkgdesc="Main implementation of the Caml programming language" url="http://caml.inria.fr" @@ -61,15 +61,15 @@ package() { find "$pkgdir"/usr/lib/ocaml -name \*.ml -delete } -md5sums="ef1a324608c97031cbd92a442d685ab7 ocaml-4.02.3.tar.gz -fd073bf6c3a451a031b4900a86c0db48 010_all_execstacks.patch -3838542279e0367271bf4dfd3dbb73c7 020_all_configure.patch -2dbce3de02afd4041311c3eb0076fa1e 050_all_objinfoldflags.patch" -sha256sums="928fb5f64f4e141980ba567ff57b62d8dc7b951b58be9590ffb1be2172887a72 ocaml-4.02.3.tar.gz -63e22fa143c3503951e5f3919028969b1713e2818a1158e5b0a340c4cf27bef8 010_all_execstacks.patch -5344d1cf1a90fd5c12467da35688dde283cf2f0b19eefd7a04a6d570841a3fb8 020_all_configure.patch -817fac532237d986277476c6890a498e5095f584c1959b286d188b51b0de1dbc 050_all_objinfoldflags.patch" -sha512sums="be69e00abc2503582d7a07440a59db6bc992cce8ed2812bf02de07578760ead2858544013bb1a7a28a3c812b79c2f545cdaef11653b04a39c04a898510c36187 ocaml-4.02.3.tar.gz -9c3ed77d84c4d1766f4d5568ca6c33aff08bd9d118b5a8c7af84b1263e39d3bba1e74221aad7290a10bc79a2c8ee86a7fa57d02eacabc9d36c14c7dacdda42cb 010_all_execstacks.patch -a4fb27979a75d951ee5c065e628028f03527618855fac4af3321cd2466953e0d1d40dec01816c012596ae656fb5bee51a2112b5038122a98e60d190f13e474b1 020_all_configure.patch -7d3f60153ab7df98879c6acff04e90977633449e16d176a48f492a6995a0a201e0f14255e6c45788edb6174832316e1ab893622a0b24d8dd1864ab8a0109e6ba 050_all_objinfoldflags.patch" +md5sums="43812739ea1b4641cf480f57f977c149 ocaml-4.03.0.tar.gz +08f8697f0c9aca620fb946418cd7272e 010_all_execstacks.patch +6e11ac70d23a21d9b38ac6b30cecc243 020_all_configure.patch +6d63f3e63a4bd533fd1884e78a6de2ba 050_all_objinfoldflags.patch" +sha256sums="7fdf280cc6c0a2de4fc9891d0bf4633ea417046ece619f011fd44540fcfc8da2 ocaml-4.03.0.tar.gz +a32653d95498bdbdec4595d2d93270d6719b5512d7f0c2787fc216699aa5bc23 010_all_execstacks.patch +747c8a48b5988776d1b0e9cbbf77b9dac63315d17854e9202b150362c16054e7 020_all_configure.patch +59c2bf7465bfc44ca5b984ba84a25341b2b7b7aae2c5019c1e3d3f26aeb22766 050_all_objinfoldflags.patch" +sha512sums="91d5c0b2fcc52fc05be64bf54d3c7be8d77ee754e847907909d4e123c1d00c9f62523770d56bb81f80200f75ec53ab874e031ce46f7b437febbd3a8e6800e2ca ocaml-4.03.0.tar.gz +71ac807fb1173863b9dcf8e5fb4e651e0155d6cd0e4b327f5457b83fc09e1b5fbe34150c5d8ccd24f0faff1a8419f5ed8310aa60af1f38c2766ccc37dc6c3835 010_all_execstacks.patch +286758402517a1345556d374b0c3fc49eb93f1ec2bb9ccd2ffe1cc043f59d93b154f68eb9ff410020a15d3d8f148b27f249b7f97954b0e8a080cdd32d6014b4a 020_all_configure.patch +61d9cae6c8be7c16ed4aa6fafc533e2879caadbbe0e023775c1d735c0e54e66e94b9ffab8dc0b0b12c19ccf5c389e05f62af822014d202ae54c52943a0639753 050_all_objinfoldflags.patch" |