Rebase on top of 4.02.0 beta commit c4f3a6c7.
- Remove the patch to disable CSE, since that problem is fixed upstream. - Remove the patch fixing caml_callback2 on aarch64 since that patch is now upstream.
This commit is contained in:
parent
fd2e30ff27
commit
5815ad5d25
@ -1,38 +0,0 @@
|
|||||||
From 99cb8f909ad25bcfa674216f5140b6cf1e72aeca Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Tue, 15 Jul 2014 11:52:26 +0000
|
|
||||||
Subject: [PATCH] Disable CSE.
|
|
||||||
|
|
||||||
This disables the common subexpression elimination (CSE) optimization.
|
|
||||||
|
|
||||||
This is broken on aarch64:
|
|
||||||
http://caml.inria.fr/mantis/view.php?id=6486
|
|
||||||
---
|
|
||||||
asmcomp/CSEgen.ml | 4 +++-
|
|
||||||
1 file changed, 3 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/asmcomp/CSEgen.ml b/asmcomp/CSEgen.ml
|
|
||||||
index 19019e1..260e4fa 100644
|
|
||||||
--- a/asmcomp/CSEgen.ml
|
|
||||||
+++ b/asmcomp/CSEgen.ml
|
|
||||||
@@ -180,7 +180,8 @@ method private keep_checkbounds n =
|
|
||||||
(* Perform CSE on the given instruction [i] and its successors.
|
|
||||||
[n] is the value numbering current at the beginning of [i]. *)
|
|
||||||
|
|
||||||
-method private cse n i =
|
|
||||||
+method private cse n i = i
|
|
||||||
+(*
|
|
||||||
match i.desc with
|
|
||||||
| Iend | Ireturn | Iop(Itailcall_ind) | Iop(Itailcall_imm _)
|
|
||||||
| Iexit _ | Iraise _ ->
|
|
||||||
@@ -262,6 +263,7 @@ method private cse n i =
|
|
||||||
{i with desc = Itrywith(self#cse n body,
|
|
||||||
self#cse empty_numbering handler);
|
|
||||||
next = self#cse empty_numbering i.next}
|
|
||||||
+*)
|
|
||||||
|
|
||||||
method fundecl f =
|
|
||||||
{f with fun_body = self#cse empty_numbering f.fun_body}
|
|
||||||
--
|
|
||||||
2.0.1
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
|||||||
From 73598ab5b5b9c859e900413a31ca6452c324ff3d Mon Sep 17 00:00:00 2001
|
From 7cc05d407f206f4f506cd9720e4ec62024d88e99 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 24 Jun 2014 22:29:38 +0100
|
Date: Tue, 24 Jun 2014 22:29:38 +0100
|
||||||
Subject: [PATCH 01/11] Don't ignore ./configure, it's a real git file.
|
Subject: [PATCH 01/10] Don't ignore ./configure, it's a real git file.
|
||||||
|
|
||||||
---
|
---
|
||||||
.gitignore | 1 -
|
.gitignore | 1 -
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 8566059ac5eb68ac8006ba8d825644411d4c4cd1 Mon Sep 17 00:00:00 2001
|
From 6e7303dbfe3edefdb8449fc39e7ee63958fbd60a Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Thu, 7 Jun 2012 15:36:16 +0100
|
Date: Thu, 7 Jun 2012 15:36:16 +0100
|
||||||
Subject: [PATCH 02/11] Ensure empty compilerlibs/ directory is created by git.
|
Subject: [PATCH 02/10] Ensure empty compilerlibs/ directory is created by git.
|
||||||
|
|
||||||
This directory exists in the OCaml tarball, but is empty. As a
|
This directory exists in the OCaml tarball, but is empty. As a
|
||||||
result, git ignores it unless we put a dummy file in it.
|
result, git ignores it unless we put a dummy file in it.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 8d1cb3e2a169a642a0c75e965bc6fc17184124c8 Mon Sep 17 00:00:00 2001
|
From 8dd577b4959375c1011e4dcf835ee74caef45420 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 24 Jun 2014 10:00:15 +0100
|
Date: Tue, 24 Jun 2014 10:00:15 +0100
|
||||||
Subject: [PATCH 03/11] Don't add rpaths to libraries.
|
Subject: [PATCH 03/10] Don't add rpaths to libraries.
|
||||||
|
|
||||||
---
|
---
|
||||||
tools/Makefile.shared | 6 +++---
|
tools/Makefile.shared | 6 +++---
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 0112a99407da09f066c9cbaa41fe770370ba6706 Mon Sep 17 00:00:00 2001
|
From fd8991ecdd206adc765a8da4953da6599ccacf3b Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 29 May 2012 20:40:36 +0100
|
Date: Tue, 29 May 2012 20:40:36 +0100
|
||||||
Subject: [PATCH 04/11] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
|
Subject: [PATCH 04/10] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
|
||||||
Debian, sent upstream.
|
Debian, sent upstream.
|
||||||
|
|
||||||
See:
|
See:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 96ec5173787ce5e03dca7da6527c4cc732772051 Mon Sep 17 00:00:00 2001
|
From d4d6771059115cbb43bba5ab44eba8f30df6012e Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 29 May 2012 20:44:18 +0100
|
Date: Tue, 29 May 2012 20:44:18 +0100
|
||||||
Subject: [PATCH 05/11] configure: Allow user defined C compiler flags.
|
Subject: [PATCH 05/10] configure: Allow user defined C compiler flags.
|
||||||
|
|
||||||
---
|
---
|
||||||
configure | 4 ++++
|
configure | 4 ++++
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 443863864a99a0408c6068ba0b5ba6beddec337a Mon Sep 17 00:00:00 2001
|
From 23059f5c594bbae825cfa6a0e511363a13ec5104 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 29 May 2012 20:47:07 +0100
|
Date: Tue, 29 May 2012 20:47:07 +0100
|
||||||
Subject: [PATCH 06/11] Add support for ppc64.
|
Subject: [PATCH 06/10] Add support for ppc64.
|
||||||
|
|
||||||
Note (1): This patch was rejected upstream because they don't have
|
Note (1): This patch was rejected upstream because they don't have
|
||||||
appropriate hardware for testing.
|
appropriate hardware for testing.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 69837e1be517082e841d583f59f017edfd7ffa39 Mon Sep 17 00:00:00 2001
|
From 1b87259914c2ed9ee0dc7e8c3dacbe1b7a257504 Mon Sep 17 00:00:00 2001
|
||||||
From: Michel Normand <normand@linux.vnet.ibm.com>
|
From: Michel Normand <normand@linux.vnet.ibm.com>
|
||||||
Date: Tue, 18 Mar 2014 09:15:47 -0400
|
Date: Tue, 18 Mar 2014 09:15:47 -0400
|
||||||
Subject: [PATCH 07/11] Add support for ppc64le.
|
Subject: [PATCH 07/10] Add support for ppc64le.
|
||||||
|
|
||||||
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
|
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
|
||||||
---
|
---
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 8db6171b43cf7d18340a68a2f636f9b2570236ac Mon Sep 17 00:00:00 2001
|
From 0e1c8ad58e3841d9610a4c4aa19c38c5dbd02040 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Sat, 10 May 2014 03:20:35 -0400
|
Date: Sat, 10 May 2014 03:20:35 -0400
|
||||||
Subject: [PATCH 08/11] arm, arm64: Mark stack as non-executable.
|
Subject: [PATCH 08/10] arm, arm64: Mark stack as non-executable.
|
||||||
|
|
||||||
The same fix as this one, which was only fully applied to
|
The same fix as this one, which was only fully applied to
|
||||||
i686 & x86-64:
|
i686 & x86-64:
|
||||||
@ -24,7 +24,7 @@ index 2ce244a..90f5b6e 100644
|
|||||||
+ /* Mark stack as non-executable, PR#4564 */
|
+ /* Mark stack as non-executable, PR#4564 */
|
||||||
+ .section .note.GNU-stack,"",%progbits
|
+ .section .note.GNU-stack,"",%progbits
|
||||||
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
|
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
|
||||||
index 2c16a0e..a7d4953 100644
|
index fa871df..50abdae 100644
|
||||||
--- a/asmrun/arm64.S
|
--- a/asmrun/arm64.S
|
||||||
+++ b/asmrun/arm64.S
|
+++ b/asmrun/arm64.S
|
||||||
@@ -533,3 +533,6 @@ caml_system__frametable:
|
@@ -533,3 +533,6 @@ caml_system__frametable:
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 01298aadfd0bf571b9ce745a7a198015b2a20da9 Mon Sep 17 00:00:00 2001
|
From 9466d5ed5d621cb6ffd61ea952321159f6c2b716 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 1 Apr 2014 11:17:07 +0100
|
Date: Tue, 1 Apr 2014 11:17:07 +0100
|
||||||
Subject: [PATCH 09/11] arg: Add no_arg and get_arg helper functions.
|
Subject: [PATCH 09/10] arg: Add no_arg and get_arg helper functions.
|
||||||
|
|
||||||
The no_arg function in this patch is a no-op. It will do something
|
The no_arg function in this patch is a no-op. It will do something
|
||||||
useful in the followups.
|
useful in the followups.
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
From 5af2eab80b969d88ecd5bdbe55f33e20753f9ceb Mon Sep 17 00:00:00 2001
|
From f3b3583ce96430228aa9d2286da0bd0f2b82eca9 Mon Sep 17 00:00:00 2001
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
From: "Richard W.M. Jones" <rjones@redhat.com>
|
||||||
Date: Tue, 1 Apr 2014 11:21:40 +0100
|
Date: Tue, 1 Apr 2014 11:21:40 +0100
|
||||||
Subject: [PATCH 10/11] arg: Allow flags such as --flag=arg as well as --flag
|
Subject: [PATCH 10/10] arg: Allow flags such as --flag=arg as well as --flag
|
||||||
arg.
|
arg.
|
||||||
|
|
||||||
Allow flags to be followed directly by their argument, separated by an '='
|
Allow flags to be followed directly by their argument, separated by an '='
|
||||||
|
@ -1,27 +0,0 @@
|
|||||||
From 20a89e9d501a4f90fb6c1bed59fd41bfec349beb Mon Sep 17 00:00:00 2001
|
|
||||||
From: "Richard W.M. Jones" <rjones@redhat.com>
|
|
||||||
Date: Tue, 15 Jul 2014 21:30:15 +0000
|
|
||||||
Subject: [PATCH 11/11] arm64: Fix missing close-quote which caused
|
|
||||||
caml_callback2 to fail.
|
|
||||||
|
|
||||||
http://caml.inria.fr/mantis/view.php?id=6489
|
|
||||||
---
|
|
||||||
asmrun/arm64.S | 2 +-
|
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
|
|
||||||
index a7d4953..50abdae 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
|
|
||||||
--
|
|
||||||
1.9.0
|
|
||||||
|
|
35
ocaml.spec
35
ocaml.spec
@ -15,12 +15,12 @@
|
|||||||
%global natdynlink 0
|
%global natdynlink 0
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
%global gitcommit 8c1e5cdf9154b7c4f979327a554bdde5c8f76436
|
%global gitcommit c4f3a6c70c12681871573851921d3b070be5744b
|
||||||
%global shortcommit 8c1e5cdf
|
%global shortcommit c4f3a6c7
|
||||||
|
|
||||||
Name: ocaml
|
Name: ocaml
|
||||||
Version: 4.02.0
|
Version: 4.02.0
|
||||||
Release: 0.5.git%{shortcommit}%{?dist}
|
Release: 0.6.git%{shortcommit}%{?dist}
|
||||||
|
|
||||||
Summary: OCaml compiler and programming environment
|
Summary: OCaml compiler and programming environment
|
||||||
|
|
||||||
@ -58,12 +58,6 @@ Patch0007: 0007-Add-support-for-ppc64le.patch
|
|||||||
Patch0008: 0008-arm-arm64-Mark-stack-as-non-executable.patch
|
Patch0008: 0008-arm-arm64-Mark-stack-as-non-executable.patch
|
||||||
Patch0009: 0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
|
Patch0009: 0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
|
||||||
Patch0010: 0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
|
Patch0010: 0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
|
||||||
Patch0011: 0011-arm64-Fix-missing-close-quote-which-caused-caml_call.patch
|
|
||||||
|
|
||||||
# On ARM 32 bit and aarch64, the CSE optimization is broken. See:
|
|
||||||
# http://caml.inria.fr/mantis/view.php?id=6484 (armv7hl)
|
|
||||||
# http://caml.inria.fr/mantis/view.php?id=6486 (aarch64)
|
|
||||||
Patch9999: 0001-Disable-CSE.patch
|
|
||||||
|
|
||||||
# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
|
# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
|
||||||
BuildRequires: binutils-devel
|
BuildRequires: binutils-devel
|
||||||
@ -202,22 +196,7 @@ git config user.name "no one"
|
|||||||
git add .
|
git add .
|
||||||
git add -f configure ;# required because .gitignore lists this file
|
git add -f configure ;# required because .gitignore lists this file
|
||||||
git commit -a -q -m "%{version} baseline"
|
git commit -a -q -m "%{version} baseline"
|
||||||
|
git am %{patches} </dev/null
|
||||||
# Once we remove conditional patch 9999:
|
|
||||||
#git am %{patches} </dev/null
|
|
||||||
# but until then:
|
|
||||||
|
|
||||||
%ifnarch %{arm} aarch64
|
|
||||||
patches=""
|
|
||||||
for p in %{patches}; do
|
|
||||||
if ! echo "$p" | grep -sq 0001-Disable-CSE; then
|
|
||||||
patches="$patches $p"
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
%else
|
|
||||||
patches="%{patches}"
|
|
||||||
%endif
|
|
||||||
git am $patches </dev/null
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
@ -436,6 +415,12 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Jul 19 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.6
|
||||||
|
- Rebase on top of 4.02.0 beta commit c4f3a6c7.
|
||||||
|
- Remove the patch to disable CSE, since that problem is fixed upstream.
|
||||||
|
- Remove the patch fixing caml_callback2 on aarch64 since that patch is
|
||||||
|
now upstream.
|
||||||
|
|
||||||
* Tue Jul 15 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.5
|
* Tue Jul 15 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.5
|
||||||
- Disable CSE optimization which is broken on armv7hl and aarch64.
|
- Disable CSE optimization which is broken on armv7hl and aarch64.
|
||||||
- Fix broken caml_callback2 on aarch64
|
- Fix broken caml_callback2 on aarch64
|
||||||
|
2
sources
2
sources
@ -1,4 +1,4 @@
|
|||||||
c308e831a1c5d6b3024bb339fcee72f4 ocaml-4.02beta-refman-html.tar.gz
|
c308e831a1c5d6b3024bb339fcee72f4 ocaml-4.02beta-refman-html.tar.gz
|
||||||
672044269cea28b661fca5c0edadc195 ocaml-4.02beta-refman.info.tar.gz
|
672044269cea28b661fca5c0edadc195 ocaml-4.02beta-refman.info.tar.gz
|
||||||
d05fc06025d7bad2a969a659f6de1c83 ocaml-4.02beta-refman.pdf
|
d05fc06025d7bad2a969a659f6de1c83 ocaml-4.02beta-refman.pdf
|
||||||
053f03be03e82407f76ca0eb92bf2adf ocaml-8c1e5cdf9154b7c4f979327a554bdde5c8f76436.tar.gz
|
469c97675af781c2f737f5692fac3b84 ocaml-c4f3a6c70c12681871573851921d3b070be5744b.tar.gz
|
||||||
|
Loading…
Reference in New Issue
Block a user