[ocaml-cmigrep] Rebuild against OCaml 3.12.1.

Richard W.M. Jones rjones at fedoraproject.org
Mon Jan 16 13:51:35 UTC 2012


commit 6c4ec1ab1b1190e313e016de0e74ffc7d7fac40c
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Mon Jan 16 13:43:37 2012 +0000

    Rebuild against OCaml 3.12.1.

 .gitignore                                    |    1 +
 ocaml-3.11.0-rpath.patch                      |   12 -
 ocaml-3.11.0-string-index-from.patch          |   47 --
 ocaml-3.12.0-rpath.patch                      |   13 +
 ocaml-cmigrep.spec                            |   20 +-
 ocaml-3.11.0-ppc64.patch => ocaml-ppc64.patch |  628 ++++++++++++------------
 sources                                       |    2 +-
 7 files changed, 340 insertions(+), 383 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 3a0346b..f743f3e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,4 @@ ocaml-3.11.0+beta1.tar.bz2
 ocaml-3.11.0.tar.bz2
 ocaml-3.11.1+rc0.tar.gz
 ocaml-3.11.2+rc1.tar.bz2
+/ocaml-3.12.1.tar.gz
diff --git a/ocaml-3.12.0-rpath.patch b/ocaml-3.12.0-rpath.patch
new file mode 100644
index 0000000..71e8984
--- /dev/null
+++ b/ocaml-3.12.0-rpath.patch
@@ -0,0 +1,13 @@
+diff -ur ocaml-3.12.0.old/tools/Makefile.shared ocaml-3.12.0/tools/Makefile.shared
+--- ocaml-3.12.0.old/tools/Makefile.shared	2010-06-07 07:58:41.000000000 +0100
++++ ocaml-3.12.0/tools/Makefile.shared	2011-01-04 21:56:13.023974253 +0000
+@@ -108,9 +108,6 @@
+ 	sed -e "s|%%BINDIR%%|$(BINDIR)|" \
+ 	    -e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
+ 	    -e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
+-	    -e "s|%%BYTECCRPATH%%|$(BYTECCRPATH)|" \
+-	    -e "s|%%NATIVECCRPATH%%|$(NATIVECCRPATH)|" \
+-	    -e "s|%%MKSHAREDLIBRPATH%%|$(MKSHAREDLIBRPATH)|" \
+ 	    -e "s|%%RANLIB%%|$(RANLIB)|" \
+ 	  ocamlmklib.mlp >> ocamlmklib.ml
+ 
diff --git a/ocaml-cmigrep.spec b/ocaml-cmigrep.spec
index 9a329f2..bd60eb2 100644
--- a/ocaml-cmigrep.spec
+++ b/ocaml-cmigrep.spec
@@ -1,29 +1,28 @@
 %define opt %(test -x %{_bindir}/ocamlopt && echo 1 || echo 0)
 %define debug_package %{nil}
 
-%define ocaml_major 3.11
-%define ocaml_minor 2
+%define ocaml_major 3.12
+%define ocaml_minor 1
 
 %define _default_patch_fuzz 2
 
 Name:           ocaml-cmigrep
 Version:        1.5
-Release:        18%{?dist}
+Release:        19%{?dist}
 Summary:        Search OCaml compiled interface (cmi) files
 
 Group:          Development/Libraries
 License:        GPLv2+
 URL:            http://homepage.mac.com/letaris/
 Source0:        http://homepage.mac.com/letaris/cmigrep-%{version}.tar.bz2
-#Source1:        http://caml.inria.fr/distrib/ocaml-%{ocaml_major}/ocaml-%{ocaml_major}.%{ocaml_minor}.tar.gz
-Source1:        ftp://ftp.inria.fr/INRIA/Projects/cristal/ocaml/ocaml-3.11/ocaml-3.11.2+rc1.tar.bz2
+Source1:        http://caml.inria.fr/distrib/ocaml-%{ocaml_major}/ocaml-%{ocaml_major}.%{ocaml_minor}.tar.gz
 BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 ExcludeArch:    sparc64 s390 s390x
 
 Patch0:         cmigrep-make-without-godi-debian.patch
-Patch1:         ocaml-3.11.0-rpath.patch
+Patch1:         ocaml-3.12.0-rpath.patch
 Patch2:         ocaml-user-cflags.patch
-Patch3:         ocaml-3.11.0-ppc64.patch
+Patch3:         ocaml-ppc64.patch
 
 # Sent upstream on 2008-11-20.
 Patch10:        ocaml-cmigrep-3.11.0-updated-types.patch
@@ -52,8 +51,8 @@ elisp that allows emacs to use cmigrep for completion.
 # +compiler-libs directory.  It would be good to copy this,
 # however in Debian the only packages which actually use
 # compiler-libs are camlp5 & cmigrep.
-bzcat %{SOURCE1} | tar xf -
-mv ocaml-%{ocaml_major}.%{ocaml_minor}+rc1 compiler
+zcat %{SOURCE1} | tar xf -
+mv ocaml-%{ocaml_major}.%{ocaml_minor} compiler
 pushd compiler
 %patch1 -p1
 %patch2 -p1
@@ -104,6 +103,9 @@ rm -rf $RPM_BUILD_ROOT
 
 
 %changelog
+* Mon Jan 16 2012 Richard W.M. Jones <rjones at redhat.com> - 1.5-19
+- Rebuild against OCaml 3.12.1.
+
 * Fri Jan 13 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 1.5-18
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
 
diff --git a/ocaml-3.11.0-ppc64.patch b/ocaml-ppc64.patch
similarity index 77%
rename from ocaml-3.11.0-ppc64.patch
rename to ocaml-ppc64.patch
index 7cb7e4c..88eff4b 100644
--- a/ocaml-3.11.0-ppc64.patch
+++ b/ocaml-ppc64.patch
@@ -1,6 +1,6 @@
 diff -uNr ocaml-3.10.1/asmcomp/power64/arch.ml ocaml-3.10.1.ppc64/asmcomp/power64/arch.ml
---- ocaml-3.10.1/asmcomp/power64/arch.ml	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/arch.ml	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/arch.ml        1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/arch.ml  2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,84 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -14,7 +14,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/arch.ml ocaml-3.10.1.ppc64/asmcomp/power6
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: arch.ml,v 1.11 2004/06/19 16:13:32 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Specific operations for the PowerPC processor *)
 +
@@ -87,8 +87,8 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/arch.ml ocaml-3.10.1.ppc64/asmcomp/power6
 +      fprintf ppf "alloc_far %d" n
 +
 diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power64/emit.mlp
---- ocaml-3.10.1/asmcomp/power64/emit.mlp	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/emit.mlp	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/emit.mlp       1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/emit.mlp 2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,989 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -102,7 +102,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: emit.mlp,v 1.21 2004/06/19 17:39:34 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Emission of PowerPC assembly code *)
 +
@@ -169,26 +169,26 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +
 +let toc_space =
 +  match Config.system with
-+  | "elf" | "bsd" -> "	.section \".toc\",\"aw\"\n"
-+  | "rhapsody"    -> "	.toc\n"
++  | "elf" | "bsd" -> " .section \".toc\",\"aw\"\n"
++  | "rhapsody"    -> " .toc\n"
 +  | _ -> assert false
 +
 +let data_space =
 +  match Config.system with
-+  | "elf" | "bsd" -> "	.section \".data\"\n"
-+  | "rhapsody"    -> "	.data\n"
++  | "elf" | "bsd" -> " .section \".data\"\n"
++  | "rhapsody"    -> " .data\n"
 +  | _ -> assert false
 +
 +let code_space =
 +  match Config.system with
-+  | "elf" | "bsd" -> "	.section \".text\"\n"
-+  | "rhapsody"    -> "	.text\n"
++  | "elf" | "bsd" -> " .section \".text\"\n"
++  | "rhapsody"    -> " .text\n"
 +  | _ -> assert false
 +
 +let rodata_space =
 +  match Config.system with
-+  | "elf" | "bsd" -> "	.section \".rodata\"\n"
-+  | "rhapsody"    -> "	.const\n"
++  | "elf" | "bsd" -> " .section \".rodata\"\n"
++  | "rhapsody"    -> " .const\n"
 +  | _ -> assert false
 +
 +(* Output a pseudo-register *)
@@ -220,8 +220,8 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +    Stack s ->
 +      let lbl, ofs = slot_offset s (register_class r) in
 +        if lbl > 0 then
-+	  `{emit_label lbl}+`;
-+	`{emit_int ofs}({emit_gpr 1})`
++         `{emit_label lbl}+`;
++       `{emit_int ofs}({emit_gpr 1})`
 +  | _ -> fatal_error "Emit.emit_stack"
 +
 +(* Split a 32-bit integer constants in two 16-bit halves *)
@@ -289,32 +289,32 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +      let dd = (d + 0x8000) in (* We can only offset by -0x8000 .. +0x7fff *)
 +      let a = (dd land -0x10000) in
 +      let b = (dd land 0xffff) - 0x8000 in
-+        `	ld	{emit_gpr 11}, {emit_tocref (TocSymOfs (s,a))}\n`;
-+        `	{emit_string instr}	{emit_reg arg}, {emit_int b}({emit_gpr 11})\n`
++        `      ld      {emit_gpr 11}, {emit_tocref (TocSymOfs (s,a))}\n`;
++        `      {emit_string instr}     {emit_reg arg}, {emit_int b}({emit_gpr 11})\n`
 +  | Iindexed ofs ->
 +      if is_immediate ofs && valid_offset instr ofs then
-+        `	{emit_string instr}	{emit_reg arg}, {emit_int ofs}({emit_reg addr.(n)})\n`
++        `      {emit_string instr}     {emit_reg arg}, {emit_int ofs}({emit_reg addr.(n)})\n`
 +      else begin
-+        `	lis	{emit_gpr 0}, {emit_int(high ofs)}\n`;
++        `      lis     {emit_gpr 0}, {emit_int(high ofs)}\n`;
 +        if low ofs <> 0 then
-+          `	ori	{emit_gpr 0}, {emit_gpr 0}, {emit_int(low ofs)}\n`;
-+        `	{emit_string instr}x	{emit_reg arg}, {emit_reg addr.(n)}, {emit_gpr 0}\n`
++          `    ori     {emit_gpr 0}, {emit_gpr 0}, {emit_int(low ofs)}\n`;
++        `      {emit_string instr}x    {emit_reg arg}, {emit_reg addr.(n)}, {emit_gpr 0}\n`
 +      end
 +  | Iindexed2 ->
-+      `	{emit_string instr}x	{emit_reg arg}, {emit_reg addr.(n)}, {emit_reg addr.(n+1)}\n`
++      `        {emit_string instr}x    {emit_reg arg}, {emit_reg addr.(n)}, {emit_reg addr.(n+1)}\n`
 +
 +(* After a comparison, extract the result as 0 or 1 *)
 +
 +let emit_set_comp cmp res =
-+  `	mfcr	{emit_gpr 0}\n`;
++  `    mfcr    {emit_gpr 0}\n`;
 +  let bitnum =
 +    match cmp with
 +      Ceq | Cne -> 2
 +    | Cgt | Cle -> 1
 +    | Clt | Cge -> 0 in
-+`	rlwinm	{emit_reg res}, {emit_gpr 0}, {emit_int(bitnum+1)}, 31, 31\n`;
++`      rlwinm  {emit_reg res}, {emit_gpr 0}, {emit_int(bitnum+1)}, 31, 31\n`;
 +  begin match cmp with
-+    Cne | Cle | Cge -> `	xori	{emit_reg res}, {emit_reg res}, 1\n`
++    Cne | Cle | Cge -> `       xori    {emit_reg res}, {emit_reg res}, 1\n`
 +  | _ -> ()
 +  end
 +
@@ -345,16 +345,16 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +  `{emit_label lbl}:\n`
 +
 +let emit_frame fd =
-+  `	.quad	{emit_label fd.fd_lbl} + 4\n`;
-+  `	.short	{emit_label fd.fd_frame_size_lbl}\n`;
-+  `	.short	{emit_int (List.length fd.fd_live_offset)}\n`;
++  `    .quad   {emit_label fd.fd_lbl} + 4\n`;
++  `    .short  {emit_label fd.fd_frame_size_lbl}\n`;
++  `    .short  {emit_int (List.length fd.fd_live_offset)}\n`;
 +  List.iter
 +    (fun (lbl,n) ->
-+      `	.short	`;
++      `        .short  `;
 +      if lbl > 0 then `{emit_label lbl}+`;
 +      `{emit_int n}\n`)
 +    fd.fd_live_offset;
-+  `	.align	3\n`
++  `    .align  3\n`
 +
 +(* Record external C functions to be called in a position-independent way
 +   (for MacOSX) *)
@@ -364,10 +364,10 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +let external_functions = ref StringSet.empty
 +
 +let emit_external s =
-+  `	.non_lazy_symbol_pointer\n`;
++  `    .non_lazy_symbol_pointer\n`;
 +  `L{emit_symbol s}$non_lazy_ptr:\n`;
-+  `	.indirect_symbol {emit_symbol s}\n`;
-+  `	.quad	0\n`
++  `    .indirect_symbol {emit_symbol s}\n`;
++  `    .quad   0\n`
 +
 +(* Names for conditional branches after comparisons *)
 +
@@ -455,7 +455,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +  | Lop(Itailcall_ind) -> if !contains_calls then 7 else if has_stack_frame() then 5 else 4
 +  | Lop(Itailcall_imm s) -> if s = !function_name then 1 else 
 +                            if !contains_calls then 8 else
-+			    if has_stack_frame() then 6 else 5
++                           if has_stack_frame() then 6 else 5
 +  | Lop(Iextcall(s, true)) -> 8
 +  | Lop(Iextcall(s, false)) -> 7
 +  | Lop(Istackoffset n) -> 0
@@ -571,94 +571,94 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +        if src.loc <> dst.loc then begin
 +           match (src, dst) with
 +              {loc = Reg rs; typ = (Int | Addr)}, {loc = Reg rd} ->
-+                `	mr	{emit_reg dst}, {emit_reg src}\n`
++                `      mr      {emit_reg dst}, {emit_reg src}\n`
 +            | {loc = Reg rs; typ = Float}, {loc = Reg rd; typ = Float} ->
-+                `	fmr	{emit_reg dst}, {emit_reg src}\n`
++                `      fmr     {emit_reg dst}, {emit_reg src}\n`
 +            | {loc = Reg rs; typ = (Int | Addr)}, {loc = Stack sd} ->
-+                `	std	{emit_reg src}, {emit_stack dst}\n`
++                `      std     {emit_reg src}, {emit_stack dst}\n`
 +            | {loc = Reg rs; typ = Float}, {loc = Stack sd} ->
-+                `	stfd	{emit_reg src}, {emit_stack dst}\n`
++                `      stfd    {emit_reg src}, {emit_stack dst}\n`
 +            | {loc = Stack ss; typ = (Int | Addr)}, {loc = Reg rd} ->
-+                `	ld	{emit_reg dst}, {emit_stack src}\n`
++                `      ld      {emit_reg dst}, {emit_stack src}\n`
 +            | {loc = Stack ss; typ = Float}, {loc = Reg rd} ->
-+                `	lfd	{emit_reg dst}, {emit_stack src}\n`
++                `      lfd     {emit_reg dst}, {emit_stack src}\n`
 +            | (_, _) ->
 +                fatal_error "Emit: Imove"
 +        end
 +    | Lop(Iconst_int n) ->
 +        if is_native_immediate n then
-+          `	li	{emit_reg i.res.(0)}, {emit_nativeint n}\n`
++          `    li      {emit_reg i.res.(0)}, {emit_nativeint n}\n`
 +        else if n >= -0x8000_0000n && n <= 0x7FFF_FFFFn then begin
-+          `	lis	{emit_reg i.res.(0)}, {emit_int(nativehigh n)}\n`;
++          `    lis     {emit_reg i.res.(0)}, {emit_int(nativehigh n)}\n`;
 +          if nativelow n <> 0 then
-+            `	ori	{emit_reg i.res.(0)}, {emit_reg i.res.(0)}, {emit_int(nativelow n)}\n`
++            `  ori     {emit_reg i.res.(0)}, {emit_reg i.res.(0)}, {emit_int(nativelow n)}\n`
 +        end else begin
-+           `	ld	{emit_reg i.res.(0)}, {emit_tocref (TocInt n)}\n`
++           `   ld      {emit_reg i.res.(0)}, {emit_tocref (TocInt n)}\n`
 +        end
 +    | Lop(Iconst_float s) ->
-+        `	lfd	{emit_reg i.res.(0)}, {emit_tocref (TocFloat s)}\n`
++        `      lfd     {emit_reg i.res.(0)}, {emit_tocref (TocFloat s)}\n`
 +    | Lop(Iconst_symbol s) ->
-+        `	ld	{emit_reg i.res.(0)}, {emit_tocref (TocSymOfs (s,0))}\n`
++        `      ld      {emit_reg i.res.(0)}, {emit_tocref (TocSymOfs (s,0))}\n`
 +    | Lop(Icall_ind) ->
-+        `	std     {emit_gpr 2},40({emit_gpr 1})\n`;
-+        `	ld	{emit_gpr 2}, 8({emit_reg i.arg.(0)})\n`;
-+        `	ld	{emit_reg i.arg.(0)}, 0({emit_reg i.arg.(0)})\n`;
-+        `	mtctr	{emit_reg i.arg.(0)}\n`;
++        `      std     {emit_gpr 2},40({emit_gpr 1})\n`;
++        `      ld      {emit_gpr 2}, 8({emit_reg i.arg.(0)})\n`;
++        `      ld      {emit_reg i.arg.(0)}, 0({emit_reg i.arg.(0)})\n`;
++        `      mtctr   {emit_reg i.arg.(0)}\n`;
 +        record_frame i.live;
-+        `	bctrl\n`;
-+        `	ld     {emit_gpr 2},40({emit_gpr 1})\n`
++        `      bctrl\n`;
++        `      ld     {emit_gpr 2},40({emit_gpr 1})\n`
 +    | Lop(Icall_imm s) ->
-+	`	ld   	{emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
-+        `	std     {emit_gpr 2},40({emit_gpr 1})\n`;
-+	`	ld	{emit_gpr 2}, 8({emit_gpr 11})\n`;
-+	`	ld	{emit_gpr 11}, 0({emit_gpr 11})\n`;
-+	`	mtctr	{emit_gpr 11}\n`;
-+        record_frame i.live;	
-+        `	bctrl\n`;
-+        `	ld     {emit_gpr 2},40({emit_gpr 1})\n`
++       `       ld      {emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
++        `      std     {emit_gpr 2},40({emit_gpr 1})\n`;
++       `       ld      {emit_gpr 2}, 8({emit_gpr 11})\n`;
++       `       ld      {emit_gpr 11}, 0({emit_gpr 11})\n`;
++       `       mtctr   {emit_gpr 11}\n`;
++        record_frame i.live;   
++        `      bctrl\n`;
++        `      ld     {emit_gpr 2},40({emit_gpr 1})\n`
 +    | Lop(Itailcall_ind) ->
-+	  `	ld	{emit_gpr 2}, 8({emit_reg i.arg.(0)})\n`;
-+	  `	ld	{emit_reg i.arg.(0)}, 0({emit_reg i.arg.(0)})\n`;
-+          `	mtctr	{emit_reg i.arg.(0)}\n`;
++         `     ld      {emit_gpr 2}, 8({emit_reg i.arg.(0)})\n`;
++         `     ld      {emit_reg i.arg.(0)}, 0({emit_reg i.arg.(0)})\n`;
++          `    mtctr   {emit_reg i.arg.(0)}\n`;
 +        if has_stack_frame() then
-+          `	ld	{emit_gpr 1}, 0({emit_gpr 1})\n`;
++          `    ld      {emit_gpr 1}, 0({emit_gpr 1})\n`;
 +        if !contains_calls then begin
-+          `	ld	{emit_gpr 11}, 16({emit_gpr 1})\n`;
-+          `	mtlr	{emit_gpr 11}\n`
++          `    ld      {emit_gpr 11}, 16({emit_gpr 1})\n`;
++          `    mtlr    {emit_gpr 11}\n`
 +        end;
-+        `	bctr\n`
++        `      bctr\n`
 +    | Lop(Itailcall_imm s) ->
 +        if s = !function_name then
-+          `	b	{emit_label !tailrec_entry_point}\n`
++          `    b       {emit_label !tailrec_entry_point}\n`
 +        else begin
 +          if has_stack_frame() then
-+            `	ld	{emit_gpr 1}, 0({emit_gpr 1})\n`;
++            `  ld      {emit_gpr 1}, 0({emit_gpr 1})\n`;
 +          if !contains_calls then begin
-+            `	ld	{emit_gpr 11}, 16({emit_gpr 1})\n`;
-+            `	mtlr	{emit_gpr 11}\n`
++            `  ld      {emit_gpr 11}, 16({emit_gpr 1})\n`;
++            `  mtlr    {emit_gpr 11}\n`
 +          end;
-+          `	ld	{emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
-+	  `	ld	{emit_gpr 2}, 8({emit_gpr 11})\n`;
-+	  `	ld	{emit_gpr 11}, 0({emit_gpr 11})\n`;
-+	  `	mtctr	{emit_gpr 11}\n`;
-+          `	bctr\n`
++          `    ld      {emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
++         `     ld      {emit_gpr 2}, 8({emit_gpr 11})\n`;
++         `     ld      {emit_gpr 11}, 0({emit_gpr 11})\n`;
++         `     mtctr   {emit_gpr 11}\n`;
++          `    bctr\n`
 +        end
 +    | Lop(Iextcall(s, alloc)) ->
 +        if alloc then begin
-+          `	ld	{emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
-+          `	ld	{emit_gpr 12}, {emit_tocref (TocSymOfs ("caml_c_call",0))}\n`;
++          `    ld      {emit_gpr 11}, {emit_tocref (TocSymOfs (s,0))}\n`;
++          `    ld      {emit_gpr 12}, {emit_tocref (TocSymOfs ("caml_c_call",0))}\n`;
 +        end else
-+          `	ld	{emit_gpr 12}, {emit_tocref (TocSymOfs (s,0))}\n`;
-+        `	std     {emit_gpr 2}, 40({emit_gpr 1})\n`;
-+	`	ld	{emit_gpr 2}, 8({emit_gpr 12})\n`;
-+	`	ld	{emit_gpr 12}, 0({emit_gpr 12})\n`;
-+        `	mtctr	{emit_gpr 12}\n`;
++          `    ld      {emit_gpr 12}, {emit_tocref (TocSymOfs (s,0))}\n`;
++        `      std     {emit_gpr 2}, 40({emit_gpr 1})\n`;
++       `       ld      {emit_gpr 2}, 8({emit_gpr 12})\n`;
++       `       ld      {emit_gpr 12}, 0({emit_gpr 12})\n`;
++        `      mtctr   {emit_gpr 12}\n`;
 +        if alloc then record_frame i.live;
-+        `	bctrl\n`;
-+        `	ld	{emit_gpr 2}, 40({emit_gpr 1})\n`
++        `      bctrl\n`;
++        `      ld      {emit_gpr 2}, 40({emit_gpr 1})\n`
 +    | Lop(Istackoffset n) ->
-+	if n > !stack_args_size then
-+	  stack_args_size := n
++       if n > !stack_args_size then
++         stack_args_size := n
 +    | Lop(Iload(chunk, addr)) ->
 +        let loadinstr =
 +          match chunk with
@@ -673,7 +673,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +          | Double | Double_u -> "lfd" in
 +        emit_load_store loadinstr addr i.arg 0 i.res.(0);
 +        if chunk = Byte_signed then
-+          `	extsb	{emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n`
++          `    extsb   {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n`
 +    | Lop(Istore(chunk, addr)) ->
 +        let storeinstr =
 +          match chunk with
@@ -686,192 +686,192 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +        emit_load_store storeinstr addr i.arg 1 i.arg.(0)
 +    | Lop(Ialloc n) ->
 +        if !call_gc_label = 0 then call_gc_label := new_label();
-+        `	addi    {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`;
-+        `	cmpld	{emit_gpr 31}, {emit_gpr 30}\n`;
-+        `	addi	{emit_reg i.res.(0)}, {emit_gpr 31}, 8\n`;
++        `      addi    {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`;
++        `      cmpld   {emit_gpr 31}, {emit_gpr 30}\n`;
++        `      addi    {emit_reg i.res.(0)}, {emit_gpr 31}, 8\n`;
 +        record_frame i.live;
-+        `	bltl	{emit_label !call_gc_label}\n` (* Must be 4 insns to restart *)
++        `      bltl    {emit_label !call_gc_label}\n` (* Must be 4 insns to restart *)
 +    | Lop(Ispecific(Ialloc_far n)) ->
 +        if !call_gc_label = 0 then call_gc_label := new_label();
 +        let lbl = new_label() in
-+        `	addi    {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`;
-+        `	cmpld	{emit_gpr 31}, {emit_gpr 30}\n`;
-+        `	bge	{emit_label lbl}\n`;
++        `      addi    {emit_gpr 31}, {emit_gpr 31}, {emit_int(-n)}\n`;
++        `      cmpld   {emit_gpr 31}, {emit_gpr 30}\n`;
++        `      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`
++        `      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`
 +    | Lop(Iintop Isub) ->               (* subfc has swapped arguments *)
-+        `	subfc	{emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`
++        `      subfc   {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`
 +    | Lop(Iintop Imod) ->
-+        `	divd	{emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
-+        `	mulld	{emit_gpr 0}, {emit_gpr 0}, {emit_reg i.arg.(1)}\n`;
-+        `	subfc	{emit_reg i.res.(0)}, {emit_gpr 0}, {emit_reg i.arg.(0)}\n`
++        `      divd    {emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
++        `      mulld   {emit_gpr 0}, {emit_gpr 0}, {emit_reg i.arg.(1)}\n`;
++        `      subfc   {emit_reg i.res.(0)}, {emit_gpr 0}, {emit_reg i.arg.(0)}\n`
 +    | Lop(Iintop(Icomp cmp)) ->
 +        begin match cmp with
 +          Isigned c ->
-+            `	cmpd	{emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
++            `  cmpd    {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
 +            emit_set_comp c i.res.(0)
 +        | Iunsigned c ->
-+            `	cmpld	{emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
++            `  cmpld   {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
 +            emit_set_comp c i.res.(0)
 +        end
 +    | Lop(Iintop Icheckbound) ->
-+        `	tdlle   {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
++        `      tdlle   {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
 +    | Lop(Iintop op) ->
 +        let instr = name_for_intop op in
-+        `	{emit_string instr}	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
++        `      {emit_string instr}     {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
 +    | Lop(Iintop_imm(Isub, n)) ->
-+        `	addi	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int(-n)}\n`
++        `      addi    {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int(-n)}\n`
 +    | Lop(Iintop_imm(Idiv, n)) ->       (* n is guaranteed to be a power of 2 *)
 +        let l = Misc.log2 n in
-+        `	sradi	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int l}\n`;
-+        `	addze	{emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` 
++        `      sradi   {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int l}\n`;
++        `      addze   {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n` 
 +    | Lop(Iintop_imm(Imod, n)) ->       (* n is guaranteed to be a power of 2 *)
 +        let l = Misc.log2 n in
-+        `	sradi	{emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_int l}\n`;
-+        `	addze	{emit_gpr 0}, {emit_gpr 0}\n`;
-+        `	sldi	{emit_gpr 0}, {emit_gpr 0}, {emit_int l}\n`;
-+        `	subfc	{emit_reg i.res.(0)}, {emit_gpr 0}, {emit_reg i.arg.(0)}\n` 
++        `      sradi   {emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_int l}\n`;
++        `      addze   {emit_gpr 0}, {emit_gpr 0}\n`;
++        `      sldi    {emit_gpr 0}, {emit_gpr 0}, {emit_int l}\n`;
++        `      subfc   {emit_reg i.res.(0)}, {emit_gpr 0}, {emit_reg i.arg.(0)}\n` 
 +    | Lop(Iintop_imm(Icomp cmp, n)) ->
 +        begin match cmp with
 +          Isigned c ->
-+            `	cmpdi	{emit_reg i.arg.(0)}, {emit_int n}\n`;
++            `  cmpdi   {emit_reg i.arg.(0)}, {emit_int n}\n`;
 +            emit_set_comp c i.res.(0)
 +        | Iunsigned c ->
-+            `	cmpldi	{emit_reg i.arg.(0)}, {emit_int n}\n`;
++            `  cmpldi  {emit_reg i.arg.(0)}, {emit_int n}\n`;
 +            emit_set_comp c i.res.(0)
 +        end
 +    | Lop(Iintop_imm(Icheckbound, n)) ->
-+        `	tdllei   {emit_reg i.arg.(0)}, {emit_int n}\n`
++        `      tdllei   {emit_reg i.arg.(0)}, {emit_int n}\n`
 +    | Lop(Iintop_imm(op, n)) ->
 +        let instr = name_for_intop_imm op in
-+        `	{emit_string instr}	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int n}\n`
++        `      {emit_string instr}     {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_int n}\n`
 +    | Lop(Inegf | Iabsf as op) ->
 +        let instr = name_for_floatop1 op in
-+        `	{emit_string instr}	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n`
++        `      {emit_string instr}     {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}\n`
 +    | Lop(Iaddf | Isubf | Imulf | Idivf as op) ->
 +        let instr = name_for_floatop2 op in
-+        `	{emit_string instr}	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
++        `      {emit_string instr}     {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`
 +    | Lop(Ifloatofint) ->
-+	let ofs = if has_stack_frame() then 16 else 8 * (2 + num_stack_slots.(0) + num_stack_slots.(1)) in
-+          `	std	{emit_reg i.arg.(0)}, -{emit_int ofs}({emit_gpr 1})\n`;
-+          `	lfd	{emit_reg i.res.(0)}, -{emit_int ofs}({emit_gpr 1})\n`;
-+          `	fcfid	{emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n`
++       let ofs = if has_stack_frame() then 16 else 8 * (2 + num_stack_slots.(0) + num_stack_slots.(1)) in
++          `    std     {emit_reg i.arg.(0)}, -{emit_int ofs}({emit_gpr 1})\n`;
++          `    lfd     {emit_reg i.res.(0)}, -{emit_int ofs}({emit_gpr 1})\n`;
++          `    fcfid   {emit_reg i.res.(0)}, {emit_reg i.res.(0)}\n`
 +    | Lop(Iintoffloat) ->
-+	let ofs = if has_stack_frame() then 16 else 8 * (2 + num_stack_slots.(0) + num_stack_slots.(1)) in
-+          `	fctidz	{emit_fpr 0}, {emit_reg i.arg.(0)}\n`;
-+          `	stfd	{emit_fpr 0}, -{emit_int ofs}({emit_gpr 1})\n`;
-+          `	ld	{emit_reg i.res.(0)}, -{emit_int ofs}({emit_gpr 1})\n`
++       let ofs = if has_stack_frame() then 16 else 8 * (2 + num_stack_slots.(0) + num_stack_slots.(1)) in
++          `    fctidz  {emit_fpr 0}, {emit_reg i.arg.(0)}\n`;
++          `    stfd    {emit_fpr 0}, -{emit_int ofs}({emit_gpr 1})\n`;
++          `    ld      {emit_reg i.res.(0)}, -{emit_int ofs}({emit_gpr 1})\n`
 +    | Lop(Ispecific sop) ->
 +        let instr = name_for_specific sop in
-+        `	{emit_string instr}	{emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n`
++        `      {emit_string instr}     {emit_reg i.res.(0)}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(2)}\n`
 +    | Lreloadretaddr ->
-+	if has_stack_frame() then begin
-+          `	ld	{emit_gpr 11}, {emit_label !stack_size_lbl}+16({emit_gpr 1})\n`;
-+          `	mtlr	{emit_gpr 11}\n`
++       if has_stack_frame() then begin
++          `    ld      {emit_gpr 11}, {emit_label !stack_size_lbl}+16({emit_gpr 1})\n`;
++          `    mtlr    {emit_gpr 11}\n`
 +        end
 +    | Lreturn ->
-+	if has_stack_frame() then							      
-+	  `	ld	{emit_gpr 1}, 0({emit_gpr 1})\n`;
-+        `	blr\n`
++       if has_stack_frame() then                                                             
++         `     ld      {emit_gpr 1}, 0({emit_gpr 1})\n`;
++        `      blr\n`
 +    | Llabel lbl ->
 +        `{emit_label lbl}:\n`
 +    | Lbranch lbl ->
-+        `	b	{emit_label lbl}\n`
++        `      b       {emit_label lbl}\n`
 +    | Lcondbranch(tst, lbl) ->
 +        begin match tst with
 +          Itruetest ->
-+            `	cmpdi	{emit_reg i.arg.(0)}, 0\n`;
++            `  cmpdi   {emit_reg i.arg.(0)}, 0\n`;
 +            emit_delay dslot;
-+            `	bne	{emit_label lbl}\n`
++            `  bne     {emit_label lbl}\n`
 +        | Ifalsetest ->
-+            `	cmpdi	{emit_reg i.arg.(0)}, 0\n`;
++            `  cmpdi   {emit_reg i.arg.(0)}, 0\n`;
 +            emit_delay dslot;
-+            `	beq	{emit_label lbl}\n`
++            `  beq     {emit_label lbl}\n`
 +        | Iinttest cmp ->
 +            let (comp, branch) = name_for_int_comparison cmp in
-+            `	{emit_string comp}	{emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
++            `  {emit_string comp}      {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
 +            emit_delay dslot;
-+            `	{emit_string branch}	{emit_label lbl}\n`
++            `  {emit_string branch}    {emit_label lbl}\n`
 +        | Iinttest_imm(cmp, n) ->
 +            let (comp, branch) = name_for_int_comparison cmp in
-+            `	{emit_string comp}i	{emit_reg i.arg.(0)}, {emit_int n}\n`;
++            `  {emit_string comp}i     {emit_reg i.arg.(0)}, {emit_int n}\n`;
 +            emit_delay dslot;
-+            `	{emit_string branch}	{emit_label lbl}\n`
++            `  {emit_string branch}    {emit_label lbl}\n`
 +        | Ifloattest(cmp, neg) ->
-+            `	fcmpu	{emit_ccr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
++            `  fcmpu   {emit_ccr 0}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`;
 +            (* bit 0 = lt, bit 1 = gt, bit 2 = eq *)
 +            let (bitnum, negtst) =
 +              match cmp with
 +                Ceq -> (2, neg)
 +              | Cne -> (2, not neg)
-+              | Cle -> `	cror	3, 0, 2\n`; (* lt or eq *)
++              | Cle -> `       cror    3, 0, 2\n`; (* lt or eq *)
 +                       (3, neg)
 +              | Cgt -> (1, neg)
-+              | Cge -> `	cror	3, 1, 2\n`; (* gt or eq *)
++              | Cge -> `       cror    3, 1, 2\n`; (* gt or eq *)
 +                       (3, neg)
 +              | Clt -> (0, neg) in
 +            emit_delay dslot;
 +            if negtst
-+            then `	bf	{emit_int bitnum}, {emit_label lbl}\n`
-+            else `	bt	{emit_int bitnum}, {emit_label lbl}\n`
++            then `     bf      {emit_int bitnum}, {emit_label lbl}\n`
++            else `     bt      {emit_int bitnum}, {emit_label lbl}\n`
 +        | Ioddtest ->
-+            `	andi.	{emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`;
++            `  andi.   {emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`;
 +            emit_delay dslot;
-+            `	bne	{emit_label lbl}\n`
++            `  bne     {emit_label lbl}\n`
 +        | Ieventest ->
-+            `	andi.	{emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`;
++            `  andi.   {emit_gpr 0}, {emit_reg i.arg.(0)}, 1\n`;
 +            emit_delay dslot;
-+            `	beq	{emit_label lbl}\n`
++            `  beq     {emit_label lbl}\n`
 +        end
 +    | Lcondbranch3(lbl0, lbl1, lbl2) ->
-+        `	cmpdi	{emit_reg i.arg.(0)}, 1\n`;
++        `      cmpdi   {emit_reg i.arg.(0)}, 1\n`;
 +        emit_delay dslot;
 +        begin match lbl0 with
 +          None -> ()
-+        | Some lbl -> `	blt	{emit_label lbl}\n`
++        | Some lbl -> `        blt     {emit_label lbl}\n`
 +        end;
 +        begin match lbl1 with
 +          None -> ()
-+        | Some lbl -> `	beq	{emit_label lbl}\n`
++        | Some lbl -> `        beq     {emit_label lbl}\n`
 +        end;
 +        begin match lbl2 with
 +          None -> ()
-+        | Some lbl -> `	bgt	{emit_label lbl}\n`
++        | Some lbl -> `        bgt     {emit_label lbl}\n`
 +        end
 +    | Lswitch jumptbl ->
 +        if !lbl_jumptbl = 0 then lbl_jumptbl := new_label();
-+        `	ld	{emit_gpr 11}, {emit_tocref (TocLabel !lbl_jumptbl)}\n`;
-+        `	addi	{emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_int !num_jumptbl_entries}\n`;
-+        `	sldi	{emit_gpr 0}, {emit_gpr 0}, 2\n`;
-+        `	lwax	{emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`;
-+        `	add	{emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`;
-+        `	mtctr	{emit_gpr 0}\n`;
-+        `	bctr\n`;
++        `      ld      {emit_gpr 11}, {emit_tocref (TocLabel !lbl_jumptbl)}\n`;
++        `      addi    {emit_gpr 0}, {emit_reg i.arg.(0)}, {emit_int !num_jumptbl_entries}\n`;
++        `      sldi    {emit_gpr 0}, {emit_gpr 0}, 2\n`;
++        `      lwax    {emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`;
++        `      add     {emit_gpr 0}, {emit_gpr 11}, {emit_gpr 0}\n`;
++        `      mtctr   {emit_gpr 0}\n`;
++        `      bctr\n`;
 +        for i = 0 to Array.length jumptbl - 1 do
 +          jumptbl_entries := jumptbl.(i) :: !jumptbl_entries;
 +          incr num_jumptbl_entries
 +        done
 +    | Lsetuptrap lbl ->
-+        `	bl	{emit_label lbl}\n`;
++        `      bl      {emit_label lbl}\n`;
 +    | Lpushtrap ->
-+	stack_traps_size := !stack_traps_size +	32;
-+	`	addi	{emit_gpr 11}, {emit_gpr 1}, {emit_label !stack_size_lbl}-{emit_int !stack_traps_size}\n`;
-+        `	mflr	{emit_gpr 0}\n`;
-+	`	std	{emit_gpr 29}, 0({emit_gpr 11})\n`;
-+	`	std	{emit_gpr 0}, 8({emit_gpr 11})\n`;
-+	`	std	{emit_gpr 1}, 16({emit_gpr 11})\n`;
-+	`	std	{emit_gpr 2}, 24({emit_gpr 11})\n`;
-+	`	mr	{emit_gpr 29}, {emit_gpr 11}\n`
++       stack_traps_size := !stack_traps_size + 32;
++       `       addi    {emit_gpr 11}, {emit_gpr 1}, {emit_label !stack_size_lbl}-{emit_int !stack_traps_size}\n`;
++        `      mflr    {emit_gpr 0}\n`;
++       `       std     {emit_gpr 29}, 0({emit_gpr 11})\n`;
++       `       std     {emit_gpr 0}, 8({emit_gpr 11})\n`;
++       `       std     {emit_gpr 1}, 16({emit_gpr 11})\n`;
++       `       std     {emit_gpr 2}, 24({emit_gpr 11})\n`;
++       `       mr      {emit_gpr 29}, {emit_gpr 11}\n`
 +    | Lpoptrap ->
-+        `	ld	{emit_gpr 29}, 0({emit_gpr 29})\n`
++        `      ld      {emit_gpr 29}, 0({emit_gpr 29})\n`
 +    | Lraise ->
-+        `	ld	{emit_gpr 0}, 8({emit_gpr 29})\n`;
-+        `	ld	{emit_gpr 1}, 16({emit_gpr 29})\n`;
-+        `	ld	{emit_gpr 2}, 24({emit_gpr 29})\n`;
-+        `	mtlr	{emit_gpr 0}\n`;
-+        `	ld	{emit_gpr 29}, 0({emit_gpr 29})\n`;
-+        `	blr\n`
++        `      ld      {emit_gpr 0}, 8({emit_gpr 29})\n`;
++        `      ld      {emit_gpr 1}, 16({emit_gpr 29})\n`;
++        `      ld      {emit_gpr 2}, 24({emit_gpr 29})\n`;
++        `      mtlr    {emit_gpr 0}\n`;
++        `      ld      {emit_gpr 29}, 0({emit_gpr 29})\n`;
++        `      blr\n`
 +
 +and emit_delay = function
 +    None -> ()
@@ -931,54 +931,54 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +  stack_args_size := 0;
 +  stack_traps_size := 0;
 +  call_gc_label := 0;
-+  `	.globl	{emit_symbol fundecl.fun_name}\n`;
++  `    .globl  {emit_symbol fundecl.fun_name}\n`;
 +  begin match Config.system with
 +  | "elf" | "bsd" ->
-+      `	.section \".opd\",\"aw\"\n`;
-+      `	.align 3\n`;
-+      `	.type	{emit_symbol fundecl.fun_name}, @function\n`;
++      `        .section \".opd\",\"aw\"\n`;
++      `        .align 3\n`;
++      `        .type   {emit_symbol fundecl.fun_name}, @function\n`;
 +      `{emit_symbol fundecl.fun_name}:\n`;
-+      `	.quad .L.{emit_symbol fundecl.fun_name},.TOC. at tocbase\n`;
-+      `	.previous\n`;
-+      `	.align	2\n`;
++      `        .quad .L.{emit_symbol fundecl.fun_name},.TOC. at tocbase\n`;
++      `        .previous\n`;
++      `        .align  2\n`;
 +      emit_string code_space;
 +      `.L.{emit_symbol fundecl.fun_name}:\n`
 +  | _ ->
-+      `	.align	2\n`;
++      `        .align  2\n`;
 +      emit_string code_space;
 +      `{emit_symbol fundecl.fun_name}:\n`
 +  end;
 +  if !contains_calls then begin
-+    `	mflr	{emit_gpr 0}\n`;
-+    `	std	{emit_gpr 0}, 16({emit_gpr 1})\n`
++    `  mflr    {emit_gpr 0}\n`;
++    `  std     {emit_gpr 0}, 16({emit_gpr 1})\n`
 +  end;
 +  if has_stack_frame() then
-+    `	stdu	{emit_gpr 1}, -{emit_label !stack_size_lbl}({emit_gpr 1})\n`;
++    `  stdu    {emit_gpr 1}, -{emit_label !stack_size_lbl}({emit_gpr 1})\n`;
 +  `{emit_label !tailrec_entry_point}:\n`;
 +  branch_normalization fundecl.fun_body;
 +  emit_all fundecl.fun_body;
-+  `	.size .L.{emit_symbol fundecl.fun_name}, . - .L.{emit_symbol fundecl.fun_name}\n`;
++  `    .size .L.{emit_symbol fundecl.fun_name}, . - .L.{emit_symbol fundecl.fun_name}\n`;
 +  if has_stack_frame() then begin
 +    ` .set {emit_label !stack_size_lbl},{emit_int (frame_size_sans_args() + !stack_args_size + !stack_traps_size)}  # stack size including traps\n`;
 +    ` .set {emit_label !stack_slot_lbl},{emit_int (48 + !stack_args_size)}  # stack slot offset\n`
 +  end else (* leave 8 bytes for float <-> conversions *)
 +    ` .set {emit_label !stack_slot_lbl},{emit_int (40-frame_size_sans_args())} # stack slot offset (negative)\n`;
-+									
++                                                                       
 +  (* Emit the glue code to call the GC *)
 +  if !call_gc_label > 0 then begin
 +    `{emit_label !call_gc_label}:\n`;
-+    `	ld	{emit_gpr 12}, {emit_tocref (TocSymOfs ("caml_call_gc",0))}\n`;
-+    `	ld	{emit_gpr 12}, 0({emit_gpr 12})\n`;
-+    `	mtctr	{emit_gpr 12}\n`;
-+    `	bctr\n`;
++    `  ld      {emit_gpr 12}, {emit_tocref (TocSymOfs ("caml_call_gc",0))}\n`;
++    `  ld      {emit_gpr 12}, 0({emit_gpr 12})\n`;
++    `  mtctr   {emit_gpr 12}\n`;
++    `  bctr\n`;
 +  end
 +
 +(* Emission of data *)
 +
 +let declare_global_data s =
-+  `	.globl	{emit_symbol s}\n`;
++  `    .globl  {emit_symbol s}\n`;
 +  if Config.system = "elf" || Config.system = "bsd" then
-+    `	.type	{emit_symbol s}, @object\n`
++    `  .type   {emit_symbol s}, @object\n`
 +
 +let emit_item = function
 +    Cglobal_symbol s ->
@@ -988,27 +988,27 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +  | Cdefine_label lbl ->
 +      `{emit_label (lbl + 100000)}:\n`
 +  | Cint8 n ->
-+      `	.byte	{emit_int n}\n`
++      `        .byte   {emit_int n}\n`
 +  | Cint16 n ->
-+      `	.short	{emit_int n}\n`
++      `        .short  {emit_int n}\n`
 +  | Cint32 n ->
-+      `	.long	{emit_nativeint n}\n`
++      `        .long   {emit_nativeint n}\n`
 +  | Cint n ->
-+      `	.quad	{emit_nativeint n}\n`
++      `        .quad   {emit_nativeint n}\n`
 +  | Csingle f ->
-+      `	.float	0d{emit_string f}\n`
++      `        .float  0d{emit_string f}\n`
 +  | Cdouble f ->
-+      `	.double	0d{emit_string f}\n`
++      `        .double 0d{emit_string f}\n`
 +  | Csymbol_address s ->
-+      `	.quad	{emit_symbol s}\n`
++      `        .quad   {emit_symbol s}\n`
 +  | Clabel_address lbl ->
-+      `	.quad	{emit_label (lbl + 100000)}\n`
++      `        .quad   {emit_label (lbl + 100000)}\n`
 +  | Cstring s ->
-+      emit_bytes_directive "	.byte	" s
++      emit_bytes_directive "   .byte   " s
 +  | Cskip n ->
-+      if n > 0 then `	.space	{emit_int n}\n`
++      if n > 0 then `  .space  {emit_int n}\n`
 +  | Calign n ->
-+      `	.align	{emit_int (Misc.log2 n)}\n`
++      `        .align  {emit_int (Misc.log2 n)}\n`
 +
 +let data l =
 +  emit_string data_space;
@@ -1039,7 +1039,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +    emit_string code_space;
 +    `{emit_label !lbl_jumptbl}:\n`;
 +    List.iter
-+      (fun lbl -> `	.long	{emit_label lbl} - {emit_label !lbl_jumptbl}\n`)
++      (fun lbl -> `    .long   {emit_label lbl} - {emit_label !lbl_jumptbl}\n`)
 +      (List.rev !jumptbl_entries);
 +    jumptbl_entries := []
 +  end;
@@ -1048,11 +1048,11 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +    List.iter
 +      (fun (lbl, entry) ->
 +        `{emit_label lbl}:\n`;
-+	match entry with
++       match entry with
 +        TocFloat f ->
-+	  `	.double	{emit_tocentry entry}\n`
-+	| _ -> 
-+          `	.tc	{emit_label lbl}[TC],{emit_tocentry entry}\n`
++         `     .double {emit_tocentry entry}\n`
++       | _ -> 
++          `    .tc     {emit_label lbl}[TC],{emit_tocentry entry}\n`
 +      )
 +      !tocref_entries;
 +      tocref_entries := []
@@ -1065,23 +1065,23 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/emit.mlp ocaml-3.10.1.ppc64/asmcomp/power
 +  let lbl_end = Compilenv.make_symbol (Some "code_end") in
 +  declare_global_data lbl_end;
 +  `{emit_symbol lbl_end}:\n`;
-+  `	.long	0\n`;
++  `    .long   0\n`;
 +  emit_string data_space;
 +  let lbl_end = Compilenv.make_symbol (Some "data_end") in
 +  declare_global_data lbl_end;
 +  `{emit_symbol lbl_end}:\n`;
-+  `	.quad	0\n`;
++  `    .quad   0\n`;
 +  (* Emit the frame descriptors *)
 +  emit_string rodata_space;
 +  let lbl = Compilenv.make_symbol (Some "frametable") in
 +  declare_global_data lbl;
 +  `{emit_symbol lbl}:\n`;
-+  `	.quad	{emit_int (List.length !frame_descriptors)}\n`;
++  `    .quad   {emit_int (List.length !frame_descriptors)}\n`;
 +  List.iter emit_frame !frame_descriptors;
 +  frame_descriptors := []
 diff -uNr ocaml-3.10.1/asmcomp/power64/proc.ml ocaml-3.10.1.ppc64/asmcomp/power64/proc.ml
---- ocaml-3.10.1/asmcomp/power64/proc.ml	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/proc.ml	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/proc.ml        1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/proc.ml  2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,245 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -1095,7 +1095,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/proc.ml ocaml-3.10.1.ppc64/asmcomp/power6
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: proc.ml,v 1.12 2004/06/19 17:39:35 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Description of the Power PC *)
 +
@@ -1329,8 +1329,8 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/proc.ml ocaml-3.10.1.ppc64/asmcomp/power6
 +open Clflags;;
 +open Config;;
 diff -uNr ocaml-3.10.1/asmcomp/power64/reload.ml ocaml-3.10.1.ppc64/asmcomp/power64/reload.ml
---- ocaml-3.10.1/asmcomp/power64/reload.ml	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/reload.ml	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/reload.ml      1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/reload.ml        2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,18 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -1344,15 +1344,15 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/reload.ml ocaml-3.10.1.ppc64/asmcomp/powe
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: reload.ml,v 1.3 1999/11/17 18:56:46 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Reloading for the PowerPC *)
 +
 +let fundecl f =
 +  (new Reloadgen.reload_generic)#fundecl f
 diff -uNr ocaml-3.10.1/asmcomp/power64/scheduling.ml ocaml-3.10.1.ppc64/asmcomp/power64/scheduling.ml
---- ocaml-3.10.1/asmcomp/power64/scheduling.ml	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/scheduling.ml	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/scheduling.ml  1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/scheduling.ml    2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,66 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -1366,7 +1366,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/scheduling.ml ocaml-3.10.1.ppc64/asmcomp/
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: scheduling.ml,v 1.6 2004/06/19 16:13:33 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Instruction scheduling for the Power PC *)
 +
@@ -1421,8 +1421,8 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/scheduling.ml ocaml-3.10.1.ppc64/asmcomp/
 +let fundecl f = (new scheduler)#schedule_fundecl f
 +
 diff -uNr ocaml-3.10.1/asmcomp/power64/selection.ml ocaml-3.10.1.ppc64/asmcomp/power64/selection.ml
---- ocaml-3.10.1/asmcomp/power64/selection.ml	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmcomp/power64/selection.ml	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmcomp/power64/selection.ml   1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmcomp/power64/selection.ml     2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,103 @@
 +(***********************************************************************)
 +(*                                                                     *)
@@ -1436,7 +1436,7 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/selection.ml ocaml-3.10.1.ppc64/asmcomp/p
 +(*                                                                     *)
 +(***********************************************************************)
 +
-+(* $Id: selection.ml,v 1.6 2004/06/19 16:13:33 xleroy Exp $ *)
++(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
 +
 +(* Instruction selection for the Power PC processor *)
 +
@@ -1528,11 +1528,11 @@ diff -uNr ocaml-3.10.1/asmcomp/power64/selection.ml ocaml-3.10.1.ppc64/asmcomp/p
 +
 +let fundecl f = (new selector)#emit_fundecl f
 diff -uNr ocaml-3.10.1/asmrun/Makefile ocaml-3.10.1.ppc64/asmrun/Makefile
---- ocaml-3.10.1/asmrun/Makefile	2007-02-23 04:29:45.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmrun/Makefile	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmrun/Makefile        2007-02-23 04:29:45.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmrun/Makefile  2008-02-29 08:37:45.000000000 -0500
 @@ -74,6 +74,12 @@
  power.p.o: power-$(SYSTEM).o
- 	cp power-$(SYSTEM).o power.p.o
+	cp power-$(SYSTEM).o power.p.o
  
 +power64.o: power64-$(SYSTEM).o
 +	cp power64-$(SYSTEM).o power64.o
@@ -1541,11 +1541,11 @@ diff -uNr ocaml-3.10.1/asmrun/Makefile ocaml-3.10.1.ppc64/asmrun/Makefile
 +	cp power64-$(SYSTEM).o power64.p.o
 +
  main.c: ../byterun/main.c
- 	ln -s ../byterun/main.c main.c
+        ln -s ../byterun/main.c main.c
  misc.c: ../byterun/misc.c
 diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-elf.S
---- ocaml-3.10.1/asmrun/power64-elf.S	1969-12-31 19:00:00.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmrun/power64-elf.S	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmrun/power64-elf.S   1969-12-31 19:00:00.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmrun/power64-elf.S     2008-02-29 08:37:45.000000000 -0500
 @@ -0,0 +1,486 @@
 +/*********************************************************************/
 +/*                                                                   */
@@ -1560,7 +1560,7 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +/*                                                                   */
 +/*********************************************************************/
 +
-+/* $Id: power-elf.S,v 1.18 2004/01/03 12:51:19 doligez Exp $ */
++/* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ */
 +
 +#define Addrglobal(reg,glob) \
 +        addis   reg, 0, glob at ha; \
@@ -1578,16 +1578,16 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +
 +        .globl  caml_call_gc
 +        .type   caml_call_gc, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_call_gc:
-+	.quad .L.caml_call_gc,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_call_gc,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_call_gc:
 +    /* Set up stack frame */
 +        mflr    0
-+	std	0, 16(1)
++       std     0, 16(1)
 +    /* Record return address into Caml code */
 +        Storeglobal(0, caml_last_return_address, 11)
 +    /* Record lowest stack address */
@@ -1659,13 +1659,13 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        stfdu   30, 8(11)
 +        stfdu   31, 8(11)
 +    /* Call the GC */
-+	std	2,40(1)
++       std     2,40(1)
 +        Addrglobal(11, caml_garbage_collection)
-+	ld	2,8(11)
-+	ld	11,0(11)
-+	mtlr	11
++       ld      2,8(11)
++       ld      11,0(11)
++       mtlr    11
 +        blrl
-+	ld	2,40(1)
++       ld      2,40(1)
 +    /* Reload new allocation pointer and allocation limit */
 +        Loadglobal(31, caml_young_ptr, 11)
 +        Loadglobal(30, caml_young_limit, 11)
@@ -1734,29 +1734,29 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        li      12, 0
 +        Storeglobal(12, caml_last_return_address, 11)
 +    /* Deallocate stack frame */
-+        ld	1, 0(1)
++        ld     1, 0(1)
 +    /* Return */
 +        blr
-+	.size .L.caml_call_gc,.-.L.caml_call_gc
-+	
++       .size .L.caml_call_gc,.-.L.caml_call_gc
++       
 +/* Call a C function from Caml */
 +
 +        .globl  caml_c_call
 +        .type   caml_c_call, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_c_call:
-+	.quad .L.caml_c_call,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_c_call,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_c_call:
-+	.cfi_startproc
++       .cfi_startproc
 +    /* Save return address */
 +        mflr    25
-+	.cfi_register lr,25
++       .cfi_register lr,25
 +    /* Get ready to call C function (address in 11) */
-+	ld	2, 8(11)
-+        ld	11,0(11)
++       ld      2, 8(11)
++        ld     11,0(11)
 +        mtlr    11
 +    /* Record lowest stack address and return address */
 +        Storeglobal(1, caml_bottom_of_stack, 12)
@@ -1777,18 +1777,18 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +    /* Return to caller */
 +        blr
 +        .cfi_endproc
-+	.size .L.caml_c_call,.-.L.caml_c_call
-+	
++       .size .L.caml_c_call,.-.L.caml_c_call
++       
 +/* Raise an exception from C */
 +
 +        .globl  caml_raise_exception
 +        .type   caml_raise_exception, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_raise_exception:
-+	.quad .L.caml_raise_exception,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_raise_exception,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_raise_exception:
 +    /* Reload Caml global registers */
 +        Loadglobal(29, caml_exception_pointer, 11)
@@ -1798,25 +1798,25 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        li      0, 0
 +        Storeglobal(0, caml_last_return_address, 11)
 +    /* Pop trap frame */
-+	ld	0, 8(29)
-+	ld	1, 16(29)
++       ld      0, 8(29)
++       ld      1, 16(29)
 +        mtlr    0
-+	ld	2, 24(29)
-+	ld	29, 0(29)
++       ld      2, 24(29)
++       ld      29, 0(29)
 +    /* Branch to handler */
 +        blr
-+	.size .L.caml_raise_exception,.-.L.caml_raise_exception
-+	
++       .size .L.caml_raise_exception,.-.L.caml_raise_exception
++       
 +/* Start the Caml program */
 +
 +        .globl  caml_start_program
 +        .type   caml_start_program, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_start_program:
-+	.quad .L.caml_start_program,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_start_program,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_start_program:
 +        Addrglobal(12, caml_program)
 +
@@ -1879,9 +1879,9 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +.L103:
 +        mflr    0
 +        addi    29, 1, 0x170 /* Alignment */
-+	std	0, 8(29)
-+	std	1, 16(29)
-+	std	2, 24(29)
++       std     0, 8(29)
++       std     1, 16(29)
++       std     2, 24(29)
 +        Loadglobal(11, caml_exception_pointer, 11)
 +        std     11, 0(29)
 +    /* Reload allocation pointers */
@@ -1891,15 +1891,15 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        li      0, 0
 +        Storeglobal(0, caml_last_return_address, 11)
 +    /* Call the Caml code */
-+	std	2,40(1)
-+	ld	2,8(12)
-+	ld	12,0(12)
++       std     2,40(1)
++       ld      2,8(12)
++       ld      12,0(12)
 +        mtlr    12
 +.L105:
 +        blrl
-+	ld	2,40(1)
++       ld      2,40(1)
 +    /* Pop the trap frame, restoring caml_exception_pointer */
-+        ld	9, 0x170(1)
++        ld     9, 0x170(1)
 +        Storeglobal(9, caml_exception_pointer, 11)
 +    /* Pop the callback link, restoring the global variables */
 +.L106:
@@ -1950,7 +1950,7 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        lfdu    30, 8(11)
 +        lfdu    31, 8(11)
 +    /* Return */
-+        ld	1,0(1)
++        ld     1,0(1)
 +    /* Reload return address */
 +        ld     0, 16(1)
 +        mtlr    0
@@ -1963,18 +1963,18 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +    /* Encode exception bucket as an exception result and return it */
 +        ori     3, 3, 2
 +        b       .L106
-+	.size .L.caml_start_program,.-.L.caml_start_program
-+	
++       .size .L.caml_start_program,.-.L.caml_start_program
++       
 +/* Callback from C to Caml */
 +
 +        .globl  caml_callback_exn
 +        .type   caml_callback_exn, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_callback_exn:
-+	.quad .L.caml_callback_exn,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_callback_exn,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_callback_exn:
 +    /* Initial shuffling of arguments */
 +        mr      0, 3            /* Closure */
@@ -1982,17 +1982,17 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        mr      4, 0
 +        ld     12, 0(4)        /* Code pointer */
 +        b       .L102
-+	.size .L.caml_callback_exn,.-.L.caml_callback_exn
++       .size .L.caml_callback_exn,.-.L.caml_callback_exn
 +
-+	
++       
 +        .globl  caml_callback2_exn
 +        .type   caml_callback2_exn, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_callback2_exn:
-+	.quad .L.caml_callback2_exn,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_callback2_exn,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_callback2_exn:
 +        mr      0, 3            /* Closure */
 +        mr      3, 4            /* First argument */
@@ -2000,17 +2000,17 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        mr      5, 0
 +        Addrglobal(12, caml_apply2)
 +        b       .L102
-+	.size .L.caml_callback2_exn,.-.L.caml_callback2_exn
++       .size .L.caml_callback2_exn,.-.L.caml_callback2_exn
 +
-+	
++       
 +        .globl  caml_callback3_exn
 +        .type   caml_callback3_exn, @function
-+	.section ".opd","aw"
-+	.align 3	
++       .section ".opd","aw"
++       .align 3        
 +caml_callback3_exn:
-+	.quad .L.caml_callback3_exn,.TOC. at tocbase
-+	.previous
-+	.align 2
++       .quad .L.caml_callback3_exn,.TOC. at tocbase
++       .previous
++       .align 2
 +.L.caml_callback3_exn:
 +        mr      0, 3            /* Closure */
 +        mr      3, 4            /* First argument */
@@ -2019,8 +2019,8 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        mr      6, 0
 +        Addrglobal(12, caml_apply3)
 +        b       .L102
-+	.size .L.caml_callback3_exn,.-.L.caml_callback3_exn
-+	
++       .size .L.caml_callback3_exn,.-.L.caml_callback3_exn
++       
 +/* Frame table */
 +
 +        .section ".data"
@@ -2034,8 +2034,8 @@ diff -uNr ocaml-3.10.1/asmrun/power64-elf.S ocaml-3.10.1.ppc64/asmrun/power64-el
 +        .align  3
 +
 diff -uNr ocaml-3.10.1/asmrun/stack.h ocaml-3.10.1.ppc64/asmrun/stack.h
---- ocaml-3.10.1/asmrun/stack.h	2007-02-15 13:35:20.000000000 -0500
-+++ ocaml-3.10.1.ppc64/asmrun/stack.h	2008-02-29 08:37:45.000000000 -0500
+--- ocaml-3.10.1/asmrun/stack.h 2007-02-15 13:35:20.000000000 -0500
++++ ocaml-3.10.1.ppc64/asmrun/stack.h   2008-02-29 08:37:45.000000000 -0500
 @@ -65,6 +65,15 @@
  #define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size))
  #endif
@@ -2053,8 +2053,8 @@ diff -uNr ocaml-3.10.1/asmrun/stack.h ocaml-3.10.1.ppc64/asmrun/stack.h
  #define Saved_return_address(sp) *((intnat *)((sp) - 4))
  #define Callback_link(sp) ((struct caml_context *)((sp) + 8))
 diff -uNr ocaml-3.11.0+beta1/configure ocaml-3.11.0+beta1.ppc64/configure
---- ocaml-3.11.0+beta1/configure.ppc64	2008-11-18 15:46:57.000000000 +0000
-+++ ocaml-3.11.0+beta1/configure	2008-11-18 15:49:19.000000000 +0000
+--- ocaml-3.11.0+beta1/configure.ppc64  2008-11-18 15:46:57.000000000 +0000
++++ ocaml-3.11.0+beta1/configure        2008-11-18 15:49:19.000000000 +0000
 @@ -632,6 +632,7 @@
    hppa2.0*-*-hpux*)             arch=hppa; system=hpux;;
    hppa*-*-linux*)               arch=hppa; system=linux;;
@@ -2077,7 +2077,7 @@ diff -uNr ocaml-3.11.0+beta1/configure ocaml-3.11.0+beta1.ppc64/configure
    power,*,elf)      as='as -u -m ppc'
                      aspp='gcc -c';;
 +  power64,*,elf)    as='as -u -m ppc64'
-+		    aspp='gcc -c';;
++                   aspp='gcc -c';;
    power,*,bsd)      as='as'
                      aspp='gcc -c';;
    power,*,rhapsody) as="as -arch $model"
diff --git a/sources b/sources
index f89eb5c..6fa5ccc 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
 869ba6758a773c4218461f14f6ebcb4e  cmigrep-1.5.tar.bz2
-121dd62a03bbb1dfb3fb56e3a4bda874  ocaml-3.11.2+rc1.tar.bz2
+814a047085f0f901ab7d8e3a4b7a9e65  ocaml-3.12.1.tar.gz


More information about the scm-commits mailing list