Fix PPC64 backend.

This commit is contained in:
Richard W.M. Jones 2012-06-07 16:57:55 +01:00
parent 1837515a64
commit 518f1af016
8 changed files with 429 additions and 29 deletions

View File

@ -0,0 +1,364 @@
From c7fff641b0b04cde2ceeb8376b4e0715a64e7bb7 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Jun 2012 16:00:28 +0100
Subject: [PATCH 1/7] Add .gitignore file to ignore generated files.
---
.gitignore | 345 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 345 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..b67b39f
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,345 @@
+*~
+*.a
+*.bak
+*.cma
+*.cmi
+*.cmo
+*.cmx
+*.o
+*.so
+/_boot_log1
+/_boot_log2
+/_build/
+/_log
+/asmcomp/arch.ml
+/asmcomp/emit.ml
+/asmcomp/proc.ml
+/asmcomp/reload.ml
+/asmcomp/scheduling.ml
+/asmcomp/selection.ml
+/asmrun/alloc.c
+/asmrun/array.c
+/asmrun/callback.c
+/asmrun/compact.c
+/asmrun/compare.c
+/asmrun/custom.c
+/asmrun/debugger.c
+/asmrun/dynlink.c
+/asmrun/extern.c
+/asmrun/finalise.c
+/asmrun/floats.c
+/asmrun/freelist.c
+/asmrun/gc_ctrl.c
+/asmrun/globroots.c
+/asmrun/hash.c
+/asmrun/intern.c
+/asmrun/ints.c
+/asmrun/io.c
+/asmrun/lexing.c
+/asmrun/main.c
+/asmrun/major_gc.c
+/asmrun/md5.c
+/asmrun/memory.c
+/asmrun/meta.c
+/asmrun/minor_gc.c
+/asmrun/misc.c
+/asmrun/obj.c
+/asmrun/parsing.c
+/asmrun/printexc.c
+/asmrun/signals.c
+/asmrun/str.c
+/asmrun/sys.c
+/asmrun/terminfo.c
+/asmrun/unix.c
+/asmrun/weak.c
+/boot/camlheader
+/boot/myocamlbuild
+/boot/ocamlrun
+/boot/ocamlyacc
+/build/ocamlbuild_mixed_mode
+/bytecomp/opcodes.ml
+/bytecomp/runtimedef.ml
+/byterun/jumptbl.h
+/byterun/ld.conf
+/byterun/ocamlrun
+/byterun/primitives
+/byterun/prims.c
+/byterun/version.h
+/compilerlibs/ocamlbytecomp.cmxa
+/compilerlibs/ocamlcommon.cmxa
+/compilerlibs/ocamloptcomp.cmxa
+/configure
+/config/Makefile
+/config/config.sh
+/config/m.h
+/config/s.h
+/debugger/dynlink.ml
+/debugger/dynlink.mli
+/debugger/lexer.ml
+/debugger/ocamldebug
+/debugger/parser.ml
+/debugger/parser.mli
+/expunge
+/lex/lexer.ml
+/lex/ocamllex
+/lex/ocamllex.opt
+/lex/parser.ml
+/lex/parser.mli
+/lex/parser.output
+/myocamlbuild_config.ml
+/ocamlbuild-mixed-boot
+/ocaml
+/ocamlc
+/ocamlc.opt
+/ocamlcomp.sh
+/ocamlcompopt.sh
+/ocamldoc/generators/odoc_literate.cmxs
+/ocamldoc/generators/odoc_todo.cmxs
+/ocamldoc/ocamldoc
+/ocamldoc/ocamldoc.opt
+/ocamldoc/odoc_info.cmxa
+/ocamldoc/odoc_lexer.ml
+/ocamldoc/odoc_ocamlhtml.ml
+/ocamldoc/odoc_parser.ml
+/ocamldoc/odoc_parser.mli
+/ocamldoc/odoc_parser.output
+/ocamldoc/odoc_see_lexer.ml
+/ocamldoc/odoc_text_lexer.ml
+/ocamldoc/odoc_text_parser.ml
+/ocamldoc/odoc_text_parser.mli
+/ocamldoc/odoc_text_parser.output
+/ocamldoc/stdlib_man/
+/ocamlnat
+/ocamlopt
+/ocamlopt.opt
+/otherlibs/bigarray/bigarray.cmxa
+/otherlibs/bigarray/bigarray.cmxs
+/otherlibs/dynlink/dynlink.cmxa
+/otherlibs/dbm/
+/otherlibs/dynlink/extract_crc
+/otherlibs/graph/graphics.cmxa
+/otherlibs/graph/graphics.cmxs
+/otherlibs/labltk/frx/frxlib.cmxa
+/otherlibs/labltk/jpf/jpflib.cmxa
+/otherlibs/labltk/lib/labltk.cmxa
+/otherlibs/labltk/browser/dummy.mli
+/otherlibs/labltk/browser/help.ml
+/otherlibs/labltk/browser/ocamlbrowser
+/otherlibs/labltk/camltk/.depend
+/otherlibs/labltk/camltk/_tkfgen.ml
+/otherlibs/labltk/camltk/_tkgen.ml
+/otherlibs/labltk/camltk/_tkgen.mli
+/otherlibs/labltk/camltk/_tkigen.ml
+/otherlibs/labltk/camltk/cBell.ml
+/otherlibs/labltk/camltk/cBell.mli
+/otherlibs/labltk/camltk/cButton.ml
+/otherlibs/labltk/camltk/cButton.mli
+/otherlibs/labltk/camltk/cCanvas.ml
+/otherlibs/labltk/camltk/cCanvas.mli
+/otherlibs/labltk/camltk/cCheckbutton.ml
+/otherlibs/labltk/camltk/cCheckbutton.mli
+/otherlibs/labltk/camltk/cClipboard.ml
+/otherlibs/labltk/camltk/cClipboard.mli
+/otherlibs/labltk/camltk/cDialog.ml
+/otherlibs/labltk/camltk/cDialog.mli
+/otherlibs/labltk/camltk/cEncoding.ml
+/otherlibs/labltk/camltk/cEncoding.mli
+/otherlibs/labltk/camltk/cEntry.ml
+/otherlibs/labltk/camltk/cEntry.mli
+/otherlibs/labltk/camltk/cFocus.ml
+/otherlibs/labltk/camltk/cFocus.mli
+/otherlibs/labltk/camltk/cFont.ml
+/otherlibs/labltk/camltk/cFont.mli
+/otherlibs/labltk/camltk/cFrame.ml
+/otherlibs/labltk/camltk/cFrame.mli
+/otherlibs/labltk/camltk/cGrab.ml
+/otherlibs/labltk/camltk/cGrab.mli
+/otherlibs/labltk/camltk/cGrid.ml
+/otherlibs/labltk/camltk/cGrid.mli
+/otherlibs/labltk/camltk/cImage.ml
+/otherlibs/labltk/camltk/cImage.mli
+/otherlibs/labltk/camltk/cImagebitmap.ml
+/otherlibs/labltk/camltk/cImagebitmap.mli
+/otherlibs/labltk/camltk/cImagephoto.ml
+/otherlibs/labltk/camltk/cImagephoto.mli
+/otherlibs/labltk/camltk/cLabel.ml
+/otherlibs/labltk/camltk/cLabel.mli
+/otherlibs/labltk/camltk/cListbox.ml
+/otherlibs/labltk/camltk/cListbox.mli
+/otherlibs/labltk/camltk/cMenu.ml
+/otherlibs/labltk/camltk/cMenu.mli
+/otherlibs/labltk/camltk/cMenubutton.ml
+/otherlibs/labltk/camltk/cMenubutton.mli
+/otherlibs/labltk/camltk/cMessage.ml
+/otherlibs/labltk/camltk/cMessage.mli
+/otherlibs/labltk/camltk/cOption.ml
+/otherlibs/labltk/camltk/cOption.mli
+/otherlibs/labltk/camltk/cOptionmenu.ml
+/otherlibs/labltk/camltk/cOptionmenu.mli
+/otherlibs/labltk/camltk/cPack.ml
+/otherlibs/labltk/camltk/cPack.mli
+/otherlibs/labltk/camltk/cPalette.ml
+/otherlibs/labltk/camltk/cPalette.mli
+/otherlibs/labltk/camltk/cPixmap.ml
+/otherlibs/labltk/camltk/cPixmap.mli
+/otherlibs/labltk/camltk/cPlace.ml
+/otherlibs/labltk/camltk/cPlace.mli
+/otherlibs/labltk/camltk/cRadiobutton.ml
+/otherlibs/labltk/camltk/cRadiobutton.mli
+/otherlibs/labltk/camltk/cResource.ml
+/otherlibs/labltk/camltk/cResource.mli
+/otherlibs/labltk/camltk/cScale.ml
+/otherlibs/labltk/camltk/cScale.mli
+/otherlibs/labltk/camltk/cScrollbar.ml
+/otherlibs/labltk/camltk/cScrollbar.mli
+/otherlibs/labltk/camltk/cSelection.ml
+/otherlibs/labltk/camltk/cSelection.mli
+/otherlibs/labltk/camltk/cText.ml
+/otherlibs/labltk/camltk/cText.mli
+/otherlibs/labltk/camltk/cTk.ml
+/otherlibs/labltk/camltk/cTkvars.ml
+/otherlibs/labltk/camltk/cTkvars.mli
+/otherlibs/labltk/camltk/cTkwait.ml
+/otherlibs/labltk/camltk/cTkwait.mli
+/otherlibs/labltk/camltk/cToplevel.ml
+/otherlibs/labltk/camltk/cToplevel.mli
+/otherlibs/labltk/camltk/cWinfo.ml
+/otherlibs/labltk/camltk/cWinfo.mli
+/otherlibs/labltk/camltk/cWm.ml
+/otherlibs/labltk/camltk/cWm.mli
+/otherlibs/labltk/camltk/camltk.ml
+/otherlibs/labltk/compiler/copyright.ml
+/otherlibs/labltk/compiler/lexer.ml
+/otherlibs/labltk/compiler/parser.ml
+/otherlibs/labltk/compiler/parser.mli
+/otherlibs/labltk/compiler/parser.output
+/otherlibs/labltk/compiler/pp
+/otherlibs/labltk/compiler/pplex.ml
+/otherlibs/labltk/compiler/ppyac.ml
+/otherlibs/labltk/compiler/ppyac.mli
+/otherlibs/labltk/compiler/ppyac.output
+/otherlibs/labltk/compiler/tkcompiler
+/otherlibs/labltk/labltk/.depend
+/otherlibs/labltk/labltk/_tkfgen.ml
+/otherlibs/labltk/labltk/_tkgen.ml
+/otherlibs/labltk/labltk/_tkgen.mli
+/otherlibs/labltk/labltk/_tkigen.ml
+/otherlibs/labltk/labltk/bell.ml
+/otherlibs/labltk/labltk/bell.mli
+/otherlibs/labltk/labltk/button.ml
+/otherlibs/labltk/labltk/button.mli
+/otherlibs/labltk/labltk/canvas.ml
+/otherlibs/labltk/labltk/canvas.mli
+/otherlibs/labltk/labltk/checkbutton.ml
+/otherlibs/labltk/labltk/checkbutton.mli
+/otherlibs/labltk/labltk/clipboard.ml
+/otherlibs/labltk/labltk/clipboard.mli
+/otherlibs/labltk/labltk/dialog.ml
+/otherlibs/labltk/labltk/dialog.mli
+/otherlibs/labltk/labltk/encoding.ml
+/otherlibs/labltk/labltk/encoding.mli
+/otherlibs/labltk/labltk/entry.ml
+/otherlibs/labltk/labltk/entry.mli
+/otherlibs/labltk/labltk/focus.ml
+/otherlibs/labltk/labltk/focus.mli
+/otherlibs/labltk/labltk/font.ml
+/otherlibs/labltk/labltk/font.mli
+/otherlibs/labltk/labltk/frame.ml
+/otherlibs/labltk/labltk/frame.mli
+/otherlibs/labltk/labltk/grab.ml
+/otherlibs/labltk/labltk/grab.mli
+/otherlibs/labltk/labltk/grid.ml
+/otherlibs/labltk/labltk/grid.mli
+/otherlibs/labltk/labltk/image.ml
+/otherlibs/labltk/labltk/image.mli
+/otherlibs/labltk/labltk/imagebitmap.ml
+/otherlibs/labltk/labltk/imagebitmap.mli
+/otherlibs/labltk/labltk/imagephoto.ml
+/otherlibs/labltk/labltk/imagephoto.mli
+/otherlibs/labltk/labltk/label.ml
+/otherlibs/labltk/labltk/label.mli
+/otherlibs/labltk/labltk/labltk.ml
+/otherlibs/labltk/labltk/listbox.ml
+/otherlibs/labltk/labltk/listbox.mli
+/otherlibs/labltk/labltk/menu.ml
+/otherlibs/labltk/labltk/menu.mli
+/otherlibs/labltk/labltk/menubutton.ml
+/otherlibs/labltk/labltk/menubutton.mli
+/otherlibs/labltk/labltk/message.ml
+/otherlibs/labltk/labltk/message.mli
+/otherlibs/labltk/labltk/option.ml
+/otherlibs/labltk/labltk/option.mli
+/otherlibs/labltk/labltk/optionmenu.ml
+/otherlibs/labltk/labltk/optionmenu.mli
+/otherlibs/labltk/labltk/pack.ml
+/otherlibs/labltk/labltk/pack.mli
+/otherlibs/labltk/labltk/palette.ml
+/otherlibs/labltk/labltk/palette.mli
+/otherlibs/labltk/labltk/pixmap.ml
+/otherlibs/labltk/labltk/pixmap.mli
+/otherlibs/labltk/labltk/place.ml
+/otherlibs/labltk/labltk/place.mli
+/otherlibs/labltk/labltk/radiobutton.ml
+/otherlibs/labltk/labltk/radiobutton.mli
+/otherlibs/labltk/labltk/scale.ml
+/otherlibs/labltk/labltk/scale.mli
+/otherlibs/labltk/labltk/scrollbar.ml
+/otherlibs/labltk/labltk/scrollbar.mli
+/otherlibs/labltk/labltk/selection.ml
+/otherlibs/labltk/labltk/selection.mli
+/otherlibs/labltk/labltk/text.ml
+/otherlibs/labltk/labltk/text.mli
+/otherlibs/labltk/labltk/tk.ml
+/otherlibs/labltk/labltk/tkvars.ml
+/otherlibs/labltk/labltk/tkvars.mli
+/otherlibs/labltk/labltk/tkwait.ml
+/otherlibs/labltk/labltk/tkwait.mli
+/otherlibs/labltk/labltk/toplevel.ml
+/otherlibs/labltk/labltk/toplevel.mli
+/otherlibs/labltk/labltk/winfo.ml
+/otherlibs/labltk/labltk/winfo.mli
+/otherlibs/labltk/labltk/wm.ml
+/otherlibs/labltk/labltk/wm.mli
+/otherlibs/labltk/lib/labltk
+/otherlibs/labltk/lib/labltktop
+/otherlibs/num/nums.cmxa
+/otherlibs/num/nums.cmxs
+/otherlibs/str/str.cmxa
+/otherlibs/str/str.cmxs
+/otherlibs/systhreads/threads.cmxa
+/otherlibs/threads/marshal.mli
+/otherlibs/threads/pervasives.mli
+/otherlibs/threads/unix.mli
+/otherlibs/unix/unix.cmxa
+/otherlibs/unix/unix.cmxs
+/package-macosx
+/parsing/lexer.ml
+/parsing/linenum.ml
+/parsing/parser.ml
+/parsing/parser.mli
+/parsing/parser.output
+/stdlib/caml
+/stdlib/camlheader
+/stdlib/camlheader_ur
+/stdlib/camlheaderd
+/stdlib/stdlib.cmxa
+/stdlib/sys.ml
+/tools/cvt_emit
+/tools/cvt_emit.ml
+/tools/dumpobj
+/tools/myocamlbuild_config.ml
+/tools/objinfo
+/tools/objinfo_helper
+/tools/ocamlcp
+/tools/ocamldep
+/tools/ocamldep.opt
+/tools/ocamlmklib
+/tools/ocamlmklib.ml
+/tools/ocamlmktop
+/tools/ocamloptp
+/tools/ocamlprof
+/tools/opnames.ml
+/tools/read_cmt
+/utils/config.ml
+/yacc/ocamlyacc
+/yacc/version.h
--
1.7.10.1

View File

@ -0,0 +1,17 @@
From 025baae6645f09b0f34ca8f2a746e3d4261ae4c1 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Jun 2012 15:36:16 +0100
Subject: [PATCH 2/7] Ensure empty compilerlibs/ directory is created by git.
This directory exists in the OCaml tarball, but is empty. As a
result, git ignores it unless we put a dummy file in it.
---
0 files changed
create mode 100644 compilerlibs/.exists
diff --git a/compilerlibs/.exists b/compilerlibs/.exists
new file mode 100644
index 0000000..e69de29
--
1.7.10.1

View File

@ -1,7 +1,7 @@
From 545a807ed2ecbbcfa59699d99eefb6ecfd5a9bc6 Mon Sep 17 00:00:00 2001
From 6865790801a84e9ad94234e30da346b73381b232 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:40:36 +0100
Subject: [PATCH 1/5] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Subject: [PATCH 3/7] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Debian, sent upstream.
See:
@ -236,5 +236,5 @@ index 0000000..e28800f
+ header.units
+ end
--
1.7.10
1.7.10.1

View File

@ -1,7 +1,7 @@
From ece869582cd6746834ad8cbb0b31f09fb88e6cbc Mon Sep 17 00:00:00 2001
From 1e899c7ec6482dcecb57682a20a25df34315eb20 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:43:34 +0100
Subject: [PATCH 2/5] Don't add rpaths to libraries.
Subject: [PATCH 4/7] Don't add rpaths to libraries.
---
tools/Makefile.shared | 3 ---
@ -22,5 +22,5 @@ index f6818d3..aadd7e2 100644
ocamlmklib.mlp >> ocamlmklib.ml
--
1.7.10
1.7.10.1

View File

@ -1,7 +1,7 @@
From 18750e6b76911e508ddd632df073566179d091d6 Mon Sep 17 00:00:00 2001
From 05d5577eecfd8d17f5d3f9a9f1063b8c6df295d4 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:44:18 +0100
Subject: [PATCH 3/5] configure: Allow user defined C compiler flags.
Subject: [PATCH 5/7] configure: Allow user defined C compiler flags.
---
configure | 4 ++++
@ -23,5 +23,5 @@ index 72f4240..eafd6d9 100755
cclibs="$cclibs $mathlib"
--
1.7.10
1.7.10.1

View File

@ -1,7 +1,7 @@
From a46d9a5dd1cb05ee6f32ca41acd35acb536a90de Mon Sep 17 00:00:00 2001
From a0bc0d6b0b714ea95e463b49b777a469b6e6281c Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 5 Jun 2012 22:49:17 +0100
Subject: [PATCH 4/5] Link dllthreads.so with -lpthread so that pthread_atfork
Subject: [PATCH 6/7] Link dllthreads.so with -lpthread so that pthread_atfork
is included statically.
See:
@ -24,5 +24,5 @@ index 3d3f8fb..fb0ae87 100644
st_stubs_b.o: st_stubs.c st_posix.h
$(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
--
1.7.10
1.7.10.1

View File

@ -1,7 +1,7 @@
From a17790287c82c7068451ae37eac73a21bd148e9d Mon Sep 17 00:00:00 2001
From c5d136f4163a0b815f936269151faf2ae44791b2 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:47:07 +0100
Subject: [PATCH 5/5] Add support for ppc64.
Subject: [PATCH 7/7] Add support for ppc64.
Note (1): This patch was rejected upstream because they don't have
appropriate hardware for testing.
@ -17,8 +17,10 @@ when there are more than 8 parameters (RHBZ#829187).
Includes fix for minor heap corruption because of unaligned minor heap
register (RHBZ#826649).
Includes updates for OCaml 4.00.0.
---
asmcomp/power64/arch.ml | 83 ++++
asmcomp/power64/arch.ml | 87 ++++
asmcomp/power64/emit.mlp | 989 +++++++++++++++++++++++++++++++++++++++++
asmcomp/power64/proc.ml | 241 ++++++++++
asmcomp/power64/reload.ml | 18 +
@ -28,7 +30,7 @@ register (RHBZ#826649).
asmrun/power64-elf.S | 486 ++++++++++++++++++++
asmrun/stack.h | 9 +
configure | 3 +
10 files changed, 2003 insertions(+)
10 files changed, 2007 insertions(+)
create mode 100644 asmcomp/power64/arch.ml
create mode 100644 asmcomp/power64/emit.mlp
create mode 100644 asmcomp/power64/proc.ml
@ -39,10 +41,10 @@ register (RHBZ#826649).
diff --git a/asmcomp/power64/arch.ml b/asmcomp/power64/arch.ml
new file mode 100644
index 0000000..55dd593
index 0000000..6a14864
--- /dev/null
+++ b/asmcomp/power64/arch.ml
@@ -0,0 +1,83 @@
@@ -0,0 +1,87 @@
+(***********************************************************************)
+(* *)
+(* Objective Caml *)
@ -88,6 +90,10 @@ index 0000000..55dd593
+let size_int = size_addr
+let size_float = 8
+
+(* Behavior of division *)
+
+let division_crashes_on_overflow = false
+
+(* Operations on addressing modes *)
+
+let identity_addressing = Iindexed 0
@ -1465,7 +1471,7 @@ index 0000000..b7bba9b
+let fundecl f = (new scheduler)#schedule_fundecl f
diff --git a/asmcomp/power64/selection.ml b/asmcomp/power64/selection.ml
new file mode 100644
index 0000000..7b8e2a4
index 0000000..d2325e1
--- /dev/null
+++ b/asmcomp/power64/selection.ml
@@ -0,0 +1,103 @@
@ -1523,7 +1529,7 @@ index 0000000..7b8e2a4
+
+method is_immediate n = (n <= 32767) && (n >= -32768)
+
+method select_addressing exp =
+method select_addressing chunk exp =
+ match select_addr exp with
+ (Asymbol s, d) ->
+ (Ibased(s, d), Ctuple [])
@ -2123,5 +2129,5 @@ index eafd6d9..2f48daf 100755
aspp='gcc -c';;
power,*,rhapsody) as="as -arch $model"
--
1.7.10
1.7.10.1

View File

@ -1,6 +1,6 @@
Name: ocaml
Version: 4.00.0
Release: 0.1.beta2%{?dist}
Release: 0.2.beta2%{?dist}
Summary: OCaml compiler and programming environment
@ -27,11 +27,13 @@ Source3: http://caml.inria.fr/pub/distrib/ocaml-4.00/ocaml-4.00beta-refma
# existing patches unchanged) adding a comment to note that it should
# be incorporated into the git repo at a later time.
#
Patch0001: 0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0002: 0002-Don-t-add-rpaths-to-libraries.patch
Patch0003: 0003-configure-Allow-user-defined-C-compiler-flags.patch
Patch0004: 0004-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
Patch0005: 0005-Add-support-for-ppc64.patch
Patch0001: 0001-Add-.gitignore-file-to-ignore-generated-files.patch
Patch0002: 0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
Patch0003: 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0004: 0004-Don-t-add-rpaths-to-libraries.patch
Patch0005: 0005-configure-Allow-user-defined-C-compiler-flags.patch
Patch0006: 0006-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
Patch0007: 0007-Add-support-for-ppc64.patch
# Depend on previous version of OCaml so that ocamlobjinfo
# can run.
@ -255,6 +257,16 @@ git am %{patches} </dev/null
# make -jN (N > 1) breaks the build. Therefore we cannot use
# %{?_smp_mflags} nor MAKEFLAGS.
unset MAKEFLAGS
# For ppc64 we need a larger stack than default to compile some files
# because the stages in the OCaml compiler are not mutually tail
# recursive.
%ifarch ppc64
ulimit -a
ulimit -Hs 65536
ulimit -Ss 65536
%endif
CFLAGS="$RPM_OPT_FLAGS" \
./configure \
-bindir %{_bindir} \
@ -515,14 +527,15 @@ fi
%changelog
* Thu Jun 7 2012 Richard W.M. Jones <rjones@redhat.com> 4.00.0-0.1.beta2
* Thu Jun 7 2012 Richard W.M. Jones <rjones@redhat.com> 4.00.0-0.2.beta2
- Upgrade to OCaml 4.00.0 beta 2.
- The language is now officially called OCaml (not Objective Caml, O'Caml etc)
- Rebase patches on top:
. New ARM backend patch no longer required, since upstream.
. Replacement config.guess, config.sub no longer required, since upstream
versions are newer.
. ppc64 backend known not to work; will fix shortly.
- PPC64 backend rebased and fixed.
. Increase the default size of the stack when compiling.
- New tool: ocamloptp (ocamlopt profiler).
- New VERSION file in ocaml-runtime package.
- New ocaml-compiler-libs subpackage.