Add patch to fix ocamlopt w.r.t. binutils 2.21 (Closes: #617404)
authorStephane Glondu <steph@glondu.net>
Tue, 8 Mar 2011 20:32:22 +0000 (21:32 +0100)
committerStephane Glondu <steph@glondu.net>
Tue, 8 Mar 2011 20:32:22 +0000 (21:32 +0100)
debian/patches/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch b/debian/patches/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch
new file mode 100644 (file)
index 0000000..48a9870
--- /dev/null
@@ -0,0 +1,65 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 8 Mar 2011 21:17:40 +0100
+Subject: [PATCH] Fix ocamlopt w.r.t. binutils 2.21
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Bug: http://caml.inria.fr/mantis/view.php?id=5237
+Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=617404
+Authors: Eric Cooper, spiralvoice
+Reviewed-by: Stéphane Glondu <steph@glondu.net>
+---
+ asmcomp/amd64/emit.mlp |   13 +++++++------
+ asmcomp/i386/emit.mlp  |    4 ++--
+ 2 files changed, 9 insertions(+), 8 deletions(-)
+
+diff --git a/asmcomp/amd64/emit.mlp b/asmcomp/amd64/emit.mlp
+index 4a3f844..525c6e6 100644
+--- a/asmcomp/amd64/emit.mlp
++++ b/asmcomp/amd64/emit.mlp
+@@ -679,17 +679,18 @@ let fundecl fundecl =
+   emit_all true fundecl.fun_body;
+   List.iter emit_call_gc !call_gc_sites;
+   emit_call_bound_errors ();
++  begin match Config.system with
++    "linux" | "gnu" ->
++      `       .type   {emit_symbol fundecl.fun_name},@function\n`;
++      `       .size   {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
++    | _ -> ()
++  end;
+   if !float_constants <> [] then begin
+     if macosx
+     then `    .literal8\n`
+     else `    .section        .rodata.cst8,\"a\",@progbits\n`;
+     List.iter emit_float_constant !float_constants
+-  end;
+-  match Config.system with
+-    "linux" | "gnu" ->
+-      `       .type   {emit_symbol fundecl.fun_name},@function\n`;
+-      `       .size   {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
+-  | _ -> ()
++  end
+ (* Emission of data *)
+diff --git a/asmcomp/i386/emit.mlp b/asmcomp/i386/emit.mlp
+index 2992f29..cb3bf82 100644
+--- a/asmcomp/i386/emit.mlp
++++ b/asmcomp/i386/emit.mlp
+@@ -905,12 +905,12 @@ let fundecl fundecl =
+   emit_all true fundecl.fun_body;
+   List.iter emit_call_gc !call_gc_sites;
+   emit_call_bound_errors ();
+-  List.iter emit_float_constant !float_constants;
+   match Config.system with
+     "linux_elf" | "bsd_elf" | "gnu" ->
+       `       .type   {emit_symbol fundecl.fun_name},@function\n`;
+       `       .size   {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
+-  | _ -> ()
++  | _ -> ();
++  List.iter emit_float_constant !float_constants
+ (* Emission of data *)
+-- 
index e66568a4fbbf4f3d8c45241eccab9c6ad1412a66..e83eb6886e4afe266f98ef981971ed96de77e1f5 100644 (file)
@@ -4,3 +4,4 @@
 0004-Put-manpages-in-section-3o-instead-of-3.patch
 0005-Patch-config.sh-for-installation.patch
 0006-Install-ocamlbuild-as-a-link-on-either-.native-or-.b.patch
+0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch