diff options
author | jtb <jtb> | 2003-06-29 23:04:18 +0000 |
---|---|---|
committer | jtb <jtb> | 2003-06-29 23:04:18 +0000 |
commit | 4118f60b89f38ecaef4097d3d1ad55b7a375bd86 (patch) | |
tree | 75bfebb7e5fc05261cb15ebe4948e9ca75873d1b /lang/ocaml/patches/patch-ah | |
parent | 4a2442949f536949fb4971009e6dc7f6c561c63e (diff) | |
download | pkgsrc-4118f60b89f38ecaef4097d3d1ad55b7a375bd86.tar.gz |
* Use ".L" instead of "L" as label prefix on sparc
* For consistency use SYS_bsd for system type
on powerpc. We differ from SYS_elf (presumably Linux) on
a few points here anyway.
* Fix signal handling on powerpc which caused a
seg fault when compiling native code version of coq.
* Install ocamllex.opt, camlp4o.opt and camlp4r.opt too.
Diffstat (limited to 'lang/ocaml/patches/patch-ah')
-rw-r--r-- | lang/ocaml/patches/patch-ah | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/lang/ocaml/patches/patch-ah b/lang/ocaml/patches/patch-ah new file mode 100644 index 00000000000..bd94f03d8cf --- /dev/null +++ b/lang/ocaml/patches/patch-ah @@ -0,0 +1,83 @@ +$NetBSD: patch-ah,v 1.1 2003/06/29 23:04:19 jtb Exp $ + +--- asmcomp/power/emit.mlp.orig ++++ asmcomp/power/emit.mlp +@@ -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 ")" +@@ -951,7 +951,7 @@ + ` .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; +@@ -996,7 +996,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 |