summaryrefslogtreecommitdiff
path: root/lang/ocaml/patches/patch-ah
diff options
context:
space:
mode:
authorjtb <jtb>2003-06-29 23:04:18 +0000
committerjtb <jtb>2003-06-29 23:04:18 +0000
commit4118f60b89f38ecaef4097d3d1ad55b7a375bd86 (patch)
tree75bfebb7e5fc05261cb15ebe4948e9ca75873d1b /lang/ocaml/patches/patch-ah
parent4a2442949f536949fb4971009e6dc7f6c561c63e (diff)
downloadpkgsrc-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-ah83
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