Includes fix for minor heap corruption because of unaligned minor heap

register (RHBZ#826649).

Unset MAKEFLAGS before running build.
(cherry picked from commit f67fde615d)
This commit is contained in:
Richard W.M. Jones 2012-06-06 18:58:06 +01:00
parent c9d7ae5a3e
commit db59fcdbd4
4 changed files with 17 additions and 7 deletions

View File

@ -1,4 +1,4 @@
From 8337a6ef4844c27b83ad89fed63a9ee94381457d Mon Sep 17 00:00:00 2001
From b25707437651811a22acaab5a9461eb4ab742f6e 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 6/8] Add support for ppc64.
@ -14,6 +14,9 @@ David Woodhouse.
Includes fix for position of stack arguments to external C functions
when there are more than 8 parameters (RHBZ#829187).
Includes fix for minor heap corruption because of unaligned minor heap
register (RHBZ#826649).
---
asmcomp/power64/arch.ml | 83 ++++
asmcomp/power64/emit.mlp | 989 +++++++++++++++++++++++++++++++++++++++++
@ -125,7 +128,7 @@ index 0000000..55dd593
+ fprintf ppf "alloc_far %d" n
diff --git a/asmcomp/power64/emit.mlp b/asmcomp/power64/emit.mlp
new file mode 100644
index 0000000..ba54e99
index 0000000..42f585d
--- /dev/null
+++ b/asmcomp/power64/emit.mlp
@@ -0,0 +1,989 @@
@ -738,7 +741,7 @@ index 0000000..ba54e99
+ ` bge {emit_label lbl}\n`;
+ record_frame i.live;
+ ` bl {emit_label !call_gc_label}\n`; (* Must be 4 insns to restart *)
+ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n`
+ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, {emit_int size_addr}\n`
+ | Lop(Iintop Isub) -> (* subfc has swapped arguments *)
+ ` subfc {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`
+ | Lop(Iintop Imod) ->

View File

@ -1,4 +1,4 @@
From d713da1390d4a74f78ca7e37834fa0a47932f948 Mon Sep 17 00:00:00 2001
From 658145e4aa9a3eb7263012b39c7483241af5b1b3 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:50:42 +0100
Subject: [PATCH 7/8] New ARM backend, written by Benedikt Meurer (PR#5433).

View File

@ -1,4 +1,4 @@
From c103b9b4e7c0d50f29d8eec2c9e946d1d52970f5 Mon Sep 17 00:00:00 2001
From 66eef2038cf9af06e5883be320e3bf7aec35d572 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jun 2012 22:49:17 +0100
Subject: [PATCH 8/8] Link dllthreads.so with -lpthread so that pthread_atfork

View File

@ -1,6 +1,6 @@
Name: ocaml
Version: 3.12.1
Release: 11%{?dist}
Release: 12%{?dist}
Summary: Objective Caml compiler and programming environment
@ -239,6 +239,9 @@ git am %{patches} </dev/null
%build
# make -jN (N > 1) breaks the build. Therefore we cannot use
# %{?_smp_mflags} nor MAKEFLAGS.
unset MAKEFLAGS
CFLAGS="$RPM_OPT_FLAGS" \
./configure \
-bindir %{_bindir} \
@ -250,7 +253,6 @@ make world
%if %{native_compiler}
make opt opt.opt
%endif
# %{?_smp_mflags} breaks the build
make -C emacs ocamltags
# Currently these tools are supplied by Debian, but are expected
@ -496,6 +498,11 @@ fi
%changelog
* Wed Jun 6 2012 Richard W.M. Jones <rjones@redhat.com> 3.12.1-12
- ppc64: Include fix for minor heap corruption because of unaligned
minor heap register (RHBZ#826649).
- Unset MAKEFLAGS before running build.
* Wed Jun 6 2012 Richard W.M. Jones <rjones@redhat.com> 3.12.1-11
- ppc64: Fix position of stack arguments to external C functions
when there are more than 8 parameters.