* Create directories in /usr/local/lib with proper permissions in
ocaml-base-nox's postinst, and remove them if empty in prerm
- (Closes: #270925)
+ (Closes: #270925).
+ * Add patch from upstream bugfix branch by Xavier Leroy to fix code
+ generation on amd64 (reported by John Skaller).
- -- Julien Cristau <julien.cristau@ens-lyon.org> Sat, 16 Apr 2005 14:22:32 +0200
+ -- Julien Cristau <julien.cristau@ens-lyon.org> Tue, 14 Jun 2005 03:17:55 +0200
ocaml (3.08.3-3) unstable; urgency=medium
--- /dev/null
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## asmcomp_amd64_emit.mlp.dpatch by <julien.cristau@ens-lyon.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Upstream fix for code generation bug on amd64 (PR#3640)
+
+@DPATCH@
+diff -urNad ocaml-3.08.3/asmcomp/amd64/emit.mlp /tmp/dpep.7xGPae/ocaml-3.08.3/asmcomp/amd64/emit.mlp
+--- ocaml-3.08.3/asmcomp/amd64/emit.mlp 2004-07-01 18:09:03.000000000 +0200
++++ /tmp/dpep.7xGPae/ocaml-3.08.3/asmcomp/amd64/emit.mlp 2005-06-14 03:08:25.481518269 +0200
+@@ -10,7 +10,7 @@
+ (* *)
+ (***********************************************************************)
+
+-(* $Id: emit.mlp,v 1.6.6.1 2004/07/01 16:09:03 xleroy Exp $ *)
++(* $Id: emit.mlp,v 1.6.6.2 2005/06/12 13:35:56 xleroy Exp $ *)
+
+ (* Emission of Intel 386 assembly code *)
+
+@@ -35,8 +35,12 @@
+ !contains_calls || num_stack_slots.(0) > 0 || num_stack_slots.(1) > 0
+
+ let frame_size () = (* includes return address *)
+- let sz = (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8)
++ if frame_required() then begin
++ let sz =
++ (!stack_offset + 8 * (num_stack_slots.(0) + num_stack_slots.(1)) + 8)
+ in Misc.align sz 16
++ end else
++ !stack_offset + 8
+
+ let slot_offset loc cl =
+ match loc with