[ocaml/f15/master] Fix for invalid assembler generation (RHBZ#691896). (cherry picked from commit 170eee21d4741e475b107
Richard W.M. Jones
rjones at fedoraproject.org
Wed Mar 30 12:58:38 UTC 2011
commit 0a27d80f5030f2f1a6f84b5644a971795b5dd24f
Author: Richard W.M. Jones <rjones at redhat.com>
Date: Wed Mar 30 13:41:38 2011 +0100
Fix for invalid assembler generation (RHBZ#691896).
(cherry picked from commit 170eee21d4741e475b107b6eeedd975af68d189d)
0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch | 66 ++++++++++++++++++++++++++
ocaml.spec | 9 +++-
2 files changed, 74 insertions(+), 1 deletions(-)
---
diff --git a/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch b/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch
new file mode 100644
index 0000000..fa7664c
--- /dev/null
+++ b/0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch
@@ -0,0 +1,66 @@
+From: Stephane Glondu <steph at 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 at glondu.net>
+---
+ asmcomp/amd64/emit.mlp | 13 +++++++------
+ asmcomp/i386/emit.mlp | 6 +++---
+ 2 files changed, 10 insertions(+), 9 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}, at 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\", at progbits\n`;
+ List.iter emit_float_constant !float_constants
+- end;
+- match Config.system with
+- "linux" | "gnu" ->
+- ` .type {emit_symbol fundecl.fun_name}, at 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..0b1252c 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
++ begin match Config.system with
+ "linux_elf" | "bsd_elf" | "gnu" ->
+ ` .type {emit_symbol fundecl.fun_name}, at function\n`;
+ ` .size {emit_symbol fundecl.fun_name},.-{emit_symbol fundecl.fun_name}\n`
+- | _ -> ()
++ | _ -> () end;
++ List.iter emit_float_constant !float_constants
+
+
+ (* Emission of data *)
+--
diff --git a/ocaml.spec b/ocaml.spec
index fc2cc25..32eab2b 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -2,7 +2,7 @@
Name: ocaml
Version: 3.12.0
-Release: 4%{?dist}
+Release: 5%{?dist}
Summary: Objective Caml compiler and programming environment
@@ -24,6 +24,9 @@ Source6: ocamlbyteinfo.ml
Patch0: ocaml-3.12.0-rpath.patch
Patch1: ocaml-user-cflags.patch
+# Fix for RHBZ#691896. This is upstream in 3.12.1.
+Patch2: 0007-Fix-ocamlopt-w.r.t.-binutils-2.21.patch
+
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
# Depend on previous version of OCaml so that ocamlobjinfo
@@ -200,6 +203,7 @@ man pages and info files.
%setup -q -T -D -a 3 -n %{name}-%{version}
%patch0 -p1 -b .rpath
%patch1 -p1 -b .cflags
+%patch2 -p1 -b .rhbz691896
cp %{SOURCE2} refman.pdf
@@ -442,6 +446,9 @@ fi
%changelog
+* Wed Mar 30 2011 Richard W.M. Jones <rjones at redhat.com> - 3.12.0-5
+- Fix for invalid assembler generation (RHBZ#691896).
+
* Tue Feb 08 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.12.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
More information about the scm-commits
mailing list