Rebase on top of OCaml 4.02+rc1 (same as git commit c48fc015).

This commit is contained in:
Richard W.M. Jones 2014-08-22 20:01:51 +01:00
parent e5ae10d862
commit 1dbbca1c02
13 changed files with 52 additions and 131 deletions

View File

@ -1,17 +1,17 @@
From 39f4cb65afc38a5012a8cdf694dd5686dd60b727 Mon Sep 17 00:00:00 2001
From b82c357ec2006551276ec850537eead05f231c65 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 2817041..6835234 100644
index d36195a..dbb0e3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,7 +22,6 @@
@@ -19,7 +19,6 @@
/.depend
/.depend.nt
/.DS_Store
@ -20,5 +20,5 @@ index 2817041..6835234 100644
/ocamlc.opt
/expunge
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From b766bba6c388a6772d7d918ea7134f84926c41fd Mon Sep 17 00:00:00 2001
From 5bdd0491e1416bb33050ebd87a3fab3a23c8af97 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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
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
--
1.9.3
2.0.4

View File

@ -1,14 +1,14 @@
From ba4b5ff5197769c89169697dae4787922c99a92c Mon Sep 17 00:00:00 2001
From 80e6085da156af1c6f64f05be3b02b63b8ed6d8d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index c4c9030..7a918e5 100644
index 2517434..75a75b4 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -112,9 +112,9 @@ ocamlmklibconfig.ml: ../config/Makefile
@ -25,5 +25,5 @@ index c4c9030..7a918e5 100644
sed -n -e 's/^#ml //p' ../config/Makefile) \
> ocamlmklibconfig.ml
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From b57344b6f2527f13dfcf6452353f09c85faef940 Mon Sep 17 00:00:00 2001
From 9d21ab16494b43872ab6a5a359ff2e327ed8486c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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.
See:
@ -236,5 +236,5 @@ index 0000000..e28800f
+ header.units
+ end
--
1.9.3
2.0.4

View File

@ -1,17 +1,17 @@
From f90ddd09c1f50a993806632efb46416af3e20e0e Mon Sep 17 00:00:00 2001
From 1560523eee4445a28f10f872f8d4b0210c0c4f4b Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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 ++++
1 file changed, 4 insertions(+)
diff --git a/configure b/configure
index 74d489f..251ee2c 100755
index dbc6178..c1133ee 100755
--- a/configure
+++ b/configure
@@ -1629,6 +1629,10 @@ case "$buggycc" in
@@ -1633,6 +1633,10 @@ case "$buggycc" in
nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
esac
@ -23,5 +23,5 @@ index 74d489f..251ee2c 100755
cclibs="$cclibs $mathlib"
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From 691620fe915dfa850ad0dd126619184db0e0cbf3 Mon Sep 17 00:00:00 2001
From 39da8f7124a972e1b7c96af9ca69f9aff7532110 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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
appropriate hardware for testing.
@ -2105,10 +2105,10 @@ index 92b3c28..5202c3a 100644
#define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8))
diff --git a/configure b/configure
index 251ee2c..5f92bac 100755
index c1133ee..3d258dc 100755
--- a/configure
+++ b/configure
@@ -807,6 +807,7 @@ case "$target" in
@@ -808,6 +808,7 @@ case "$target" in
fi;;
i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
@ -2116,7 +2116,7 @@ index 251ee2c..5f92bac 100755
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -886,6 +887,8 @@ case "$arch,$system" in
@@ -888,6 +889,8 @@ case "$arch,$system" in
aspp="/usr/ccs/bin/${TOOLPREF}as -P";;
power,elf) as="${TOOLPREF}as -u -m ppc"
aspp="${TOOLPREF}gcc -c";;
@ -2126,5 +2126,5 @@ index 251ee2c..5f92bac 100755
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From 925ead0db97e6ae5ed158feabd80b0cc2b67a844 Mon Sep 17 00:00:00 2001
From 81f0522871559e17591efaac09d4b7b9d9b5dc50 Mon Sep 17 00:00:00 2001
From: Michel Normand <normand@linux.vnet.ibm.com>
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>
---
@ -1892,10 +1892,10 @@ index b79252d..049652e 100755
echo powerpc-unknown-linux-${LIBC}
exit ;;
diff --git a/configure b/configure
index 5f92bac..8b300a4 100755
index 3d258dc..0bf4ebd 100755
--- a/configure
+++ b/configure
@@ -808,6 +808,7 @@ case "$target" in
@@ -809,6 +809,7 @@ case "$target" in
i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
@ -1903,7 +1903,7 @@ index 5f92bac..8b300a4 100755
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -889,6 +890,8 @@ case "$arch,$system" in
@@ -891,6 +892,8 @@ case "$arch,$system" in
aspp="${TOOLPREF}gcc -c";;
power64,*,elf) as='${TOOLPREF}as -u -m ppc64'
aspp='${TOOLPREF}gcc -c';;
@ -1913,5 +1913,5 @@ index 5f92bac..8b300a4 100755
aspp="$bytecc -c";;
sparc,solaris) as="${TOOLPREF}as"
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From dab7f94484f21ae05a996a11177bad9b4435b610 Mon Sep 17 00:00:00 2001
From 3a69252da94db29ea343ef9f5c1a84685cb60eee Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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
i686 & x86-64:
@ -13,10 +13,10 @@ http://caml.inria.fr/mantis/view.php?id=4564
2 files changed, 6 insertions(+)
diff --git a/asmrun/arm.S b/asmrun/arm.S
index 2ce244a..90f5b6e 100644
index 9720665..6a9eef0 100644
--- a/asmrun/arm.S
+++ b/asmrun/arm.S
@@ -489,3 +489,6 @@ caml_system__frametable:
@@ -498,3 +498,6 @@ caml_system__frametable:
.align 2
.type caml_system__frametable, %object
.size caml_system__frametable, .-caml_system__frametable
@ -24,10 +24,10 @@ index 2ce244a..90f5b6e 100644
+ /* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
index fa871df..50abdae 100644
index 9b4b9ab..c23168b 100644
--- a/asmrun/arm64.S
+++ b/asmrun/arm64.S
@@ -533,3 +533,6 @@ caml_system__frametable:
@@ -549,3 +549,6 @@ caml_system__frametable:
.align 3
.type caml_system__frametable, %object
.size caml_system__frametable, .-caml_system__frametable
@ -35,5 +35,5 @@ index fa871df..50abdae 100644
+ /* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From e195fe3961208a2dd2b668b5a37f5c44fa6445a1 Mon Sep 17 00:00:00 2001
From 8903821937e38fc62571a6e42b699ab4d46b611e Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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
useful in the followups.
@ -114,5 +114,5 @@ index 0f6480b..a41e0a2 100644
treat_action action
with Bad m -> stop (Message m);
--
1.9.3
2.0.4

View File

@ -1,7 +1,7 @@
From a39906c0ab2560969575d60b3ff74e641027f8a9 Mon Sep 17 00:00:00 2001
From 485f2f45afcfbfe4046169dea1f971a8124e0fcf Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
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.
Allow flags to be followed directly by their argument, separated by an '='
@ -78,5 +78,5 @@ index 22eda40..7078071 100644
Examples ([cmd] is assumed to be the command name):
--
1.9.3
2.0.4

View File

@ -1,81 +0,0 @@
From a887f2e04859d288908ddf7c8835108cdcd1be6b Mon Sep 17 00:00:00 2001
From: Mark Shinwell <mshinwell@janestreet.com>
Date: Fri, 8 Aug 2014 14:38:12 +0100
Subject: [PATCH 11/11] aarch64: Fix for mantis 6507.
http://caml.inria.fr/mantis/view.php?id=6507
---
asmrun/arm64.S | 26 +++++++++++++++++++++-----
1 file changed, 21 insertions(+), 5 deletions(-)
diff --git a/asmrun/arm64.S b/asmrun/arm64.S
index 50abdae..0dcb3a8 100644
--- a/asmrun/arm64.S
+++ b/asmrun/arm64.S
@@ -83,10 +83,10 @@ caml_call_gc:
PROFILE
/* Record return address */
STOREGLOBAL(x30, caml_last_return_address)
-.Lcaml_call_gc:
/* Record lowest stack address */
mov TMP, sp
STOREGLOBAL(TMP, caml_bottom_of_stack)
+.Lcaml_call_gc:
/* Set up stack space, saving return address and frame pointer */
/* (2 regs RA/GP, 24 allocatable int regs, 24 caller-save float regs) * 8 */
stp x29, x30, [sp, -400]!
@@ -175,7 +175,14 @@ caml_alloc1:
ret
2: stp x29, x30, [sp, -16]!
CFI_ADJUST(16)
- add x29, sp, #0
+ /* Record the lowest address of the caller's stack frame. This is the address
+ immediately above the pair of words (x29 and x30) we just pushed. Those must
+ not be included since otherwise the distance from [caml_bottom_of_stack] to the
+ highest address in the caller's stack frame won't match the frame size contained
+ in the relevant frame descriptor. */
+ add x29, sp, #16
+ STOREGLOBAL(x29, caml_bottom_of_stack)
+ sub x29, x29, #16
/* Record return address */
STOREGLOBAL(x30, caml_last_return_address)
/* Call GC */
@@ -200,7 +207,10 @@ caml_alloc2:
ret
2: stp x29, x30, [sp, -16]!
CFI_ADJUST(16)
- add x29, sp, #0
+ /* Record the lowest address of the caller's stack frame. See comment above. */
+ add x29, sp, #16
+ STOREGLOBAL(x29, caml_bottom_of_stack)
+ sub x29, x29, #16
/* Record return address */
STOREGLOBAL(x30, caml_last_return_address)
/* Call GC */
@@ -225,7 +235,10 @@ caml_alloc3:
ret
2: stp x29, x30, [sp, -16]!
CFI_ADJUST(16)
- add x29, sp, #0
+ /* Record the lowest address of the caller's stack frame. See comment above. */
+ add x29, sp, #16
+ STOREGLOBAL(x29, caml_bottom_of_stack)
+ sub x29, x29, #16
/* Record return address */
STOREGLOBAL(x30, caml_last_return_address)
/* Call GC */
@@ -250,7 +263,10 @@ caml_allocN:
ret
2: stp x29, x30, [sp, -16]!
CFI_ADJUST(16)
- add x29, sp, #0
+ /* Record the lowest address of the caller's stack frame. See comment above. */
+ add x29, sp, #16
+ STOREGLOBAL(x29, caml_bottom_of_stack)
+ sub x29, x29, #16
/* Record return address */
STOREGLOBAL(x30, caml_last_return_address)
/* Call GC. This preserves ARG */
--
1.9.3

View File

@ -15,12 +15,12 @@
%global natdynlink 0
%endif
%global gitcommit 10e45753f3d0b6b0313b6377afd722e54d7286b5
%global shortcommit 10e45753
%global gitcommit c48fc015a97826df3b39aefee8e96b1d20990ef5
%global shortcommit c48fc015
Name: ocaml
Version: 4.02.0
Release: 0.10.git%{shortcommit}%{?dist}
Release: 0.11.git%{shortcommit}%{?dist}
Summary: OCaml compiler and programming environment
@ -58,7 +58,6 @@ Patch0007: 0007-Add-support-for-ppc64le.patch
Patch0008: 0008-arm-arm64-Mark-stack-as-non-executable.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
Patch0011: 0011-aarch64-Fix-for-mantis-6507.patch
# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
BuildRequires: binutils-devel
@ -421,6 +420,9 @@ fi
%changelog
* Fri Aug 22 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.11.gitc48fc015
- Rebase on top of OCaml 4.02+rc1 (same as git commit c48fc015).
* Sun Aug 17 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 4.02.0-0.10.git10e45753
- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild

View File

@ -1,4 +1,4 @@
c308e831a1c5d6b3024bb339fcee72f4 ocaml-4.02beta-refman-html.tar.gz
672044269cea28b661fca5c0edadc195 ocaml-4.02beta-refman.info.tar.gz
d05fc06025d7bad2a969a659f6de1c83 ocaml-4.02beta-refman.pdf
979cc1eb74713122fc15a406a10c54a8 ocaml-10e45753f3d0b6b0313b6377afd722e54d7286b5.tar.gz
efb11f942c57b77ff587defc4a9fcdb4 ocaml-c48fc015a97826df3b39aefee8e96b1d20990ef5.tar.gz