Hello community,
here is the log from the commit of package ocaml for openSUSE:12.2 checked in at 2012-06-29 10:21:12
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2/ocaml (Old)
and /work/SRC/openSUSE:12.2/.ocaml.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "ocaml", Maintainer is "DLovasko(a)suse.com"
Changes:
--------
--- /work/SRC/openSUSE:12.2/ocaml/ocaml.changes 2012-06-25 15:47:22.000000000 +0200
+++ /work/SRC/openSUSE:12.2/.ocaml.new/ocaml.changes 2012-06-29 11:21:15.000000000 +0200
@@ -1,0 +2,7 @@
+Wed Jun 27 10:51:13 UTC 2012 - dvaleev(a)suse.com
+
+- refresh ppc64 patch
+- Link dllthreads.so with -lpthread so that pthread_atfork
+ is included statically.
+
+-------------------------------------------------------------------
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ ocaml.spec ++++++
--- /var/tmp/diff_new_pack.AJvZzB/_old 2012-06-29 11:21:16.000000000 +0200
+++ /var/tmp/diff_new_pack.AJvZzB/_new 2012-06-29 11:21:16.000000000 +0200
@@ -271,7 +271,7 @@
%patch6
%patch7
%patch8
-%patch9
+%patch9 -p1
%patch10 -p1
find -name ".cvsignore" | xargs -r rm -f
++++++ ocaml-3.09-rpmoptflags.patch ++++++
--- /var/tmp/diff_new_pack.AJvZzB/_old 2012-06-29 11:21:16.000000000 +0200
+++ /var/tmp/diff_new_pack.AJvZzB/_new 2012-06-29 11:21:16.000000000 +0200
@@ -57,8 +57,12 @@
===================================================================
--- otherlibs/systhreads/Makefile.orig
+++ otherlibs/systhreads/Makefile
-@@ -33,7 +33,7 @@ libthreads.a: $(BYTECODE_C_OBJS)
- $(MKLIB) -o threads $(BYTECODE_C_OBJS)
+@@ -30,10 +30,10 @@
+ allopt: libthreadsnat.a threads.cmxa
+
+ libthreads.a: $(BYTECODE_C_OBJS)
+- $(MKLIB) -o threads $(BYTECODE_C_OBJS)
++ $(MKLIB) -o threads $(BYTECODE_C_OBJS) -lpthread
st_stubs_b.o: st_stubs.c st_posix.h
- $(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
@@ -66,7 +70,7 @@
-c st_stubs.c
mv st_stubs.o st_stubs_b.o
-@@ -43,7 +43,7 @@ libthreadsnat.a: $(NATIVECODE_C_OBJS)
+@@ -43,7 +43,7 @@
$(AR) rc libthreadsnat.a $(NATIVECODE_C_OBJS)
st_stubs_n.o: st_stubs.c st_posix.h
++++++ ocaml-ppc64.patch ++++++
--- /var/tmp/diff_new_pack.AJvZzB/_old 2012-06-29 11:21:16.000000000 +0200
+++ /var/tmp/diff_new_pack.AJvZzB/_new 2012-06-29 11:21:16.000000000 +0200
@@ -1,7 +1,48 @@
-diff -uNr asmcomp.orig/power64/arch.ml asmcomp/power64/arch.ml
---- asmcomp.orig/power64/arch.ml 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/arch.ml 2008-02-29 08:37:45.000000000 -0500
-@@ -0,0 +1,84 @@
+From b25707437651811a22acaab5a9461eb4ab742f6e Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones(a)redhat.com>
+Date: Tue, 29 May 2012 20:47:07 +0100
+Subject: [PATCH 6/8] Add support for ppc64.
+
+Note (1): This patch was rejected upstream because they don't have
+appropriate hardware for testing.
+
+Note (2): Upstream powerpc directory has some support for ppc64, but
+only for Macs, and I couldn't get it to work at all with IBM hardware.
+
+This patch was collaborated on by several people, most notably
+David Woodhouse.
+
+Includes fix for position of stack arguments to external C functions
+when there are more than 8 parameters (RHBZ#829187).
+
+Includes fix for minor heap corruption because of unaligned minor heap
+register (RHBZ#826649).
+---
+ asmcomp/power64/arch.ml | 83 ++++
+ asmcomp/power64/emit.mlp | 989 +++++++++++++++++++++++++++++++++++++++++
+ asmcomp/power64/proc.ml | 241 ++++++++++
+ asmcomp/power64/reload.ml | 18 +
+ asmcomp/power64/scheduling.ml | 65 +++
+ asmcomp/power64/selection.ml | 103 +++++
+ asmrun/Makefile | 6 +
+ asmrun/power64-elf.S | 486 ++++++++++++++++++++
+ asmrun/stack.h | 9 +
+ configure | 5 +-
+ 10 files changed, 2004 insertions(+), 1 deletion(-)
+ create mode 100644 asmcomp/power64/arch.ml
+ create mode 100644 asmcomp/power64/emit.mlp
+ create mode 100644 asmcomp/power64/proc.ml
+ create mode 100644 asmcomp/power64/reload.ml
+ create mode 100644 asmcomp/power64/scheduling.ml
+ create mode 100644 asmcomp/power64/selection.ml
+ create mode 100644 asmrun/power64-elf.S
+
+diff --git a/asmcomp/power64/arch.ml b/asmcomp/power64/arch.ml
+new file mode 100644
+index 0000000..55dd593
+--- /dev/null
++++ b/asmcomp/power64/arch.ml
+@@ -0,0 +1,83 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
@@ -14,7 +55,7 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: arch.ml 9547 2010-01-22 12:48:24Z doligez $ *)
+
+(* Specific operations for the PowerPC processor *)
+
@@ -44,7 +85,7 @@
+let big_endian = true
+
+let size_addr = 8
-+let size_int = 8
++let size_int = size_addr
+let size_float = 8
+
+(* Operations on addressing modes *)
@@ -85,10 +126,11 @@
+ printreg arg.(0) printreg arg.(1) printreg arg.(2)
+ | Ialloc_far n ->
+ fprintf ppf "alloc_far %d" n
-+
-diff -uNr asmcomp.orig/power64/emit.mlp asmcomp/power64/emit.mlp
---- asmcomp.orig/power64/emit.mlp 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/emit.mlp 2008-02-29 08:37:45.000000000 -0500
+diff --git a/asmcomp/power64/emit.mlp b/asmcomp/power64/emit.mlp
+new file mode 100644
+index 0000000..42f585d
+--- /dev/null
++++ b/asmcomp/power64/emit.mlp
@@ -0,0 +1,989 @@
+(***********************************************************************)
+(* *)
@@ -102,7 +144,7 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: emit.mlp 9547 2010-01-22 12:48:24Z doligez $ *)
+
+(* Emission of PowerPC assembly code *)
+
@@ -699,7 +741,7 @@
+ ` bge {emit_label lbl}\n`;
+ record_frame i.live;
+ ` bl {emit_label !call_gc_label}\n`; (* Must be 4 insns to restart *)
-+ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, 4\n`
++ `{emit_label lbl}: addi {emit_reg i.res.(0)}, {emit_gpr 31}, {emit_int size_addr}\n`
+ | Lop(Iintop Isub) -> (* subfc has swapped arguments *)
+ ` subfc {emit_reg i.res.(0)}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`
+ | Lop(Iintop Imod) ->
@@ -1079,10 +1121,12 @@
+ ` .quad {emit_int (List.length !frame_descriptors)}\n`;
+ List.iter emit_frame !frame_descriptors;
+ frame_descriptors := []
-diff -uNr asmcomp.orig/power64/proc.ml asmcomp/power64/proc.ml
---- asmcomp.orig/power64/proc.ml 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/proc.ml 2008-02-29 08:37:45.000000000 -0500
-@@ -0,0 +1,245 @@
+diff --git a/asmcomp/power64/proc.ml b/asmcomp/power64/proc.ml
+new file mode 100644
+index 0000000..119ad93
+--- /dev/null
++++ b/asmcomp/power64/proc.ml
+@@ -0,0 +1,241 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
@@ -1095,7 +1139,7 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: proc.ml 9547 2010-01-22 12:48:24Z doligez $ *)
+
+(* Description of the Power PC *)
+
@@ -1203,7 +1247,7 @@
+ end else begin
+ loc.(i) <- stack_slot (make_stack !ofs) ty;
+ end;
-+ ofs := !ofs + 8
++ ofs := !ofs + size_int
+ | Float ->
+ if !float <= last_float then begin
+ loc.(i) <- phys_reg !float;
@@ -1211,7 +1255,7 @@
+ end else begin
+ loc.(i) <- stack_slot (make_stack !ofs) Float;
+ end;
-+ ofs := !ofs + 8
++ ofs := !ofs + size_float
+ done;
+ (loc, Misc.align !ofs 16)
+ (* Keep stack 16-aligned. *)
@@ -1247,7 +1291,7 @@
+ let loc = Array.create (Array.length arg) Reg.dummy in
+ let int = ref first_int in
+ let float = ref first_float in
-+ let ofs = ref 112 in
++ let ofs = ref (14 * size_addr) in
+ for i = 0 to Array.length arg - 1 do
+ match arg.(i).typ with
+ Int | Addr as ty ->
@@ -1273,7 +1317,7 @@
+let loc_external_arguments =
+ match Config.system with
+ | "rhapsody" -> poweropen_external_conventions 0 7 100 112
-+ | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 8
++ | "elf" | "bsd" -> calling_conventions 0 7 100 107 outgoing 48
+ | _ -> assert false
+
+let extcall_use_push = false
@@ -1319,18 +1363,16 @@
+(* Calling the assembler *)
+
+let assemble_file infile outfile =
-+ let infile = Filename.quote infile
-+ and outfile = Filename.quote outfile in
-+ match Config.system with
-+ | "elf" ->
-+ Ccomp.command ("as -u -m ppc64 -o " ^ outfile ^ " " ^ infile)
-+ | _ -> assert false
++ Ccomp.command (Config.asm ^ " -o " ^
++ Filename.quote outfile ^ " " ^ Filename.quote infile)
+
+open Clflags;;
+open Config;;
-diff -uNr asmcomp.orig/power64/reload.ml asmcomp/power64/reload.ml
---- asmcomp.orig/power64/reload.ml 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/reload.ml 2008-02-29 08:37:45.000000000 -0500
+diff --git a/asmcomp/power64/reload.ml b/asmcomp/power64/reload.ml
+new file mode 100644
+index 0000000..abcac6c
+--- /dev/null
++++ b/asmcomp/power64/reload.ml
@@ -0,0 +1,18 @@
+(***********************************************************************)
+(* *)
@@ -1344,16 +1386,18 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: reload.ml 2553 1999-11-17 18:59:06Z xleroy $ *)
+
+(* Reloading for the PowerPC *)
+
+let fundecl f =
+ (new Reloadgen.reload_generic)#fundecl f
-diff -uNr asmcomp.orig/power64/scheduling.ml asmcomp/power64/scheduling.ml
---- asmcomp.orig/power64/scheduling.ml 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/scheduling.ml 2008-02-29 08:37:45.000000000 -0500
-@@ -0,0 +1,66 @@
+diff --git a/asmcomp/power64/scheduling.ml b/asmcomp/power64/scheduling.ml
+new file mode 100644
+index 0000000..b7bba9b
+--- /dev/null
++++ b/asmcomp/power64/scheduling.ml
+@@ -0,0 +1,65 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
@@ -1366,7 +1410,7 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: scheduling.ml 9547 2010-01-22 12:48:24Z doligez $ *)
+
+(* Instruction scheduling for the Power PC *)
+
@@ -1419,10 +1463,11 @@
+end
+
+let fundecl f = (new scheduler)#schedule_fundecl f
-+
-diff -uNr asmcomp.orig/power64/selection.ml asmcomp/power64/selection.ml
---- asmcomp.orig/power64/selection.ml 1969-12-31 19:00:00.000000000 -0500
-+++ asmcomp/power64/selection.ml 2008-02-29 08:37:45.000000000 -0500
+diff --git a/asmcomp/power64/selection.ml b/asmcomp/power64/selection.ml
+new file mode 100644
+index 0000000..7b8e2a4
+--- /dev/null
++++ b/asmcomp/power64/selection.ml
@@ -0,0 +1,103 @@
+(***********************************************************************)
+(* *)
@@ -1436,7 +1481,7 @@
+(* *)
+(***********************************************************************)
+
-+(* $Id: ocaml-3.11.0-ppc64.patch,v 1.1 2008/11/20 15:30:55 rjones Exp $ *)
++(* $Id: selection.ml 10296 2010-04-22 12:51:06Z xleroy $ *)
+
+(* Instruction selection for the Power PC processor *)
+
@@ -1489,7 +1534,7 @@
+ then (Iindexed2, Ctuple[e1; e2])
+ else (Iindexed d, Cop(Cadda, [e1; e2]))
+
-+method select_operation op args =
++method! select_operation op args =
+ match (op, args) with
+ (* Prevent the recognition of (x / cst) and (x % cst) when cst is not
+ a power of 2, which do not correspond to an instruction. *)
@@ -1527,9 +1572,28 @@
+end
+
+let fundecl f = (new selector)#emit_fundecl f
-diff -uNr asmrun.orig/power64-elf.S asmrun/power64-elf.S
---- asmrun.orig/power64-elf.S 1969-12-31 19:00:00.000000000 -0500
-+++ asmrun/power64-elf.S 2008-02-29 08:37:45.000000000 -0500
+diff --git a/asmrun/Makefile b/asmrun/Makefile
+index efffa33..3525b82 100644
+--- a/asmrun/Makefile
++++ b/asmrun/Makefile
+@@ -74,6 +74,12 @@ power.o: power-$(SYSTEM).o
+ power.p.o: power-$(SYSTEM).o
+ cp power-$(SYSTEM).o power.p.o
+
++power64.o: power64-$(SYSTEM).o
++ cp power64-$(SYSTEM).o power64.o
++
++power64.p.o: power64-$(SYSTEM).o
++ cp power64-$(SYSTEM).o power64.p.o
++
+ main.c: ../byterun/main.c
+ ln -s ../byterun/main.c main.c
+ misc.c: ../byterun/misc.c
+diff --git a/asmrun/power64-elf.S b/asmrun/power64-elf.S
+new file mode 100644
+index 0000000..b2c24d6
+--- /dev/null
++++ b/asmrun/power64-elf.S
@@ -0,0 +1,486 @@
+/*********************************************************************/
+/* */
@@ -2017,8 +2081,10 @@
+ .short 0 /* no roots here */
+ .align 3
+
---- asmrun/stack.h.orig 2011-11-08 12:13:47.000000000 +0100
-+++ asmrun/stack.h 2011-11-08 12:14:32.000000000 +0100
+diff --git a/asmrun/stack.h b/asmrun/stack.h
+index c778873..f1d2e6a 100644
+--- a/asmrun/stack.h
++++ b/asmrun/stack.h
@@ -65,6 +65,15 @@
#define Callback_link(sp) ((struct caml_context *)((sp) + Trap_frame_size))
#endif
@@ -2035,9 +2101,11 @@
#ifdef TARGET_m68k
#define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8))
---- configure.orig 2011-11-08 12:15:11.000000000 +0100
-+++ configure 2011-11-08 12:16:17.000000000 +0100
-@@ -685,6 +685,7 @@
+diff --git a/configure b/configure
+index d0a6b0f..6ed0a9c 100755
+--- a/configure
++++ b/configure
+@@ -685,6 +685,7 @@ case "$host" in
hppa2.0*-*-hpux*) arch=hppa; system=hpux;;
hppa*-*-linux*) arch=hppa; system=linux;;
hppa*-*-gnu*) arch=hppa; system=gnu;;
@@ -2045,7 +2113,7 @@
powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-rhapsody*) arch=power; model=ppc; system=rhapsody;;
-@@ -709,7 +710,7 @@
+@@ -709,7 +710,7 @@ esac
if $arch64; then
case "$arch,$model" in
@@ -2054,7 +2122,7 @@
arch=none; model=default; system=unknown;;
esac
fi
-@@ -772,6 +773,8 @@
+@@ -772,6 +773,8 @@ case "$arch,$model,$system" in
aspp='as -n32 -O2';;
power,*,elf) as='as -u -m ppc'
aspp='gcc -c';;
@@ -2063,18 +2131,5 @@
power,*,bsd) as='as'
aspp='gcc -c';;
power,*,rhapsody) as="as -arch $model"
---- asmrun/Makefile.orig 2011-11-08 12:12:19.000000000 +0100
-+++ asmrun/Makefile 2011-11-08 12:23:45.000000000 +0100
-@@ -74,6 +74,12 @@
- power.p.o: power-$(SYSTEM).o
- cp power-$(SYSTEM).o power.p.o
-
-+power64.o: power64-$(SYSTEM).o
-+ cp power64-$(SYSTEM).o power64.o
-+
-+power64.p.o: power64-$(SYSTEM).o
-+ cp power64-$(SYSTEM).o power64.p.o
-+
- main.c: ../byterun/main.c
- ln -s ../byterun/main.c main.c
- misc.c: ../byterun/misc.c
+--
+1.7.10.1
--
To unsubscribe, e-mail: opensuse-commit+unsubscribe(a)opensuse.org
For additional commands, e-mail: opensuse-commit+help(a)opensuse.org