Fix the build on ppc64.
This commit is contained in:
parent
2d6392e7eb
commit
71bcc7c84c
@ -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
|
||||||
+
|
+
|
||||||
|
@ -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.
|
||||||
|
@ -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.
|
||||||
|
Loading…
Reference in New Issue
Block a user