Fix the build on ppc64.

This commit is contained in:
Richard W.M. Jones 2013-09-14 12:14:22 +01:00
parent 2d6392e7eb
commit 71bcc7c84c
3 changed files with 24 additions and 24 deletions

View File

@ -1,4 +1,4 @@
From 6a4eb2f692e11312dcec4e73956788ac1e5c2fa6 Mon Sep 17 00:00:00 2001 From a85437a0d2ffdf7a340d379789500eb583ae4708 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 6/7] Add support for ppc64. Subject: [PATCH 6/7] Add support for ppc64.
@ -20,17 +20,17 @@ register (RHBZ#826649).
Includes updates for OCaml 4.01.0. Includes updates for OCaml 4.01.0.
--- ---
asmcomp/power64/arch.ml | 87 ++++ asmcomp/power64/arch.ml | 88 ++++
asmcomp/power64/emit.mlp | 989 ++++++++++++++++++++++++++++++++++++++++++ asmcomp/power64/emit.mlp | 988 ++++++++++++++++++++++++++++++++++++++++++
asmcomp/power64/proc.ml | 241 ++++++++++ asmcomp/power64/proc.ml | 240 ++++++++++
asmcomp/power64/reload.ml | 18 + asmcomp/power64/reload.ml | 18 +
asmcomp/power64/scheduling.ml | 65 +++ asmcomp/power64/scheduling.ml | 65 +++
asmcomp/power64/selection.ml | 103 +++++ asmcomp/power64/selection.ml | 101 +++++
asmrun/Makefile | 6 + asmrun/Makefile | 6 +
asmrun/power64-elf.S | 486 +++++++++++++++++++++ asmrun/power64-elf.S | 486 +++++++++++++++++++++
asmrun/stack.h | 9 + asmrun/stack.h | 9 +
configure | 3 + configure | 3 +
10 files changed, 2007 insertions(+) 10 files changed, 2004 insertions(+)
create mode 100644 asmcomp/power64/arch.ml create mode 100644 asmcomp/power64/arch.ml
create mode 100644 asmcomp/power64/emit.mlp create mode 100644 asmcomp/power64/emit.mlp
create mode 100644 asmcomp/power64/proc.ml create mode 100644 asmcomp/power64/proc.ml
@ -41,10 +41,10 @@ Includes updates for OCaml 4.01.0.
diff --git a/asmcomp/power64/arch.ml b/asmcomp/power64/arch.ml diff --git a/asmcomp/power64/arch.ml b/asmcomp/power64/arch.ml
new file mode 100644 new file mode 100644
index 0000000..6a14864 index 0000000..73c516d
--- /dev/null --- /dev/null
+++ b/asmcomp/power64/arch.ml +++ b/asmcomp/power64/arch.ml
@@ -0,0 +1,87 @@ @@ -0,0 +1,88 @@
+(***********************************************************************) +(***********************************************************************)
+(* *) +(* *)
+(* Objective Caml *) +(* Objective Caml *)
@ -61,7 +61,6 @@ index 0000000..6a14864
+ +
+(* Specific operations for the PowerPC processor *) +(* Specific operations for the PowerPC processor *)
+ +
+open Misc
+open Format +open Format
+ +
+(* Machine-specific command-line options *) +(* Machine-specific command-line options *)
@ -90,6 +89,8 @@ index 0000000..6a14864
+let size_int = size_addr +let size_int = size_addr
+let size_float = 8 +let size_float = 8
+ +
+let allow_unaligned_access = false
+
+(* Behavior of division *) +(* Behavior of division *)
+ +
+let division_crashes_on_overflow = false +let division_crashes_on_overflow = false
@ -134,10 +135,10 @@ index 0000000..6a14864
+ fprintf ppf "alloc_far %d" n + fprintf ppf "alloc_far %d" n
diff --git a/asmcomp/power64/emit.mlp b/asmcomp/power64/emit.mlp diff --git a/asmcomp/power64/emit.mlp b/asmcomp/power64/emit.mlp
new file mode 100644 new file mode 100644
index 0000000..42f585d index 0000000..d84ac5c
--- /dev/null --- /dev/null
+++ b/asmcomp/power64/emit.mlp +++ b/asmcomp/power64/emit.mlp
@@ -0,0 +1,989 @@ @@ -0,0 +1,988 @@
+(***********************************************************************) +(***********************************************************************)
+(* *) +(* *)
+(* Objective Caml *) +(* Objective Caml *)
@ -156,7 +157,6 @@ index 0000000..42f585d
+ +
+module StringSet = Set.Make(struct type t = string let compare = compare end) +module StringSet = Set.Make(struct type t = string let compare = compare end)
+ +
+open Location
+open Misc +open Misc
+open Cmm +open Cmm
+open Arch +open Arch
@ -176,7 +176,7 @@ index 0000000..42f585d
+(* We have a stack frame of our own if we call other functions (including +(* We have a stack frame of our own if we call other functions (including
+ use of exceptions, or if we need more than the red zone *) + use of exceptions, or if we need more than the red zone *)
+let has_stack_frame () = +let has_stack_frame () =
+ if !contains_calls or (num_stack_slots.(0) + num_stack_slots.(1)) > (288-16)/8 then + if !contains_calls || (num_stack_slots.(0) + num_stack_slots.(1)) > (288-16)/8 then
+ true + true
+ else + else
+ false + false
@ -960,7 +960,7 @@ index 0000000..42f585d
+ match i with + match i with
+ {desc = Lend} -> () + {desc = Lend} -> ()
+ | {next = {desc = (Lcondbranch(_, _) | Lcondbranch3(_, _, _))}} + | {next = {desc = (Lcondbranch(_, _) | Lcondbranch3(_, _, _))}}
+ when is_simple_instr i & no_interference i.res i.next.arg -> + when is_simple_instr i && no_interference i.res i.next.arg ->
+ emit_instr i.next (Some i); + emit_instr i.next (Some i);
+ emit_all i.next.next + emit_all i.next.next
+ | _ -> + | _ ->
@ -1129,10 +1129,10 @@ index 0000000..42f585d
+ frame_descriptors := [] + frame_descriptors := []
diff --git a/asmcomp/power64/proc.ml b/asmcomp/power64/proc.ml diff --git a/asmcomp/power64/proc.ml b/asmcomp/power64/proc.ml
new file mode 100644 new file mode 100644
index 0000000..119ad93 index 0000000..372303d
--- /dev/null --- /dev/null
+++ b/asmcomp/power64/proc.ml +++ b/asmcomp/power64/proc.ml
@@ -0,0 +1,241 @@ @@ -0,0 +1,240 @@
+(***********************************************************************) +(***********************************************************************)
+(* *) +(* *)
+(* Objective Caml *) +(* Objective Caml *)
@ -1372,8 +1372,7 @@ index 0000000..119ad93
+ Ccomp.command (Config.asm ^ " -o " ^ + Ccomp.command (Config.asm ^ " -o " ^
+ Filename.quote outfile ^ " " ^ Filename.quote infile) + Filename.quote outfile ^ " " ^ Filename.quote infile)
+ +
+open Clflags;; +let init () = ()
+open Config;;
diff --git a/asmcomp/power64/reload.ml b/asmcomp/power64/reload.ml diff --git a/asmcomp/power64/reload.ml b/asmcomp/power64/reload.ml
new file mode 100644 new file mode 100644
index 0000000..abcac6c index 0000000..abcac6c
@ -1471,10 +1470,10 @@ index 0000000..b7bba9b
+let fundecl f = (new scheduler)#schedule_fundecl f +let fundecl f = (new scheduler)#schedule_fundecl f
diff --git a/asmcomp/power64/selection.ml b/asmcomp/power64/selection.ml diff --git a/asmcomp/power64/selection.ml b/asmcomp/power64/selection.ml
new file mode 100644 new file mode 100644
index 0000000..d2325e1 index 0000000..53b7828
--- /dev/null --- /dev/null
+++ b/asmcomp/power64/selection.ml +++ b/asmcomp/power64/selection.ml
@@ -0,0 +1,103 @@ @@ -0,0 +1,101 @@
+(***********************************************************************) +(***********************************************************************)
+(* *) +(* *)
+(* Objective Caml *) +(* Objective Caml *)
@ -1491,9 +1490,7 @@ index 0000000..d2325e1
+ +
+(* Instruction selection for the Power PC processor *) +(* Instruction selection for the Power PC processor *)
+ +
+open Misc
+open Cmm +open Cmm
+open Reg
+open Arch +open Arch
+open Mach +open Mach
+ +

View File

@ -1,4 +1,4 @@
From d7be8e44a95e0c7fad0987869999ecbed8c20769 Mon Sep 17 00:00:00 2001 From 761242718c3a7513d3b93ca96d24d1f61a4126f0 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 13 Sep 2013 21:29:58 +0100 Date: Fri, 13 Sep 2013 21:29:58 +0100
Subject: [PATCH 7/7] yacc: Use mkstemp instead of mktemp. Subject: [PATCH 7/7] yacc: Use mkstemp instead of mktemp.

View File

@ -1,6 +1,6 @@
Name: ocaml Name: ocaml
Version: 4.01.0 Version: 4.01.0
Release: 1%{?dist} Release: 2%{?dist}
Summary: OCaml compiler and programming environment Summary: OCaml compiler and programming environment
@ -521,6 +521,9 @@ fi
%changelog %changelog
* Sat Sep 14 2013 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-2
- Fix the build on ppc64.
* Fri Sep 13 2013 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-1 * Fri Sep 13 2013 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-1
- Update to new major version 4.01.0. - Update to new major version 4.01.0.
- Rebase patches. - Rebase patches.