diff options
author | adrianp <adrianp@pkgsrc.org> | 2005-02-04 21:35:51 +0000 |
---|---|---|
committer | adrianp <adrianp@pkgsrc.org> | 2005-02-04 21:35:51 +0000 |
commit | da24824e10d5d8ce298c917c33bfb80d10df7897 (patch) | |
tree | d06c5d02c1be3e73fa85ace5be9ada5ca7a1238c /lang/ocaml/patches/patch-ac | |
parent | 94c8ce7c690de2758a4f789ca3f7b7f38ebf02cf (diff) | |
download | pkgsrc-da24824e10d5d8ce298c917c33bfb80d10df7897.tar.gz |
- Update from 3.06 to 3.08.2
- Lots of changes/bugfixes - see Changes for all the details
Diffstat (limited to 'lang/ocaml/patches/patch-ac')
-rw-r--r-- | lang/ocaml/patches/patch-ac | 125 |
1 files changed, 21 insertions, 104 deletions
diff --git a/lang/ocaml/patches/patch-ac b/lang/ocaml/patches/patch-ac index 071e6c27e16..24fbeacf619 100644 --- a/lang/ocaml/patches/patch-ac +++ b/lang/ocaml/patches/patch-ac @@ -1,69 +1,8 @@ -$NetBSD: patch-ac,v 1.3 2004/04/22 09:18:36 tron Exp $ +$NetBSD: patch-ac,v 1.4 2005/02/04 21:35:51 adrianp Exp $ ---- asmcomp/power/emit.mlp.orig Mon Jul 22 18:37:53 2002 -+++ asmcomp/power/emit.mlp Thu Apr 22 10:34:38 2004 -@@ -65,7 +65,7 @@ - - let emit_symbol = - match Config.system with -- "aix" | "elf" -> (fun s -> Emitaux.emit_symbol '.' s) -+ "aix" | "elf" | "bsd" -> (fun s -> Emitaux.emit_symbol '.' s) - | "rhapsody" -> (fun s -> emit_char '_'; Emitaux.emit_symbol '$' s) - | _ -> assert false - -@@ -78,7 +78,7 @@ - let label_prefix = - match Config.system with - "aix" -> "L.." -- | "elf" -> ".L" -+ | "elf" | "bsd" -> ".L" - | "rhapsody" -> "L" - | _ -> assert false - -@@ -90,21 +90,21 @@ - let data_space = - match Config.system with - "aix" -> " .csect .data[RW]\n" -- | "elf" -> " .section \".data\"\n" -+ | "elf" | "bsd" -> " .section \".data\"\n" - | "rhapsody" -> " .data\n" - | _ -> assert false - - let code_space = - match Config.system with - "aix" -> " .csect .text[PR]\n" -- | "elf" -> " .section \".text\"\n" -+ | "elf" | "bsd" -> " .section \".text\"\n" - | "rhapsody" -> " .text\n" - | _ -> assert false - - let rodata_space = - match Config.system with - "aix" -> " .csect .data[RW]\n" (* ?? *) -- | "elf" -> " .section \".rodata\"\n" -+ | "elf" | "bsd" -> " .section \".rodata\"\n" - | "rhapsody" -> " .const\n" - | _ -> assert false - -@@ -157,7 +157,7 @@ - - let emit_upper emit_fun arg = - match Config.system with -- "elf" -> -+ "elf" | "bsd" -> - emit_fun arg; emit_string "@ha" - | "rhapsody" -> - emit_string "ha16("; emit_fun arg; emit_string ")" -@@ -165,7 +165,7 @@ - - let emit_lower emit_fun arg = - match Config.system with -- "elf" -> -+ "elf" | "bsd" -> - emit_fun arg; emit_string "@l" - | "rhapsody" -> - emit_string "lo16("; emit_fun arg; emit_string ")" -@@ -935,6 +935,30 @@ +--- asmcomp/power/emit.mlp.orig 2004-10-14 15:39:35.000000000 +0100 ++++ asmcomp/power/emit.mlp 2004-10-14 15:41:11.000000000 +0100 +@@ -793,6 +793,30 @@ emit_instr i None; emit_all i.next @@ -72,47 +11,25 @@ $NetBSD: patch-ac,v 1.3 2004/04/22 09:18:36 tron Exp $ +let emit_profile () = + match Config.system with + "bsd" -> -+ ` stwu 1, -32(1)\n`; -+ ` mflr 0\n`; -+ ` stw 0, 4(1)\n`; -+ ` stw 2, 8(1)\n`; -+ ` stw 3, 12(1)\n`; -+ ` stw 4, 16(1)\n`; -+ ` stw 5, 20(1)\n`; -+ ` stw 6, 24(1)\n`; -+ ` stw 7, 28(1)\n`; -+ ` bl {emit_symbol "_mcount"}\n`; -+ ` lwz 2, 8(1)\n`; -+ ` lwz 3, 12(1)\n`; -+ ` lwz 4, 16(1)\n`; -+ ` lwz 5, 20(1)\n`; -+ ` lwz 6, 24(1)\n`; -+ ` lwz 7, 28(1)\n`; -+ ` addic 1, 1, 32\n`; ++ ` stwu 1, -32(1)\n`; ++ ` mflr 0\n`; ++ ` stw 0, 4(1)\n`; ++ ` stw 2, 8(1)\n`; ++ ` stw 3, 12(1)\n`; ++ ` stw 4, 16(1)\n`; ++ ` stw 5, 20(1)\n`; ++ ` stw 6, 24(1)\n`; ++ ` stw 7, 28(1)\n`; ++ ` bl {emit_symbol "_mcount"}\n`; ++ ` lwz 2, 8(1)\n`; ++ ` lwz 3, 12(1)\n`; ++ ` lwz 4, 16(1)\n`; ++ ` lwz 5, 20(1)\n`; ++ ` lwz 6, 24(1)\n`; ++ ` lwz 7, 28(1)\n`; ++ ` addic 1, 1, 32\n`; + | _ -> () (*unsupported yet*) + (* Emission of a function declaration *) let fundecl fundecl = -@@ -951,10 +975,11 @@ - ` .csect {emit_symbol fundecl.fun_name}[DS]\n`; - `{emit_symbol fundecl.fun_name}:\n`; - ` .long .{emit_symbol fundecl.fun_name}, TOC[tc0], 0\n` -- | "elf" -> -+ | "elf" | "bsd" -> - ` .type {emit_symbol fundecl.fun_name}, @function\n` - | _ -> () - end; -+ if !Clflags.gprofile then emit_profile(); - emit_string code_space; - ` .align 2\n`; - `{emit_codesymbol fundecl.fun_name}:\n`; -@@ -996,7 +1021,7 @@ - - let declare_global_data s = - ` .globl {emit_symbol s}\n`; -- if Config.system = "elf" then -+ if Config.system = "elf" || Config.system = "bsd" then - ` .type {emit_symbol s}, @object\n` - - let emit_item = function |