diff --git a/SOURCES/0001-Add-.gitignore-file-to-ignore-generated-files.patch b/SOURCES/0001-Add-.gitignore-file-to-ignore-generated-files.patch index 03eef52..a8ce317 100644 --- a/SOURCES/0001-Add-.gitignore-file-to-ignore-generated-files.patch +++ b/SOURCES/0001-Add-.gitignore-file-to-ignore-generated-files.patch @@ -1,7 +1,7 @@ From 3e74f2acd0b5a41f0faa33c770740cb74c89d257 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 7 Jun 2012 16:00:28 +0100 -Subject: [PATCH 01/14] Add .gitignore file to ignore generated files. +Subject: [PATCH 01/18] Add .gitignore file to ignore generated files. --- .gitignore | 348 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ @@ -363,5 +363,5 @@ index 0000000..20a181f +/yacc/ocamlyacc +/yacc/version.h -- -2.0.4 +2.3.1 diff --git a/SOURCES/0001-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch b/SOURCES/0001-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch deleted file mode 100644 index 715394d..0000000 --- a/SOURCES/0001-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4e06fda2060d8696649260937f8a551815de24cf Mon Sep 17 00:00:00 2001 -From: "Richard W.M. Jones" -Date: Thu, 11 Sep 2014 14:49:54 +0100 -Subject: [PATCH] ppc, ppc64, ppc64le: Mark stack as non-executable. - -The same fix as this one, which was only fully applied to -i686 & x86-64: - -http://caml.inria.fr/mantis/view.php?id=4564 ---- - asmrun/power-elf.S | 3 +++ - asmrun/power64-elf.S | 2 ++ - 2 files changed, 5 insertions(+) - -diff --git a/asmrun/power-elf.S b/asmrun/power-elf.S -index facbfbf..14d28a0 100644 ---- a/asmrun/power-elf.S -+++ b/asmrun/power-elf.S -@@ -478,3 +478,6 @@ caml_system__frametable: - .long .L105 + 4 /* return address into callback */ - .short -1 /* negative size count => use callback link */ - .short 0 /* no roots here */ -+ -+/* Mark stack as non-executable, PR#4564 */ -+ .section .note.GNU-stack,"",%progbits -diff --git a/asmrun/power64-elf.S b/asmrun/power64-elf.S -index 98c42e2..b7bfce4 100644 ---- a/asmrun/power64-elf.S -+++ b/asmrun/power64-elf.S -@@ -577,3 +577,5 @@ caml_system__frametable: - .short 0 /* no roots here */ - .align 3 - -+/* Mark stack as non-executable, PR#4564 */ -+ .section .note.GNU-stack,"",%progbits --- -2.0.4 - diff --git a/SOURCES/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch b/SOURCES/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch index aa3209b..af73c27 100644 --- a/SOURCES/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch +++ b/SOURCES/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch @@ -1,7 +1,7 @@ From a0c1f4805f85cc3ba4217ecbcae62cd567eb9dab Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 7 Jun 2012 15:36:16 +0100 -Subject: [PATCH 02/14] Ensure empty compilerlibs/ directory is created by git. +Subject: [PATCH 02/18] Ensure empty compilerlibs/ directory is created by git. This directory exists in the OCaml tarball, but is empty. As a result, git ignores it unless we put a dummy file in it. @@ -14,5 +14,5 @@ diff --git a/compilerlibs/.exists b/compilerlibs/.exists new file mode 100644 index 0000000..e69de29 -- -2.0.4 +2.3.1 diff --git a/SOURCES/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/SOURCES/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch index 4749346..0471e81 100644 --- a/SOURCES/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch +++ b/SOURCES/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch @@ -1,7 +1,7 @@ From 4a5da8081ca854cebb0d431d12fc8edcfd3de59a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:40:36 +0100 -Subject: [PATCH 03/14] ocamlbyteinfo, ocamlplugininfo: Useful utilities from +Subject: [PATCH 03/18] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Debian, sent upstream. See: @@ -236,5 +236,5 @@ index 0000000..e28800f + header.units + end -- -2.0.4 +2.3.1 diff --git a/SOURCES/0004-Don-t-add-rpaths-to-libraries.patch b/SOURCES/0004-Don-t-add-rpaths-to-libraries.patch index 884e288..52c7cf4 100644 --- a/SOURCES/0004-Don-t-add-rpaths-to-libraries.patch +++ b/SOURCES/0004-Don-t-add-rpaths-to-libraries.patch @@ -1,7 +1,7 @@ From 67f9cad7f4d3db0efcbcdf8bb97a2db3757ff14f Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 10:00:15 +0100 -Subject: [PATCH 04/14] Don't add rpaths to libraries. +Subject: [PATCH 04/18] Don't add rpaths to libraries. --- tools/Makefile.shared | 6 +++--- @@ -25,5 +25,5 @@ index cf2f216..2d466cd 100644 sed -n -e 's/^#ml //p' ../config/Makefile) \ > ocamlmklibconfig.ml -- -2.0.4 +2.3.1 diff --git a/SOURCES/0005-configure-Allow-user-defined-C-compiler-flags.patch b/SOURCES/0005-configure-Allow-user-defined-C-compiler-flags.patch index 6eeef8d..9d24e2b 100644 --- a/SOURCES/0005-configure-Allow-user-defined-C-compiler-flags.patch +++ b/SOURCES/0005-configure-Allow-user-defined-C-compiler-flags.patch @@ -1,7 +1,7 @@ From 5c7b50033ad64f20c3cce71adb9b5c93dfa62678 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 05/14] configure: Allow user defined C compiler flags. +Subject: [PATCH 05/18] configure: Allow user defined C compiler flags. --- configure | 4 ++++ @@ -23,5 +23,5 @@ index cbaa053..e8f8cfd 100755 cclibs="$cclibs $mathlib" -- -2.0.4 +2.3.1 diff --git a/SOURCES/0006-Add-support-for-ppc64.patch b/SOURCES/0006-Add-support-for-ppc64.patch index af28a09..8b67829 100644 --- a/SOURCES/0006-Add-support-for-ppc64.patch +++ b/SOURCES/0006-Add-support-for-ppc64.patch @@ -1,7 +1,7 @@ From 959c12d1dfa5a3049fc4c7aed794afa287c46594 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:47:07 +0100 -Subject: [PATCH 06/14] Add support for ppc64. +Subject: [PATCH 06/18] Add support for ppc64. Note (1): This patch was rejected upstream because they don't have appropriate hardware for testing. @@ -2126,5 +2126,5 @@ index e8f8cfd..9bb9e9e 100755 aspp="$bytecc -c";; sparc,*,solaris) as='as' -- -2.0.4 +2.3.1 diff --git a/SOURCES/0007-yacc-Use-mkstemp-instead-of-mktemp.patch b/SOURCES/0007-yacc-Use-mkstemp-instead-of-mktemp.patch index 9cf7ca4..300c55c 100644 --- a/SOURCES/0007-yacc-Use-mkstemp-instead-of-mktemp.patch +++ b/SOURCES/0007-yacc-Use-mkstemp-instead-of-mktemp.patch @@ -1,7 +1,7 @@ From 4119a66e247a74b559d4df275f223476306440a2 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 13 Sep 2013 21:29:58 +0100 -Subject: [PATCH 07/14] yacc: Use mkstemp instead of mktemp. +Subject: [PATCH 07/18] yacc: Use mkstemp instead of mktemp. --- yacc/main.c | 2 +- @@ -21,5 +21,5 @@ index f6cac60..3067000 100644 #endif -- -2.0.4 +2.3.1 diff --git a/SOURCES/0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch b/SOURCES/0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch index a874f6a..407085a 100644 --- a/SOURCES/0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch +++ b/SOURCES/0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch @@ -1,7 +1,7 @@ From 9f75e98d1cad55d1f6e0131e656acc716177e8d5 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Thu, 18 Jul 2013 16:09:20 +0000 -Subject: [PATCH 08/14] Port to the ARM 64-bits (AArch64) architecture +Subject: [PATCH 08/18] Port to the ARM 64-bits (AArch64) architecture (experimental). Merge of branch branches/arm64. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13909 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 @@ -2276,5 +2276,5 @@ index d67a643..82b699e 100644 Emit.begin_assembly(); let ic = open_in filename in -- -2.0.4 +2.3.1 diff --git a/SOURCES/0009-Updated-with-latest-versions-from-FSF.patch b/SOURCES/0009-Updated-with-latest-versions-from-FSF.patch index 0bca3a4..9c9338d 100644 --- a/SOURCES/0009-Updated-with-latest-versions-from-FSF.patch +++ b/SOURCES/0009-Updated-with-latest-versions-from-FSF.patch @@ -1,7 +1,7 @@ From 77a24f7ba8023f1119454cac877285cfaef909e0 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Thu, 18 Jul 2013 16:07:25 +0000 -Subject: [PATCH 09/14] Updated with latest versions from FSF. +Subject: [PATCH 09/18] Updated with latest versions from FSF. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13907 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 (cherry picked from commit 24bb4caeb35e49126aa3a4c0101a412db1091213) @@ -712,5 +712,5 @@ index e76eaf4..8b612ab 100755 os=-coff ;; -- -2.0.4 +2.3.1 diff --git a/SOURCES/0010-arm64-Align-code-and-data-to-8-bytes.patch b/SOURCES/0010-arm64-Align-code-and-data-to-8-bytes.patch index e26f4d3..a5f5bc2 100644 --- a/SOURCES/0010-arm64-Align-code-and-data-to-8-bytes.patch +++ b/SOURCES/0010-arm64-Align-code-and-data-to-8-bytes.patch @@ -1,7 +1,7 @@ From 30c30cdc0b2d0af7aa05048345f272de77aba6cb Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Mon, 24 Mar 2014 05:50:28 -0500 -Subject: [PATCH 10/14] arm64: Align code and data to 8 bytes. +Subject: [PATCH 10/18] arm64: Align code and data to 8 bytes. Insufficient alignment seems to be the cause of relocation errors when linking large native code OCaml programs: @@ -37,5 +37,5 @@ index fc9649c..4e7c4b0 100644 (* Beginning / end of an assembly file *) -- -2.0.4 +2.3.1 diff --git a/SOURCES/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch b/SOURCES/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch index ba765bf..f2a9dc6 100644 --- a/SOURCES/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch +++ b/SOURCES/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch @@ -1,7 +1,7 @@ From c647e7cc2df2cad5a3e811dc7b3519960eb67da4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Apr 2014 11:17:07 +0100 -Subject: [PATCH 11/14] arg: Add no_arg and get_arg helper functions. +Subject: [PATCH 11/18] arg: Add no_arg and get_arg helper functions. The no_arg function in this patch is a no-op. It will do something useful in the followups. @@ -114,5 +114,5 @@ index 8b64236..c8b3d44 100644 treat_action action with Bad m -> stop (Message m); -- -2.0.4 +2.3.1 diff --git a/SOURCES/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch b/SOURCES/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch index 3078448..053d259 100644 --- a/SOURCES/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch +++ b/SOURCES/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch @@ -1,7 +1,7 @@ From af99e796d142efa9fc9717dcff3df55a4e82e6ca Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Apr 2014 11:21:40 +0100 -Subject: [PATCH 12/14] arg: Allow flags such as --flag=arg as well as --flag +Subject: [PATCH 12/18] arg: Allow flags such as --flag=arg as well as --flag arg. Allow flags to be followed directly by their argument, separated by an '=' @@ -80,5 +80,5 @@ index 869d030..b8c6f11 100644 Examples ([cmd] is assumed to be the command name): -- -2.0.4 +2.3.1 diff --git a/SOURCES/0013-Add-support-for-ppc64le.patch b/SOURCES/0013-Add-support-for-ppc64le.patch index a593537..756f177 100644 --- a/SOURCES/0013-Add-support-for-ppc64le.patch +++ b/SOURCES/0013-Add-support-for-ppc64le.patch @@ -1,7 +1,7 @@ From dbef48d3cb6424271e5d2296d16a3284db19cb25 Mon Sep 17 00:00:00 2001 From: Michel Normand Date: Tue, 18 Mar 2014 09:15:47 -0400 -Subject: [PATCH 13/14] Add support for ppc64le. +Subject: [PATCH 13/18] Add support for ppc64le. Signed-off-by: Michel Normand --- @@ -1913,5 +1913,5 @@ index a0e1466..3bd98ad 100755 aspp="$bytecc -c";; sparc,*,solaris) as='as' -- -2.0.4 +2.3.1 diff --git a/SOURCES/0014-arm-arm64-Mark-stack-as-non-executable.patch b/SOURCES/0014-arm-arm64-Mark-stack-as-non-executable.patch index 9e11ae3..934dabb 100644 --- a/SOURCES/0014-arm-arm64-Mark-stack-as-non-executable.patch +++ b/SOURCES/0014-arm-arm64-Mark-stack-as-non-executable.patch @@ -1,7 +1,7 @@ From 262882b5fe2d327170f33a28dc35866aa32af84e Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 10 May 2014 03:20:35 -0400 -Subject: [PATCH 14/14] arm, arm64: Mark stack as non-executable. +Subject: [PATCH 14/18] arm, arm64: Mark stack as non-executable. The same fix as this one, which was only fully applied to i686 & x86-64: @@ -35,5 +35,5 @@ index de670e6..84e18ba 100644 + /* Mark stack as non-executable, PR#4564 */ + .section .note.GNU-stack,"",%progbits -- -2.0.4 +2.3.1 diff --git a/SOURCES/0015-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch b/SOURCES/0015-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch new file mode 100644 index 0000000..2311158 --- /dev/null +++ b/SOURCES/0015-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch @@ -0,0 +1,74 @@ +From ceaad702cd43142053795acb7224251c51088e24 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 11 Sep 2014 14:49:54 +0100 +Subject: [PATCH 15/18] ppc, ppc64, ppc64le: Mark stack as non-executable. + +The same fix as this one, which was only fully applied to +i686 & x86-64: + +http://caml.inria.fr/mantis/view.php?id=4564 +--- + asmcomp/power/emit.mlp | 3 ++- + asmcomp/power64/emit.mlp | 3 ++- + asmcomp/power64le/emit.mlp | 3 ++- + asmrun/power-elf.S | 3 +++ + asmrun/power64-elf.S | 2 ++ + 5 files changed, 11 insertions(+), 3 deletions(-) + +diff --git a/asmcomp/power/emit.mlp b/asmcomp/power/emit.mlp +index 283312e..8df22d3 100644 +--- a/asmcomp/power/emit.mlp ++++ b/asmcomp/power/emit.mlp +@@ -976,4 +976,5 @@ let end_assembly() = + ` .long ({emit_label lbl} - .) + {emit_int32 ofs}\n`); + efa_def_label = (fun l -> `{emit_label l}:\n`); + efa_string = (fun s -> emit_bytes_directive " .byte " (s ^ "\000")) +- } ++ }; ++ `.section .note.GNU-stack,\"\",%progbits; .previous\n` +diff --git a/asmcomp/power64/emit.mlp b/asmcomp/power64/emit.mlp +index d84ac5c..618095e 100644 +--- a/asmcomp/power64/emit.mlp ++++ b/asmcomp/power64/emit.mlp +@@ -985,4 +985,5 @@ let end_assembly() = + `{emit_symbol lbl}:\n`; + ` .quad {emit_int (List.length !frame_descriptors)}\n`; + List.iter emit_frame !frame_descriptors; +- frame_descriptors := [] ++ frame_descriptors := []; ++ `.section .note.GNU-stack,\"\",%progbits; .previous\n` +diff --git a/asmcomp/power64le/emit.mlp b/asmcomp/power64le/emit.mlp +index 5736a18..9ec7cd8 100644 +--- a/asmcomp/power64le/emit.mlp ++++ b/asmcomp/power64le/emit.mlp +@@ -978,4 +978,5 @@ let end_assembly() = + `{emit_symbol lbl}:\n`; + ` .quad {emit_int (List.length !frame_descriptors)}\n`; + List.iter emit_frame !frame_descriptors; +- frame_descriptors := [] ++ frame_descriptors := []; ++ `.section .note.GNU-stack,\"\",%progbits; .previous\n` +diff --git a/asmrun/power-elf.S b/asmrun/power-elf.S +index 94f4a29..1e8541f 100644 +--- a/asmrun/power-elf.S ++++ b/asmrun/power-elf.S +@@ -422,3 +422,6 @@ caml_system__frametable: + .long .L105 + 4 /* return address into callback */ + .short -1 /* negative size count => use callback link */ + .short 0 /* no roots here */ ++ ++/* Mark stack as non-executable, PR#4564 */ ++ .section .note.GNU-stack,"",%progbits +diff --git a/asmrun/power64-elf.S b/asmrun/power64-elf.S +index 98c42e2..b7bfce4 100644 +--- a/asmrun/power64-elf.S ++++ b/asmrun/power64-elf.S +@@ -577,3 +577,5 @@ caml_system__frametable: + .short 0 /* no roots here */ + .align 3 + ++/* Mark stack as non-executable, PR#4564 */ ++ .section .note.GNU-stack,"",%progbits +-- +2.3.1 + diff --git a/SOURCES/0016-mantis-6489-fix-by-Richard-Jones.patch b/SOURCES/0016-mantis-6489-fix-by-Richard-Jones.patch new file mode 100644 index 0000000..4d254c2 --- /dev/null +++ b/SOURCES/0016-mantis-6489-fix-by-Richard-Jones.patch @@ -0,0 +1,26 @@ +From 30333c49ca23c16465f9dfd1b8539c31c1530788 Mon Sep 17 00:00:00 2001 +From: Mark Shinwell +Date: Wed, 16 Jul 2014 06:35:17 +0000 +Subject: [PATCH 16/18] mantis 6489 (fix by Richard Jones) + +git-svn-id: http://caml.inria.fr/svn/ocaml/version/4.02@15001 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 +--- + asmrun/arm64.S | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/asmrun/arm64.S b/asmrun/arm64.S +index 84e18ba..387f5dc 100644 +--- a/asmrun/arm64.S ++++ b/asmrun/arm64.S +@@ -478,7 +478,7 @@ caml_callback2_exn: + /* Initial shuffling of arguments (x0 = closure, x1 = arg1, x2 = arg2) */ + mov TMP, x0 + mov x0, x1 /* x0 = first arg */ +- mov x1, x2 /* x1 = second arg ++ mov x1, x2 /* x1 = second arg */ + mov x2, TMP /* x2 = closure environment */ + ADDRGLOBAL(ARG, caml_apply2) + b .Ljump_to_caml +-- +2.3.1 + diff --git a/SOURCES/0017-ppc64le-Fix-calling-convention-of-external-functions.patch b/SOURCES/0017-ppc64le-Fix-calling-convention-of-external-functions.patch new file mode 100644 index 0000000..84446ef --- /dev/null +++ b/SOURCES/0017-ppc64le-Fix-calling-convention-of-external-functions.patch @@ -0,0 +1,34 @@ +From 50b945d8c5e66d963815207a1cc8158f8b60e0e2 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Thu, 28 May 2015 16:13:40 -0400 +Subject: [PATCH 17/18] ppc64le: Fix calling convention of external functions + with > 8 parameters (RHBZ#1225995). + +For external (ie. C) functions with more than 8 parameters, we must +pass the first 8 parameters in registers and then all the remaining +parameters on the stack. + +Unfortunately the original backend copied the stack offset from ppc64, +where it works, but the offset was wrong for ppc64le. + +By experimentation I found the correct offset. +--- + asmcomp/power64le/proc.ml | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/asmcomp/power64le/proc.ml b/asmcomp/power64le/proc.ml +index 9b98577..30d4cdc 100644 +--- a/asmcomp/power64le/proc.ml ++++ b/asmcomp/power64le/proc.ml +@@ -188,7 +188,7 @@ let poweropen_external_conventions first_int last_int + let loc_external_arguments = + match Config.system with + | "rhapsody" -> poweropen_external_conventions 0 7 100 112 +- | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 48 ++ | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 32 + | _ -> assert false + + let extcall_use_push = false +-- +2.3.1 + diff --git a/SOURCES/0018-ppc64-ppc64le-Fix-behaviour-of-Int64.max_int-1-RHBZ-.patch b/SOURCES/0018-ppc64-ppc64le-Fix-behaviour-of-Int64.max_int-1-RHBZ-.patch new file mode 100644 index 0000000..1686680 --- /dev/null +++ b/SOURCES/0018-ppc64-ppc64le-Fix-behaviour-of-Int64.max_int-1-RHBZ-.patch @@ -0,0 +1,47 @@ +From 0d958fae8fcb4b80784c3329bb0033388a35e396 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 29 Jun 2015 14:18:38 -0400 +Subject: [PATCH 18/18] =?UTF-8?q?ppc64/ppc64le:=20Fix=20behaviour=20of=20I?= + =?UTF-8?q?nt64.max=5Fint=20=C3=B7=20-1=20(RHBZ#1236615).?= +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +I only tested this on ppc64le, but assume the behaviour is the +same on ppc64. + +(cherry picked from commit cf026cf66315609afe8f76272e493259bade255f) +--- + asmcomp/power64/arch.ml | 2 +- + asmcomp/power64le/arch.ml | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/asmcomp/power64/arch.ml b/asmcomp/power64/arch.ml +index 73c516d..ccd11fc 100644 +--- a/asmcomp/power64/arch.ml ++++ b/asmcomp/power64/arch.ml +@@ -46,7 +46,7 @@ let allow_unaligned_access = false + + (* Behavior of division *) + +-let division_crashes_on_overflow = false ++let division_crashes_on_overflow = true + + (* Operations on addressing modes *) + +diff --git a/asmcomp/power64le/arch.ml b/asmcomp/power64le/arch.ml +index 586534b..2155e79 100644 +--- a/asmcomp/power64le/arch.ml ++++ b/asmcomp/power64le/arch.ml +@@ -46,7 +46,7 @@ let allow_unaligned_access = false + + (* Behavior of division *) + +-let division_crashes_on_overflow = false ++let division_crashes_on_overflow = true + + (* Operations on addressing modes *) + +-- +2.3.1 + diff --git a/SPECS/ocaml.spec b/SPECS/ocaml.spec index 3c490db..1c9d386 100644 --- a/SPECS/ocaml.spec +++ b/SPECS/ocaml.spec @@ -23,7 +23,7 @@ Name: ocaml Version: 4.01.0 -Release: 22.2%{?dist} +Release: 22.6%{?dist} Summary: OCaml compiler and programming environment @@ -54,6 +54,8 @@ Source4: macros.ocaml-srpm # # https://git.fedorahosted.org/cgit/fedora-ocaml.git/ # +# Current branch: rhel-7-4.01.0 +# # ALTERNATIVELY add a patch to the end of the list (leaving the # existing patches unchanged) adding a comment to note that it should # be incorporated into the git repo at a later time. @@ -82,7 +84,17 @@ Patch0013: 0013-Add-support-for-ppc64le.patch Patch0014: 0014-arm-arm64-Mark-stack-as-non-executable.patch # ppc, ppc64, ppc64le non-executable stack. -Patch0015: 0001-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch +Patch0015: 0015-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch + +# aarch64: caml_callback2 crashes (upstream PR#6489, RHBZ#1193037). +Patch0016: 0016-mantis-6489-fix-by-Richard-Jones.patch + +# ppc64le: Fix calling convention of external functions with > 8 params +# (RHBZ#1225995). +Patch0017: 0017-ppc64le-Fix-calling-convention-of-external-functions.patch + +# ppc64le: Fix behaviour of Int64.max_int ÷ -1 (RHBZ#1236615). +Patch0018: 0018-ppc64-ppc64le-Fix-behaviour-of-Int64.max_int-1-RHBZ-.patch # Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735). BuildRequires: binutils-devel @@ -574,6 +586,20 @@ fi %changelog +* Tue Jul 07 2015 Richard W.M. Jones - 4.01.0-22.6 +- ppc64le: Fix behaviour of Int64.max_int ÷ -1 + resolves: rhbz#1236615 + +* Thu May 28 2015 Richard W.M. Jones - 4.01.0-22.5 +- ppc64le: Fix calling convention of external functions with > 8 params + resolves: rhbz#1225995 + +* Mon Feb 16 2015 Richard W.M. Jones - 4.01.0-22.4 +- Fix ppc, ppc64, ppc64le stack non-executable (1214777). + +* Mon Feb 16 2015 Richard W.M. Jones - 4.01.0-22.3 +- Fix caml_callback2 crashes (upstream PR#6489, RHBZ#1197240). + * Thu Sep 11 2014 Richard W.M. Jones - 4.01.0-22.2 - Use -fno-strict-aliasing when building the compiler - ppc, ppc64, ppc64le: Mark stack as non-executable.