[ocaml/f17] ppc64: Fix position of stack arguments to external C functions when there are more than 8 parameters

Richard W.M. Jones rjones at fedoraproject.org
Wed Jun 6 12:39:42 UTC 2012


commit c9d7ae5a3e4043fd547fbf2a65edeb3ab2ac8288
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Wed Jun 6 12:22:35 2012 +0100

    ppc64: Fix position of stack arguments to external C functions
    when there are more than 8 parameters.
    (cherry picked from commit 958f1c157adf460e2a8cbbd74b852e2eb650ab63)

 0006-Add-support-for-ppc64.patch                   |    9 ++++++---
 ...ackend-written-by-Benedikt-Meurer-PR-5433.patch |    2 +-
 ...eads.so-with-lpthread-so-that-pthread_atf.patch |    2 +-
 ocaml.spec                                         |    6 +++++-
 4 files changed, 13 insertions(+), 6 deletions(-)
---
diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch
index a140f77..674d6cb 100644
--- a/0006-Add-support-for-ppc64.patch
+++ b/0006-Add-support-for-ppc64.patch
@@ -1,4 +1,4 @@
-From 07d6360922923ddfa2fe7ff745bed5da27f98e05 Mon Sep 17 00:00:00 2001
+From 8337a6ef4844c27b83ad89fed63a9ee94381457d Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:47:07 +0100
 Subject: [PATCH 6/8] Add support for ppc64.
@@ -11,6 +11,9 @@ only for Macs, and I couldn't get it to work at all with IBM hardware.
 
 This patch was collaborated on by several people, most notably
 David Woodhouse.
+
+Includes fix for position of stack arguments to external C functions
+when there are more than 8 parameters (RHBZ#829187).
 ---
  asmcomp/power64/arch.ml       |   83 ++++
  asmcomp/power64/emit.mlp      |  989 +++++++++++++++++++++++++++++++++++++++++
@@ -1117,7 +1120,7 @@ index 0000000..ba54e99
 +  frame_descriptors := []
 diff --git a/asmcomp/power64/proc.ml b/asmcomp/power64/proc.ml
 new file mode 100644
-index 0000000..67f26ab
+index 0000000..119ad93
 --- /dev/null
 +++ b/asmcomp/power64/proc.ml
 @@ -0,0 +1,241 @@
@@ -1311,7 +1314,7 @@ index 0000000..67f26ab
 +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 8
++  | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 48
 +  | _ -> assert false
 +
 +let extcall_use_push = false
diff --git a/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch b/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
index ebe664d..ab7f51c 100644
--- a/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
+++ b/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
@@ -1,4 +1,4 @@
-From 22fadc3ed91cb380f7303e8a83ff5806d4576cb5 Mon Sep 17 00:00:00 2001
+From d713da1390d4a74f78ca7e37834fa0a47932f948 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:50:42 +0100
 Subject: [PATCH 7/8] New ARM backend, written by Benedikt Meurer (PR#5433).
diff --git a/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch b/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
index c17a2e7..bed6dbe 100644
--- a/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
+++ b/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
@@ -1,4 +1,4 @@
-From e14375eca4f1ddd9d3b28c9b45ce4aca05070a95 Mon Sep 17 00:00:00 2001
+From c103b9b4e7c0d50f29d8eec2c9e946d1d52970f5 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 5 Jun 2012 22:49:17 +0100
 Subject: [PATCH 8/8] Link dllthreads.so with -lpthread so that pthread_atfork
diff --git a/ocaml.spec b/ocaml.spec
index dec0cdc..67e3c2d 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -1,6 +1,6 @@
 Name:           ocaml
 Version:        3.12.1
-Release:        10%{?dist}
+Release:        11%{?dist}
 
 Summary:        Objective Caml compiler and programming environment
 
@@ -496,6 +496,10 @@ fi
 
 
 %changelog
+* Wed Jun  6 2012 Richard W.M. Jones <rjones at redhat.com> 3.12.1-11
+- ppc64: Fix position of stack arguments to external C functions
+  when there are more than 8 parameters.
+
 * Tue Jun  5 2012 Richard W.M. Jones <rjones at redhat.com> 3.12.1-10
 - Include patch to link dllthreads.so with -lpthread explicitly, to
   fix problem with 'pthread_atfork' symbol missing (statically linked)


More information about the scm-commits mailing list