[ocaml] Fix PPC64 backend.
Richard W.M. Jones
rjones at fedoraproject.org
Thu Jun 7 16:21:12 UTC 2012
commit 518f1af0169d5539033dec446d533511779a2894
Author: Richard W.M. Jones <rjones at redhat.com>
Date: Thu Jun 7 16:57:55 2012 +0100
Fix PPC64 backend.
....gitignore-file-to-ignore-generated-files.patch | 364 ++++++++++++++++++++
...y-compilerlibs-directory-is-created-by-gi.patch | 17 +
...fo-ocamlplugininfo-Useful-utilities-from-.patch | 6 +-
...tch => 0004-Don-t-add-rpaths-to-libraries.patch | 6 +-
...igure-Allow-user-defined-C-compiler-flags.patch | 6 +-
...eads.so-with-lpthread-so-that-pthread_atf.patch | 6 +-
...ppc64.patch => 0007-Add-support-for-ppc64.patch | 24 +-
ocaml.spec | 29 ++-
8 files changed, 429 insertions(+), 29 deletions(-)
---
diff --git a/0001-Add-.gitignore-file-to-ignore-generated-files.patch b/0001-Add-.gitignore-file-to-ignore-generated-files.patch
new file mode 100644
index 0000000..ffd3191
--- /dev/null
+++ b/0001-Add-.gitignore-file-to-ignore-generated-files.patch
@@ -0,0 +1,364 @@
+From c7fff641b0b04cde2ceeb8376b4e0715a64e7bb7 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at 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
+
diff --git a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
new file mode 100644
index 0000000..5fefcc4
--- /dev/null
+++ b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
@@ -0,0 +1,17 @@
+From 025baae6645f09b0f34ca8f2a746e3d4261ae4c1 Mon Sep 17 00:00:00 2001
+From: "Richard W.M. Jones" <rjones at 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
+
diff --git a/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
similarity index 98%
rename from 0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
rename to 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
index 3b18cfd..c502415 100644
--- a/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
+++ b/0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
@@ -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 at 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
diff --git a/0002-Don-t-add-rpaths-to-libraries.patch b/0004-Don-t-add-rpaths-to-libraries.patch
similarity index 86%
rename from 0002-Don-t-add-rpaths-to-libraries.patch
rename to 0004-Don-t-add-rpaths-to-libraries.patch
index a959d69..8c06822 100644
--- a/0002-Don-t-add-rpaths-to-libraries.patch
+++ b/0004-Don-t-add-rpaths-to-libraries.patch
@@ -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 at 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
diff --git a/0003-configure-Allow-user-defined-C-compiler-flags.patch b/0005-configure-Allow-user-defined-C-compiler-flags.patch
similarity index 80%
rename from 0003-configure-Allow-user-defined-C-compiler-flags.patch
rename to 0005-configure-Allow-user-defined-C-compiler-flags.patch
index 2663d65..c85daf7 100644
--- a/0003-configure-Allow-user-defined-C-compiler-flags.patch
+++ b/0005-configure-Allow-user-defined-C-compiler-flags.patch
@@ -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 at 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
diff --git a/0004-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch b/0006-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
similarity index 85%
rename from 0004-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
rename to 0006-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
index d218f7e..86fd3d2 100644
--- a/0004-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
+++ b/0006-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
@@ -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 at 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
diff --git a/0005-Add-support-for-ppc64.patch b/0007-Add-support-for-ppc64.patch
similarity index 99%
rename from 0005-Add-support-for-ppc64.patch
rename to 0007-Add-support-for-ppc64.patch
index d2d821a..daf9050 100644
--- a/0005-Add-support-for-ppc64.patch
+++ b/0007-Add-support-for-ppc64.patch
@@ -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 at 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
diff --git a/ocaml.spec b/ocaml.spec
index 423720f..f36bf6b 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -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 at redhat.com> 4.00.0-0.1.beta2
+* Thu Jun 7 2012 Richard W.M. Jones <rjones at 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.
More information about the scm-commits
mailing list