rjones pushed to ocaml (master). "ppc, ppc64, ppc64le: Properly mark stack as non-executable. (..more)"
notifications at fedoraproject.org
notifications at fedoraproject.org
Thu Apr 23 13:46:49 UTC 2015
>From 4c52516d71e835501898553feb64f1abacef943d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones at redhat.com>
Date: Thu, 23 Apr 2015 14:41:34 +0100
Subject: ppc, ppc64, ppc64le: Properly mark stack as non-executable.
The upstream fix was not applied completely.
diff --git a/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
index fc24a1d..34ee8c9 100644
--- a/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
+++ b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
@@ -20,5 +20,5 @@ index 6c66ecc..5d4b626 100644
/ocamlc.opt
/expunge
--
-2.1.0
+2.3.1
diff --git a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
index 49f1eac..2eb6fc4 100644
--- a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
+++ b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
@@ -14,5 +14,5 @@ diff --git a/compilerlibs/.exists b/compilerlibs/.exists
new file mode 100644
index 0000000..e69de29
--
-2.1.0
+2.3.1
diff --git a/0003-Don-t-add-rpaths-to-libraries.patch b/0003-Don-t-add-rpaths-to-libraries.patch
index 98f7bfd..2f3aff0 100644
--- a/0003-Don-t-add-rpaths-to-libraries.patch
+++ b/0003-Don-t-add-rpaths-to-libraries.patch
@@ -25,5 +25,5 @@ index 2517434..75a75b4 100644
sed -n -e 's/^#ml //p' ../config/Makefile) \
> ocamlmklibconfig.ml
--
-2.1.0
+2.3.1
diff --git a/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
index 5bd3701..55b401c 100644
--- a/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
+++ b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
@@ -236,5 +236,5 @@ index 0000000..e28800f
+ header.units
+ end
--
-2.1.0
+2.3.1
diff --git a/0005-configure-Allow-user-defined-C-compiler-flags.patch b/0005-configure-Allow-user-defined-C-compiler-flags.patch
index 2fa0cf5..6d4f4de 100644
--- a/0005-configure-Allow-user-defined-C-compiler-flags.patch
+++ b/0005-configure-Allow-user-defined-C-compiler-flags.patch
@@ -23,5 +23,5 @@ index 3edb9fd..18b95cd 100755
cclibs="$cclibs $mathlib"
--
-2.1.0
+2.3.1
diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch
index 656d4e7..b1120fb 100644
--- a/0006-Add-support-for-ppc64.patch
+++ b/0006-Add-support-for-ppc64.patch
@@ -2126,5 +2126,5 @@ index 18b95cd..57c8699 100755
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
-2.1.0
+2.3.1
diff --git a/0007-ppc64-Update-for-OCaml-4.02.0.patch b/0007-ppc64-Update-for-OCaml-4.02.0.patch
index 9908c74..3fc6a66 100644
--- a/0007-ppc64-Update-for-OCaml-4.02.0.patch
+++ b/0007-ppc64-Update-for-OCaml-4.02.0.patch
@@ -201,5 +201,5 @@ index b7bba9b..b582b6a 100644
| Iintop(Imod) -> 40 (* assuming full stall *)
| Iintop(Icomp _) -> 4
--
-2.1.0
+2.3.1
diff --git a/0008-Add-support-for-ppc64le.patch b/0008-Add-support-for-ppc64le.patch
index ac4e636..e3bc207 100644
--- a/0008-Add-support-for-ppc64le.patch
+++ b/0008-Add-support-for-ppc64le.patch
@@ -1913,5 +1913,5 @@ index 57c8699..c04272c 100755
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
-2.1.0
+2.3.1
diff --git a/0009-ppc64le-Update-for-OCaml-4.02.0.patch b/0009-ppc64le-Update-for-OCaml-4.02.0.patch
index 083bfdd..c27fff2 100644
--- a/0009-ppc64le-Update-for-OCaml-4.02.0.patch
+++ b/0009-ppc64le-Update-for-OCaml-4.02.0.patch
@@ -200,5 +200,5 @@ index b7bba9b..b582b6a 100644
| Iintop(Imod) -> 40 (* assuming full stall *)
| Iintop(Icomp _) -> 4
--
-2.1.0
+2.3.1
diff --git a/0010-arm-arm64-Mark-stack-as-non-executable.patch b/0010-arm-arm64-Mark-stack-as-non-executable.patch
index 572ffac..b244c4f 100644
--- a/0010-arm-arm64-Mark-stack-as-non-executable.patch
+++ b/0010-arm-arm64-Mark-stack-as-non-executable.patch
@@ -35,5 +35,5 @@ index 9b4b9ab..c23168b 100644
+ /* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits
--
-2.1.0
+2.3.1
diff --git a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch b/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
index f21c0d2..992e143 100644
--- a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
+++ b/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
@@ -114,5 +114,5 @@ index d7b8ac0..a8f3964 100644
treat_action action
with Bad m -> stop (Message m);
--
-2.1.0
+2.3.1
diff --git a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch b/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
index f319666..2fd8acc 100644
--- a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
+++ b/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
@@ -80,5 +80,5 @@ index 0999edf..71af638 100644
Examples ([cmd] is assumed to be the command name):
--
-2.1.0
+2.3.1
diff --git a/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch b/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch
index 7d5f445..add1524 100644
--- a/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch
+++ b/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch
@@ -1959,5 +1959,5 @@ index cb3d995..93cdfeb 100644
lseek(fd, (long) -TRAILER_SIZE, SEEK_END);
--
-2.1.0
+2.3.1
diff --git a/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch b/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch
index e420f1b..9afde99 100644
--- a/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch
+++ b/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch
@@ -1,4 +1,4 @@
-From 074d0a2b85a7d4f505846ac629b28a3a8894ebbc Mon Sep 17 00:00:00 2001
+From 8e493f90181b8b592185b2f9322575113b5ff7d5 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones at redhat.com>
Date: Thu, 11 Sep 2014 14:49:54 +0100
Subject: [PATCH 14/15] ppc, ppc64, ppc64le: Mark stack as non-executable.
@@ -8,10 +8,46 @@ 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(+)
+ 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 0a26ed1..8e31b58 100644
+--- a/asmcomp/power/emit.mlp
++++ b/asmcomp/power/emit.mlp
+@@ -963,4 +963,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 9fd59b2..4e0317a 100644
+--- a/asmcomp/power64/emit.mlp
++++ b/asmcomp/power64/emit.mlp
+@@ -990,4 +990,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 3f34102..60df72c 100644
+--- a/asmcomp/power64le/emit.mlp
++++ b/asmcomp/power64le/emit.mlp
+@@ -983,4 +983,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 facbfbf..14d28a0 100644
--- a/asmrun/power-elf.S
@@ -34,5 +70,5 @@ index 98c42e2..b7bfce4 100644
+/* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits
--
-2.1.0
+2.3.1
diff --git a/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch b/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch
index 3f72e62..fc6db17 100644
--- a/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch
+++ b/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch
@@ -1,4 +1,4 @@
-From 632c63206ec47f67af0027b5c0d173784e510c08 Mon Sep 17 00:00:00 2001
+From df5201a35d02a13ad7ffd6fb38252851910cae43 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones at redhat.com>
Date: Fri, 24 Oct 2014 10:10:54 +0100
Subject: [PATCH 15/15] ppc64/ppc64le: proc: Interim definitions for op_is_pure
@@ -80,5 +80,5 @@ index 476c984..56473ac 100644
let num_stack_slots = [| 0; 0 |]
--
-2.1.0
+2.3.1
diff --git a/ocaml.spec b/ocaml.spec
index 11aa713..0712f6b 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -17,7 +17,7 @@
Name: ocaml
Version: 4.02.1
-Release: 2%{?dist}
+Release: 3%{?dist}
Summary: OCaml compiler and programming environment
@@ -421,6 +421,10 @@ fi
%changelog
+* Thu Apr 23 2015 Richard W.M. Jones <rjones at redhat.com> - 4.02.1-3
+- ppc, ppc64, ppc64le: Properly mark stack as non-executable.
+ The upstream fix was not applied completely.
+
* Thu Feb 26 2015 Richard W.M. Jones <rjones at redhat.com> - 4.02.1-2
- Kill dependency on rpm-build. Added in 2009, apparently by accident.
(Thanks: Jon Ludlam)
--
cgit v0.10.2
http://pkgs.fedoraproject.org/cgit/ocaml.git/commit/?h=master&id=4c52516d71e835501898553feb64f1abacef943d
More information about the scm-commits
mailing list