Update to 4.02.0-beta1 + patches from the upstream 4.02 branch.

- REMOVED labltk and camlp4 packages, since these are now packaged
  separately upstream.
- Upstream includes fix for stack alignment issues on i686, so remove hack.
- Upstream now uses mkstemp where available, so patch removed.
- Upstream includes Aarch64 backend, so remove our own backport.
- Drop BR on ocaml-srpm-macros, since it is now included in Fedora.
This commit is contained in:
Richard W.M. Jones 2014-06-24 22:28:27 +01:00
parent 98f566b78e
commit 7335bbf1f3
18 changed files with 143 additions and 3669 deletions

View File

@ -1,366 +0,0 @@
From 07839dfc746ccee318601b9668aa094d4465bc6e 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 01/14] Add .gitignore file to ignore generated files.
---
.gitignore | 347 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 347 insertions(+)
create mode 100644 .gitignore
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..7191b83
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,347 @@
+*~
+*.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/stdlib.p.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
+/tools/read_cmt.opt
+/utils/config.ml
+/yacc/ocamlyacc
+/yacc/version.h
--
1.9.0

View File

@ -0,0 +1,24 @@
From 73598ab5b5b9c859e900413a31ca6452c324ff3d Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 24 Jun 2014 22:29:38 +0100
Subject: [PATCH 01/10] Don't ignore ./configure, it's a real git file.
---
.gitignore | 1 -
1 file changed, 1 deletion(-)
diff --git a/.gitignore b/.gitignore
index 2817041..6835234 100644
--- a/.gitignore
+++ b/.gitignore
@@ -22,7 +22,6 @@
/.depend
/.depend.nt
/.DS_Store
-/configure
/ocamlc
/ocamlc.opt
/expunge
--
1.9.0

View File

@ -1,7 +1,7 @@
From 7756582741dc56070c03629a3b4640147723beda Mon Sep 17 00:00:00 2001 From 8566059ac5eb68ac8006ba8d825644411d4c4cd1 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Thu, 7 Jun 2012 15:36:16 +0100 Date: Thu, 7 Jun 2012 15:36:16 +0100
Subject: [PATCH 02/14] Ensure empty compilerlibs/ directory is created by git. Subject: [PATCH 02/10] Ensure empty compilerlibs/ directory is created by git.
This directory exists in the OCaml tarball, but is empty. As a This directory exists in the OCaml tarball, but is empty. As a
result, git ignores it unless we put a dummy file in it. result, git ignores it unless we put a dummy file in it.

View File

@ -0,0 +1,29 @@
From 8d1cb3e2a169a642a0c75e965bc6fc17184124c8 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 24 Jun 2014 10:00:15 +0100
Subject: [PATCH 03/10] Don't add rpaths to libraries.
---
tools/Makefile.shared | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index c4c9030..7a918e5 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -112,9 +112,9 @@ ocamlmklibconfig.ml: ../config/Makefile
echo 'let ext_dll = "$(EXT_DLL)"'; \
echo 'let supports_shared_libraries = $(SUPPORTS_SHARED_LIBRARIES)';\
echo 'let mkdll = "$(MKDLL)"'; \
- echo 'let byteccrpath = "$(BYTECCRPATH)"'; \
- echo 'let nativeccrpath = "$(NATIVECCRPATH)"'; \
- echo 'let mksharedlibrpath = "$(MKSHAREDLIBRPATH)"'; \
+ echo 'let byteccrpath = ""'; \
+ echo 'let nativeccrpath = ""'; \
+ echo 'let mksharedlibrpath = ""'; \
echo 'let toolpref = "$(TOOLPREF)"'; \
sed -n -e 's/^#ml //p' ../config/Makefile) \
> ocamlmklibconfig.ml
--
1.9.0

View File

@ -1,26 +0,0 @@
From c3a733c10827896a6e3c217b383e874df303d50b 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 04/14] Don't add rpaths to libraries.
---
tools/Makefile.shared | 3 ---
1 file changed, 3 deletions(-)
diff --git a/tools/Makefile.shared b/tools/Makefile.shared
index 117f576..cad227d 100644
--- a/tools/Makefile.shared
+++ b/tools/Makefile.shared
@@ -116,9 +116,6 @@ ocamlmklib.ml: ocamlmklib.mlp ../config/Makefile
sed -e "s|%%BINDIR%%|$(BINDIR)|" \
-e "s|%%SUPPORTS_SHARED_LIBRARIES%%|$(SUPPORTS_SHARED_LIBRARIES)|" \
-e "s|%%MKSHAREDLIB%%|$(MKSHAREDLIB)|" \
- -e "s|%%BYTECCRPATH%%|$(BYTECCRPATH)|" \
- -e "s|%%NATIVECCRPATH%%|$(NATIVECCRPATH)|" \
- -e "s|%%MKSHAREDLIBRPATH%%|$(MKSHAREDLIBRPATH)|" \
-e "s|%%RANLIB%%|$(RANLIB)|" \
ocamlmklib.mlp >> ocamlmklib.ml
--
1.9.0

View File

@ -1,7 +1,7 @@
From a6d87cd4bc62d3987835c1ac844f35cc06804294 Mon Sep 17 00:00:00 2001 From 0112a99407da09f066c9cbaa41fe770370ba6706 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:40:36 +0100 Date: Tue, 29 May 2012 20:40:36 +0100
Subject: [PATCH 03/14] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Subject: [PATCH 04/10] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
Debian, sent upstream. Debian, sent upstream.
See: See:

View File

@ -1,17 +1,17 @@
From 459e9550f174e11176a2ece013fc4dd2b08a06bb Mon Sep 17 00:00:00 2001 From 96ec5173787ce5e03dca7da6527c4cc732772051 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:44:18 +0100 Date: Tue, 29 May 2012 20:44:18 +0100
Subject: [PATCH 05/14] configure: Allow user defined C compiler flags. Subject: [PATCH 05/10] configure: Allow user defined C compiler flags.
--- ---
configure | 4 ++++ configure | 4 ++++
1 file changed, 4 insertions(+) 1 file changed, 4 insertions(+)
diff --git a/configure b/configure diff --git a/configure b/configure
index 07b1c35..39b38dc 100755 index 74d489f..251ee2c 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -1612,6 +1612,10 @@ case "$buggycc" in @@ -1629,6 +1629,10 @@ case "$buggycc" in
nativecccompopts="$nativecccompopts -fomit-frame-pointer";; nativecccompopts="$nativecccompopts -fomit-frame-pointer";;
esac esac

View File

@ -1,7 +1,7 @@
From a85437a0d2ffdf7a340d379789500eb583ae4708 Mon Sep 17 00:00:00 2001 From 443863864a99a0408c6068ba0b5ba6beddec337a Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 29 May 2012 20:47:07 +0100 Date: Tue, 29 May 2012 20:47:07 +0100
Subject: [PATCH 06/14] Add support for ppc64. Subject: [PATCH 06/10] Add support for ppc64.
Note (1): This patch was rejected upstream because they don't have Note (1): This patch was rejected upstream because they don't have
appropriate hardware for testing. appropriate hardware for testing.
@ -1576,10 +1576,10 @@ index 0000000..53b7828
+ +
+let fundecl f = (new selector)#emit_fundecl f +let fundecl f = (new selector)#emit_fundecl f
diff --git a/asmrun/Makefile b/asmrun/Makefile diff --git a/asmrun/Makefile b/asmrun/Makefile
index 5ebf7aa..6a8ed98 100644 index 63ff80c..5da022c 100644
--- a/asmrun/Makefile --- a/asmrun/Makefile
+++ b/asmrun/Makefile +++ b/asmrun/Makefile
@@ -90,6 +90,12 @@ power.o: power-$(SYSTEM).o @@ -93,6 +93,12 @@ power.o: power-$(SYSTEM).o
power.p.o: power-$(SYSTEM).o power.p.o: power-$(SYSTEM).o
cp power-$(SYSTEM).o power.p.o cp power-$(SYSTEM).o power.p.o
@ -2085,7 +2085,7 @@ index 0000000..b2c24d6
+ .align 3 + .align 3
+ +
diff --git a/asmrun/stack.h b/asmrun/stack.h diff --git a/asmrun/stack.h b/asmrun/stack.h
index 57c87fa..756db95 100644 index 92b3c28..5202c3a 100644
--- a/asmrun/stack.h --- a/asmrun/stack.h
+++ b/asmrun/stack.h +++ b/asmrun/stack.h
@@ -46,6 +46,15 @@ @@ -46,6 +46,15 @@
@ -2105,26 +2105,26 @@ index 57c87fa..756db95 100644
#define Saved_return_address(sp) *((intnat *)((sp) - 4)) #define Saved_return_address(sp) *((intnat *)((sp) - 4))
#define Callback_link(sp) ((struct caml_context *)((sp) + 8)) #define Callback_link(sp) ((struct caml_context *)((sp) + 8))
diff --git a/configure b/configure diff --git a/configure b/configure
index 39b38dc..9b02664 100755 index 251ee2c..5f92bac 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -694,6 +694,7 @@ case "$host" in @@ -807,6 +807,7 @@ case "$target" in
arch=i386; system=macosx
fi;; fi;;
i[3456]86-*-gnu*) arch=i386; system=gnu;; i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
+ powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;; + powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;; powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;; powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;; powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -776,6 +777,8 @@ case "$arch,$model,$system" in @@ -886,6 +887,8 @@ case "$arch,$system" in
aspp='gcc -c';; aspp="/usr/ccs/bin/${TOOLPREF}as -P";;
power,*,bsd*) as='as' power,elf) as="${TOOLPREF}as -u -m ppc"
aspp='gcc -c';; aspp="${TOOLPREF}gcc -c";;
+ power64,*,elf) as='as -u -m ppc64' + power64,*,elf) as='${TOOLPREF}as -u -m ppc64'
+ aspp='gcc -c';; + aspp='${TOOLPREF}gcc -c';;
power,*,rhapsody) as="as -arch $model" power,rhapsody) as="${TOOLPREF}as -arch $model"
aspp="$bytecc -c";; aspp="$bytecc -c";;
sparc,*,solaris) as='as' sparc,solaris) as="${TOOLPREF}as"
-- --
1.9.0 1.9.0

View File

@ -1,7 +1,7 @@
From d9ec3ac29493999687b0f7daa23f4888bc57c7be Mon Sep 17 00:00:00 2001 From 69837e1be517082e841d583f59f017edfd7ffa39 Mon Sep 17 00:00:00 2001
From: Michel Normand <normand@linux.vnet.ibm.com> From: Michel Normand <normand@linux.vnet.ibm.com>
Date: Tue, 18 Mar 2014 09:15:47 -0400 Date: Tue, 18 Mar 2014 09:15:47 -0400
Subject: [PATCH 13/14] Add support for ppc64le. Subject: [PATCH 07/10] Add support for ppc64le.
Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com> Signed-off-by: Michel Normand <normand@linux.vnet.ibm.com>
--- ---
@ -1556,10 +1556,10 @@ index 0000000..6101d53
+ +
+let fundecl f = (new selector)#emit_fundecl f +let fundecl f = (new selector)#emit_fundecl f
diff --git a/asmrun/Makefile b/asmrun/Makefile diff --git a/asmrun/Makefile b/asmrun/Makefile
index 6a8ed98..1ff256f 100644 index 5da022c..c0362b6 100644
--- a/asmrun/Makefile --- a/asmrun/Makefile
+++ b/asmrun/Makefile +++ b/asmrun/Makefile
@@ -96,6 +96,12 @@ power64.o: power64-$(SYSTEM).o @@ -99,6 +99,12 @@ power64.o: power64-$(SYSTEM).o
power64.p.o: power64-$(SYSTEM).o power64.p.o: power64-$(SYSTEM).o
cp power64-$(SYSTEM).o power64.p.o cp power64-$(SYSTEM).o power64.p.o
@ -1858,7 +1858,7 @@ index 0000000..f49d00c
+power64-elf.S +power64-elf.S
\ No newline at end of file \ No newline at end of file
diff --git a/asmrun/stack.h b/asmrun/stack.h diff --git a/asmrun/stack.h b/asmrun/stack.h
index 031e408..f1890c1 100644 index 5202c3a..94b81e4 100644
--- a/asmrun/stack.h --- a/asmrun/stack.h
+++ b/asmrun/stack.h +++ b/asmrun/stack.h
@@ -55,6 +55,15 @@ @@ -55,6 +55,15 @@
@ -1892,26 +1892,26 @@ index b79252d..049652e 100755
echo powerpc-unknown-linux-${LIBC} echo powerpc-unknown-linux-${LIBC}
exit ;; exit ;;
diff --git a/configure b/configure diff --git a/configure b/configure
index 36edfab..8a22078 100755 index 5f92bac..8b300a4 100755
--- a/configure --- a/configure
+++ b/configure +++ b/configure
@@ -696,6 +696,7 @@ case "$host" in @@ -808,6 +808,7 @@ case "$target" in
fi;;
i[3456]86-*-gnu*) arch=i386; system=gnu;; i[3456]86-*-gnu*) arch=i386; system=gnu;;
i[3456]86-*-mingw*) arch=i386; system=mingw;;
powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;; powerpc64-*-linux*) arch=power64; model=ppc64; system=elf;;
+ powerpc64le-*-linux*) arch=power64le; model=ppc64le; system=elf;; + powerpc64le-*-linux*) arch=power64le; model=ppc64le; system=elf;;
powerpc*-*-linux*) arch=power; model=ppc; system=elf;; powerpc*-*-linux*) arch=power; model=ppc; system=elf;;
powerpc-*-netbsd*) arch=power; model=ppc; system=elf;; powerpc-*-netbsd*) arch=power; model=ppc; system=elf;;
powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;; powerpc-*-openbsd*) arch=power; model=ppc; system=bsd_elf;;
@@ -781,6 +782,8 @@ case "$arch,$model,$system" in @@ -889,6 +890,8 @@ case "$arch,$system" in
aspp='gcc -c';; aspp="${TOOLPREF}gcc -c";;
power64,*,elf) as='as -u -m ppc64' power64,*,elf) as='${TOOLPREF}as -u -m ppc64'
aspp='gcc -c';; aspp='${TOOLPREF}gcc -c';;
+ power64le,*,elf) as='as -u -m ppc64' + power64le,*,elf) as='${TOOLPREF}as -u -m ppc64'
+ aspp='gcc -c';; + aspp='${TOOLPREF}gcc -c';;
power,*,rhapsody) as="as -arch $model" power,rhapsody) as="${TOOLPREF}as -arch $model"
aspp="$bytecc -c";; aspp="$bytecc -c";;
sparc,*,solaris) as='as' sparc,solaris) as="${TOOLPREF}as"
-- --
1.9.0 1.9.0

View File

@ -1,25 +0,0 @@
From 761242718c3a7513d3b93ca96d24d1f61a4126f0 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Fri, 13 Sep 2013 21:29:58 +0100
Subject: [PATCH 07/14] yacc: Use mkstemp instead of mktemp.
---
yacc/main.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/yacc/main.c b/yacc/main.c
index f6cac60..3067000 100644
--- a/yacc/main.c
+++ b/yacc/main.c
@@ -53,7 +53,7 @@ char *text_file_name;
char *union_file_name;
char *verbose_file_name;
-#if defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
+#if defined(__linux__) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined(__DragonFly__) || (__APPLE__)
#define HAVE_MKSTEMP
#endif
--
1.9.0

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
From 64da031fc17ca93efd5beabcf0b7ea49bcd645a0 Mon Sep 17 00:00:00 2001 From 8db6171b43cf7d18340a68a2f636f9b2570236ac Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Sat, 10 May 2014 03:20:35 -0400 Date: Sat, 10 May 2014 03:20:35 -0400
Subject: [PATCH 14/14] arm, arm64: Mark stack as non-executable. Subject: [PATCH 08/10] arm, arm64: Mark stack as non-executable.
The same fix as this one, which was only fully applied to The same fix as this one, which was only fully applied to
i686 & x86-64: i686 & x86-64:
@ -24,7 +24,7 @@ index 2ce244a..90f5b6e 100644
+ /* Mark stack as non-executable, PR#4564 */ + /* Mark stack as non-executable, PR#4564 */
+ .section .note.GNU-stack,"",%progbits + .section .note.GNU-stack,"",%progbits
diff --git a/asmrun/arm64.S b/asmrun/arm64.S diff --git a/asmrun/arm64.S b/asmrun/arm64.S
index de670e6..84e18ba 100644 index 2c16a0e..a7d4953 100644
--- a/asmrun/arm64.S --- a/asmrun/arm64.S
+++ b/asmrun/arm64.S +++ b/asmrun/arm64.S
@@ -533,3 +533,6 @@ caml_system__frametable: @@ -533,3 +533,6 @@ caml_system__frametable:

View File

@ -1,716 +0,0 @@
From 26114ba365c1ef63d9605efc719f6c220ad624eb Mon Sep 17 00:00:00 2001
From: Xavier Leroy <xavier.leroy@inria.fr>
Date: Thu, 18 Jul 2013 16:07:25 +0000
Subject: [PATCH 09/14] Updated with latest versions from FSF.
git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@13907 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
(cherry picked from commit 24bb4caeb35e49126aa3a4c0101a412db1091213)
---
config/gnu/config.guess | 196 ++++++++++++++++++++++++++++--------------------
config/gnu/config.sub | 117 +++++++++++++++++------------
2 files changed, 183 insertions(+), 130 deletions(-)
diff --git a/config/gnu/config.guess b/config/gnu/config.guess
index 8152efd..b79252d 100755
--- a/config/gnu/config.guess
+++ b/config/gnu/config.guess
@@ -1,14 +1,12 @@
#! /bin/sh
# Attempt to guess a canonical system name.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2013-06-10'
# This file is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
@@ -17,26 +15,22 @@ timestamp='2011-11-11'
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-
-# Originally written by Per Bothner. Please send patches (context
-# diff format) to <config-patches@gnu.org> and include a ChangeLog
-# entry.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
#
-# This script attempts to guess a canonical system name similar to
-# config.sub. If it succeeds, it prints the system name on stdout, and
-# exits with 0. Otherwise, it exits with 1.
+# Originally written by Per Bothner.
#
# You can get the latest version of this script from:
# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD
+#
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
+
me=`echo "$0" | sed -e 's,.*/,,'`
@@ -56,9 +50,7 @@ version="\
GNU config.guess ($timestamp)
Originally written by Per Bothner.
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -140,12 +132,33 @@ UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+case "${UNAME_SYSTEM}" in
+Linux|GNU|GNU/*)
+ # If the system lacks a compiler, then just pick glibc.
+ # We could probably try harder.
+ LIBC=gnu
+
+ eval $set_cc_for_build
+ cat <<-EOF > $dummy.c
+ #include <features.h>
+ #if defined(__UCLIBC__)
+ LIBC=uclibc
+ #elif defined(__dietlibc__)
+ LIBC=dietlibc
+ #else
+ LIBC=gnu
+ #endif
+ EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
+ ;;
+esac
+
# Note: order is significant - the case branches are not exclusive.
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
*:NetBSD:*:*)
# NetBSD (nbsd) targets should (where applicable) match one or
- # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
# *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
# switched to ELF, *-*-netbsd* would select the old
# object file format. This provides both forward
@@ -202,6 +215,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
echo "${machine}-${os}${release}"
exit ;;
+ *:Bitrig:*:*)
+ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
+ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
+ exit ;;
*:OpenBSD:*:*)
UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
@@ -304,7 +321,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
echo arm-acorn-riscix${UNAME_RELEASE}
exit ;;
- arm:riscos:*:*|arm:RISCOS:*:*)
+ arm*:riscos:*:*|arm*:RISCOS:*:*)
echo arm-unknown-riscos
exit ;;
SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
@@ -803,6 +820,9 @@ EOF
i*:CYGWIN*:*)
echo ${UNAME_MACHINE}-pc-cygwin
exit ;;
+ *:MINGW64*:*)
+ echo ${UNAME_MACHINE}-pc-mingw64
+ exit ;;
*:MINGW*:*)
echo ${UNAME_MACHINE}-pc-mingw32
exit ;;
@@ -854,15 +874,22 @@ EOF
exit ;;
*:GNU:*:*)
# the GNU system
- echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
exit ;;
*:GNU/*:*:*)
# other systems with GNU libc and userland
- echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
exit ;;
i*86:Minix:*:*)
echo ${UNAME_MACHINE}-pc-minix
exit ;;
+ aarch64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ aarch64_be:Linux:*:*)
+ UNAME_MACHINE=aarch64_be
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
alpha:Linux:*:*)
case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
EV5) UNAME_MACHINE=alphaev5 ;;
@@ -874,59 +901,54 @@ EOF
EV68*) UNAME_MACHINE=alphaev68 ;;
esac
objdump --private-headers /bin/sh | grep -q ld.so.1
- if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
- echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ if test "$?" = 0 ; then LIBC="gnulibc1" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
+ arc:Linux:*:* | arceb:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
arm*:Linux:*:*)
eval $set_cc_for_build
if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_EABI__
then
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
else
if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
| grep -q __ARM_PCS_VFP
then
- echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
else
- echo ${UNAME_MACHINE}-unknown-linux-gnueabihf
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
fi
fi
exit ;;
avr32*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
cris:Linux:*:*)
- echo cris-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
crisv32:Linux:*:*)
- echo crisv32-axis-linux-gnu
+ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
exit ;;
frv:Linux:*:*)
- echo frv-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
hexagon:Linux:*:*)
- echo hexagon-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:Linux:*:*)
- LIBC=gnu
- eval $set_cc_for_build
- sed 's/^ //' << EOF >$dummy.c
- #ifdef __dietlibc__
- LIBC=dietlibc
- #endif
-EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'`
- echo "${UNAME_MACHINE}-pc-linux-${LIBC}"
+ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
exit ;;
ia64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m32r*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
m68*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
@@ -945,54 +967,63 @@ EOF
#endif
EOF
eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
- test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; }
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
;;
+ or1k:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
+ exit ;;
or32:Linux:*:*)
- echo or32-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
padre:Linux:*:*)
- echo sparc-unknown-linux-gnu
+ echo sparc-unknown-linux-${LIBC}
exit ;;
parisc64:Linux:*:* | hppa64:Linux:*:*)
- echo hppa64-unknown-linux-gnu
+ echo hppa64-unknown-linux-${LIBC}
exit ;;
parisc:Linux:*:* | hppa:Linux:*:*)
# Look for CPU level
case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
- PA7*) echo hppa1.1-unknown-linux-gnu ;;
- PA8*) echo hppa2.0-unknown-linux-gnu ;;
- *) echo hppa-unknown-linux-gnu ;;
+ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
+ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
+ *) echo hppa-unknown-linux-${LIBC} ;;
esac
exit ;;
ppc64:Linux:*:*)
- echo powerpc64-unknown-linux-gnu
+ echo powerpc64-unknown-linux-${LIBC}
exit ;;
ppc:Linux:*:*)
- echo powerpc-unknown-linux-gnu
+ echo powerpc-unknown-linux-${LIBC}
+ exit ;;
+ ppc64le:Linux:*:*)
+ echo powerpc64le-unknown-linux-${LIBC}
+ exit ;;
+ ppcle:Linux:*:*)
+ echo powerpcle-unknown-linux-${LIBC}
exit ;;
s390:Linux:*:* | s390x:Linux:*:*)
- echo ${UNAME_MACHINE}-ibm-linux
+ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
exit ;;
sh64*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sh*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
sparc:Linux:*:* | sparc64:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
tile*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
vax:Linux:*:*)
- echo ${UNAME_MACHINE}-dec-linux-gnu
+ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
exit ;;
x86_64:Linux:*:*)
- echo x86_64-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
xtensa*:Linux:*:*)
- echo ${UNAME_MACHINE}-unknown-linux-gnu
+ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
exit ;;
i*86:DYNIX/ptx:4*:*)
# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -1196,6 +1227,9 @@ EOF
BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
echo i586-pc-haiku
exit ;;
+ x86_64:Haiku:*:*)
+ echo x86_64-unknown-haiku
+ exit ;;
SX-4:SUPER-UX:*:*)
echo sx4-nec-superux${UNAME_RELEASE}
exit ;;
@@ -1222,19 +1256,21 @@ EOF
exit ;;
*:Darwin:*:*)
UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
- case $UNAME_PROCESSOR in
- i386)
- eval $set_cc_for_build
- if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
- if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
- (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
- grep IS_64BIT_ARCH >/dev/null
- then
- UNAME_PROCESSOR="x86_64"
- fi
- fi ;;
- unknown) UNAME_PROCESSOR=powerpc ;;
- esac
+ eval $set_cc_for_build
+ if test "$UNAME_PROCESSOR" = unknown ; then
+ UNAME_PROCESSOR=powerpc
+ fi
+ if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then
+ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
+ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \
+ grep IS_64BIT_ARCH >/dev/null
+ then
+ case $UNAME_PROCESSOR in
+ i386) UNAME_PROCESSOR=x86_64 ;;
+ powerpc) UNAME_PROCESSOR=powerpc64 ;;
+ esac
+ fi
+ fi
echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
exit ;;
*:procnto*:*:* | *:QNX:[0123456789]*:*)
@@ -1251,7 +1287,7 @@ EOF
NEO-?:NONSTOP_KERNEL:*:*)
echo neo-tandem-nsk${UNAME_RELEASE}
exit ;;
- NSE-?:NONSTOP_KERNEL:*:*)
+ NSE-*:NONSTOP_KERNEL:*:*)
echo nse-tandem-nsk${UNAME_RELEASE}
exit ;;
NSR-?:NONSTOP_KERNEL:*:*)
@@ -1320,11 +1356,11 @@ EOF
i*86:AROS:*:*)
echo ${UNAME_MACHINE}-pc-aros
exit ;;
+ x86_64:VMkernel:*:*)
+ echo ${UNAME_MACHINE}-unknown-esx
+ exit ;;
esac
-#echo '(No uname command or uname output not recognized.)' 1>&2
-#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
-
eval $set_cc_for_build
cat >$dummy.c <<EOF
#ifdef _SEQUENT_
diff --git a/config/gnu/config.sub b/config/gnu/config.sub
index e76eaf4..8b612ab 100755
--- a/config/gnu/config.sub
+++ b/config/gnu/config.sub
@@ -1,38 +1,31 @@
#! /bin/sh
# Configuration validation subroutine script.
-# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
-# 2011 Free Software Foundation, Inc.
+# Copyright 1992-2013 Free Software Foundation, Inc.
-timestamp='2011-11-11'
+timestamp='2013-04-24'
-# This file is (in principle) common to ALL GNU software.
-# The presence of a machine in this file suggests that SOME GNU software
-# can handle that machine. It does not imply ALL GNU software can.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA
-# 02110-1301, USA.
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
#
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
+# the same distribution terms that you use for the rest of that
+# program. This Exception is an additional permission under section 7
+# of the GNU General Public License, version 3 ("GPLv3").
-# Please send patches to <config-patches@gnu.org>. Submit a context
-# diff and a properly formatted GNU ChangeLog entry.
+# Please send patches with a ChangeLog entry to config-patches@gnu.org.
#
# Configuration subroutine to validate and canonicalize a configuration type.
# Supply the specified configuration type as an argument.
@@ -75,9 +68,7 @@ Report bugs and patches to <config-patches@gnu.org>."
version="\
GNU config.sub ($timestamp)
-Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
-Software Foundation, Inc.
+Copyright 1992-2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
@@ -125,13 +116,17 @@ esac
maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
case $maybe_os in
nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
- linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
+ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
knetbsd*-gnu* | netbsd*-gnu* | \
kopensolaris*-gnu* | \
storm-chaos* | os2-emx* | rtmk-nova*)
os=-$maybe_os
basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
;;
+ android-linux)
+ os=-linux-android
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
+ ;;
*)
basic_machine=`echo $1 | sed 's/-[^-]*$//'`
if [ $basic_machine != $1 ]
@@ -154,7 +149,7 @@ case $os in
-convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
-c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
-harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
- -apple | -axis | -knuth | -cray | -microblaze)
+ -apple | -axis | -knuth | -cray | -microblaze*)
os=
basic_machine=$1
;;
@@ -223,6 +218,12 @@ case $os in
-isc*)
basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
;;
+ -lynx*178)
+ os=-lynxos178
+ ;;
+ -lynx*5)
+ os=-lynxos5
+ ;;
-lynx*)
os=-lynxos
;;
@@ -247,11 +248,14 @@ case $basic_machine in
# Some are omitted here because they have special meanings below.
1750a | 580 \
| a29k \
+ | aarch64 | aarch64_be \
| alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
| alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
| am33_2.0 \
- | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
- | be32 | be64 \
+ | arc | arceb \
+ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
+ | avr | avr32 \
+ | be32 | be64 \
| bfin \
| c4x | clipper \
| d10v | d30v | dlx | dsp16xx \
@@ -264,7 +268,7 @@ case $basic_machine in
| le32 | le64 \
| lm32 \
| m32c | m32r | m32rle | m68000 | m68k | m88k \
- | maxq | mb | microblaze | mcore | mep | metag \
+ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
| mips | mipsbe | mipseb | mipsel | mipsle \
| mips16 \
| mips64 | mips64el \
@@ -282,16 +286,17 @@ case $basic_machine in
| mipsisa64r2 | mipsisa64r2el \
| mipsisa64sb1 | mipsisa64sb1el \
| mipsisa64sr71k | mipsisa64sr71kel \
+ | mipsr5900 | mipsr5900el \
| mipstx39 | mipstx39el \
| mn10200 | mn10300 \
| moxie \
| mt \
| msp430 \
| nds32 | nds32le | nds32be \
- | nios | nios2 \
+ | nios | nios2 | nios2eb | nios2el \
| ns16k | ns32k \
| open8 \
- | or32 \
+ | or1k | or32 \
| pdp10 | pdp11 | pj | pjl \
| powerpc | powerpc64 | powerpc64le | powerpcle \
| pyramid \
@@ -319,8 +324,7 @@ case $basic_machine in
c6x)
basic_machine=tic6x-unknown
;;
- m6811 | m68hc11 | m6812 | m68hc12 | picochip)
- # Motorola 68HC11/12.
+ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | picochip)
basic_machine=$basic_machine-unknown
os=-none
;;
@@ -333,7 +337,10 @@ case $basic_machine in
strongarm | thumb | xscale)
basic_machine=arm-unknown
;;
-
+ xgate)
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
xscaleeb)
basic_machine=armeb-unknown
;;
@@ -356,9 +363,10 @@ case $basic_machine in
# Recognize the basic CPU types with company name.
580-* \
| a29k-* \
+ | aarch64-* | aarch64_be-* \
| alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
| alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
- | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
| arm-* | armbe-* | armle-* | armeb-* | armv*-* \
| avr-* | avr32-* \
| be32-* | be64-* \
@@ -377,7 +385,8 @@ case $basic_machine in
| lm32-* \
| m32c-* | m32r-* | m32rle-* \
| m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
- | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \
+ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
+ | microblaze-* | microblazeel-* \
| mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
| mips16-* \
| mips64-* | mips64el-* \
@@ -395,12 +404,13 @@ case $basic_machine in
| mipsisa64r2-* | mipsisa64r2el-* \
| mipsisa64sb1-* | mipsisa64sb1el-* \
| mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipsr5900-* | mipsr5900el-* \
| mipstx39-* | mipstx39el-* \
| mmix-* \
| mt-* \
| msp430-* \
| nds32-* | nds32le-* | nds32be-* \
- | nios-* | nios2-* \
+ | nios-* | nios2-* | nios2eb-* | nios2el-* \
| none-* | np1-* | ns16k-* | ns32k-* \
| open8-* \
| orion-* \
@@ -719,7 +729,6 @@ case $basic_machine in
i370-ibm* | ibm*)
basic_machine=i370-ibm
;;
-# I'm not sure what "Sysv32" means. Should this be sysv3.2?
i*86v32)
basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
os=-sysv32
@@ -777,9 +786,13 @@ case $basic_machine in
basic_machine=ns32k-utek
os=-sysv
;;
- microblaze)
+ microblaze*)
basic_machine=microblaze-xilinx
;;
+ mingw64)
+ basic_machine=x86_64-pc
+ os=-mingw64
+ ;;
mingw32)
basic_machine=i386-pc
os=-mingw32
@@ -1008,7 +1021,11 @@ case $basic_machine in
basic_machine=i586-unknown
os=-pw32
;;
- rdos)
+ rdos | rdos64)
+ basic_machine=x86_64-pc
+ os=-rdos
+ ;;
+ rdos32)
basic_machine=i386-pc
os=-rdos
;;
@@ -1335,21 +1352,21 @@ case $os in
-gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
| -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
| -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
- | -sym* | -kopensolaris* \
+ | -sym* | -kopensolaris* | -plan9* \
| -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
| -aos* | -aros* \
| -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
| -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
| -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
- | -openbsd* | -solidbsd* \
+ | -bitrig* | -openbsd* | -solidbsd* \
| -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
| -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
| -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
| -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
| -chorusos* | -chorusrdb* | -cegcc* \
| -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
- | -mingw32* | -linux-gnu* | -linux-android* \
- | -linux-newlib* | -linux-uclibc* \
+ | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
+ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
| -uxpv* | -beos* | -mpeix* | -udk* \
| -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
| -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
@@ -1481,9 +1498,6 @@ case $os in
-aros*)
os=-aros
;;
- -kaos*)
- os=-kaos
- ;;
-zvmoe)
os=-zvmoe
;;
@@ -1532,6 +1546,9 @@ case $basic_machine in
c4x-* | tic4x-*)
os=-coff
;;
+ hexagon-*)
+ os=-elf
+ ;;
tic54x-*)
os=-coff
;;
@@ -1559,9 +1576,6 @@ case $basic_machine in
;;
m68000-sun)
os=-sunos3
- # This also exists in the configure program, but was not the
- # default.
- # os=-sunos4
;;
m68*-cisco)
os=-aout
@@ -1575,6 +1589,9 @@ case $basic_machine in
mips*-*)
os=-elf
;;
+ or1k-*)
+ os=-elf
+ ;;
or32-*)
os=-coff
;;
--
1.9.0

View File

@ -1,7 +1,7 @@
From 251d3447bb10550320f43512d8886561c1298f74 Mon Sep 17 00:00:00 2001 From 01298aadfd0bf571b9ce745a7a198015b2a20da9 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 1 Apr 2014 11:17:07 +0100 Date: Tue, 1 Apr 2014 11:17:07 +0100
Subject: [PATCH 11/14] arg: Add no_arg and get_arg helper functions. Subject: [PATCH 09/10] arg: Add no_arg and get_arg helper functions.
The no_arg function in this patch is a no-op. It will do something The no_arg function in this patch is a no-op. It will do something
useful in the followups. useful in the followups.
@ -19,7 +19,7 @@ In particular, this should not change the treatment of Arg.current
1 file changed, 26 insertions(+), 21 deletions(-) 1 file changed, 26 insertions(+), 21 deletions(-)
diff --git a/stdlib/arg.ml b/stdlib/arg.ml diff --git a/stdlib/arg.ml b/stdlib/arg.ml
index 8b64236..c8b3d44 100644 index 0f6480b..a41e0a2 100644
--- a/stdlib/arg.ml --- a/stdlib/arg.ml
+++ b/stdlib/arg.ml +++ b/stdlib/arg.ml
@@ -134,56 +134,62 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg = @@ -134,56 +134,62 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =

View File

@ -1,7 +1,7 @@
From 57955b8a4d4cf7732cb87964f5e124ab713e084b Mon Sep 17 00:00:00 2001 From 5af2eab80b969d88ecd5bdbe55f33e20753f9ceb Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com> From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Tue, 1 Apr 2014 11:21:40 +0100 Date: Tue, 1 Apr 2014 11:21:40 +0100
Subject: [PATCH 12/14] arg: Allow flags such as --flag=arg as well as --flag Subject: [PATCH 10/10] arg: Allow flags such as --flag=arg as well as --flag
arg. arg.
Allow flags to be followed directly by their argument, separated by an '=' Allow flags to be followed directly by their argument, separated by an '='
@ -16,7 +16,7 @@ http://caml.inria.fr/mantis/view.php?id=5197
2 files changed, 24 insertions(+), 7 deletions(-) 2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/stdlib/arg.ml b/stdlib/arg.ml diff --git a/stdlib/arg.ml b/stdlib/arg.ml
index c8b3d44..766de5f 100644 index a41e0a2..88b1306 100644
--- a/stdlib/arg.ml --- a/stdlib/arg.ml
+++ b/stdlib/arg.ml +++ b/stdlib/arg.ml
@@ -55,6 +55,12 @@ let rec assoc3 x l = @@ -55,6 +55,12 @@ let rec assoc3 x l =
@ -35,7 +35,7 @@ index c8b3d44..766de5f 100644
@@ -130,14 +136,24 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg = @@ -130,14 +136,24 @@ let parse_argv_dynamic ?(current=current) argv speclist anonfun errmsg =
while !current < l do while !current < l do
let s = argv.(!current) in let s = argv.(!current) in
if String.length s >= 1 && String.get s 0 = '-' then begin if String.length s >= 1 && s.[0] = '-' then begin
- let action = - let action =
- try assoc3 s !speclist - try assoc3 s !speclist
- with Not_found -> stop (Unknown s) - with Not_found -> stop (Unknown s)
@ -64,7 +64,7 @@ index c8b3d44..766de5f 100644
begin try begin try
let rec treat_action = function let rec treat_action = function
diff --git a/stdlib/arg.mli b/stdlib/arg.mli diff --git a/stdlib/arg.mli b/stdlib/arg.mli
index 869d030..b8c6f11 100644 index 22eda40..7078071 100644
--- a/stdlib/arg.mli --- a/stdlib/arg.mli
+++ b/stdlib/arg.mli +++ b/stdlib/arg.mli
@@ -25,7 +25,8 @@ @@ -25,7 +25,8 @@

View File

@ -1,41 +0,0 @@
From 848ca220af9224a5cc7abb64f32b89ed54c21121 Mon Sep 17 00:00:00 2001
From: "Richard W.M. Jones" <rjones@redhat.com>
Date: Mon, 24 Mar 2014 05:50:28 -0500
Subject: [PATCH 10/14] arm64: Align code and data to 8 bytes.
Insufficient alignment seems to be the cause of relocation errors when
linking large native code OCaml programs:
(.text+0xc): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `camlOdoc_type' defined in .data section in odoc_type.o
../stdlib/stdlib.a(listLabels.o): In function `camlListLabels__entry':
(.text+0x10): relocation truncated to fit: R_AARCH64_LDST64_ABS_LO12_NC against symbol `camlListLabels' defined in .data section in ../stdlib/stdlib.a(listLabels.o)
PR#6283 http://caml.inria.fr/mantis/view.php?id=6283
---
asmcomp/arm64/emit.mlp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/asmcomp/arm64/emit.mlp b/asmcomp/arm64/emit.mlp
index fc9649c..4e7c4b0 100644
--- a/asmcomp/arm64/emit.mlp
+++ b/asmcomp/arm64/emit.mlp
@@ -651,7 +651,7 @@ let fundecl fundecl =
call_gc_sites := [];
bound_error_sites := [];
` .text\n`;
- ` .align 2\n`;
+ ` .align 3\n`;
` .globl {emit_symbol fundecl.fun_name}\n`;
` .type {emit_symbol fundecl.fun_name}, %function\n`;
`{emit_symbol fundecl.fun_name}:\n`;
@@ -692,6 +692,7 @@ let emit_item = function
let data l =
` .data\n`;
+ ` .align 3\n`;
List.iter emit_item l
(* Beginning / end of an assembly file *)
--
1.9.0

View File

@ -15,9 +15,12 @@
%global natdynlink 0 %global natdynlink 0
%endif %endif
%global gitcommit 8c1e5cdf9154b7c4f979327a554bdde5c8f76436
%global shortcommit 8c1e5cdf
Name: ocaml Name: ocaml
Version: 4.01.0 Version: 4.02.0
Release: 20%{?dist} Release: 0.1.git%{shortcommit}%{?dist}
Summary: OCaml compiler and programming environment Summary: OCaml compiler and programming environment
@ -25,10 +28,10 @@ License: QPL and (LGPLv2+ with exceptions)
URL: http://www.ocaml.org URL: http://www.ocaml.org
Source0: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-%{version}.tar.gz Source0: https://github.com/ocaml/%{name}/archive/%{gitcommit}/%{name}-%{gitcommit}.tar.gz
Source1: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman-html.tar.gz Source1: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman-html.tar.gz
Source2: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.pdf Source2: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.pdf
Source3: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.info.tar.gz Source3: http://caml.inria.fr/pub/distrib/ocaml-4.02/ocaml-4.02beta-refman.info.tar.gz
# IMPORTANT NOTE: # IMPORTANT NOTE:
# #
@ -39,40 +42,28 @@ Source3: http://caml.inria.fr/pub/distrib/ocaml-4.01/ocaml-4.01-refman.in
# #
# https://git.fedorahosted.org/cgit/fedora-ocaml.git/ # https://git.fedorahosted.org/cgit/fedora-ocaml.git/
# #
# Current branch: fedora-22-4.02
#
# ALTERNATIVELY add a patch to the end of the list (leaving the # ALTERNATIVELY add a patch to the end of the list (leaving the
# existing patches unchanged) adding a comment to note that it should # existing patches unchanged) adding a comment to note that it should
# be incorporated into the git repo at a later time. # be incorporated into the git repo at a later time.
# #
Patch0001: 0001-Add-.gitignore-file-to-ignore-generated-files.patch Patch0001: 0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch
Patch0002: 0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch Patch0002: 0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch
Patch0003: 0003-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch Patch0003: 0003-Don-t-add-rpaths-to-libraries.patch
Patch0004: 0004-Don-t-add-rpaths-to-libraries.patch Patch0004: 0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
Patch0005: 0005-configure-Allow-user-defined-C-compiler-flags.patch Patch0005: 0005-configure-Allow-user-defined-C-compiler-flags.patch
Patch0006: 0006-Add-support-for-ppc64.patch Patch0006: 0006-Add-support-for-ppc64.patch
Patch0007: 0007-yacc-Use-mkstemp-instead-of-mktemp.patch Patch0007: 0007-Add-support-for-ppc64le.patch
Patch0008: 0008-arm-arm64-Mark-stack-as-non-executable.patch
# Aarch64 patches. Patch0009: 0009-arg-Add-no_arg-and-get_arg-helper-functions.patch
Patch0008: 0008-Port-to-the-ARM-64-bits-AArch64-architecture-experim.patch Patch0010: 0010-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
Patch0009: 0009-Updated-with-latest-versions-from-FSF.patch
Patch0010: 0010-arm64-Align-code-and-data-to-8-bytes.patch
# NON-upstream patch to allow '--flag=arg' as an alternative to '--flag arg'.
Patch0011: 0011-arg-Add-no_arg-and-get_arg-helper-functions.patch
Patch0012: 0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch
# ppc64le support (Michel Normand).
Patch0013: 0013-Add-support-for-ppc64le.patch
# ARM & Aarch64 non-executable stack.
Patch0014: 0014-arm-arm64-Mark-stack-as-non-executable.patch
# Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735). # Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735).
BuildRequires: binutils-devel BuildRequires: binutils-devel
BuildRequires: ncurses-devel BuildRequires: ncurses-devel
BuildRequires: gdbm-devel BuildRequires: gdbm-devel
BuildRequires: tcl-devel
BuildRequires: tk-devel
BuildRequires: emacs BuildRequires: emacs
BuildRequires: gawk BuildRequires: gawk
BuildRequires: perl BuildRequires: perl
@ -111,7 +102,7 @@ programming language from the ML family of languages.
This package comprises two batch compilers (a fast bytecode compiler This package comprises two batch compilers (a fast bytecode compiler
and an optimizing native-code compiler), an interactive toplevel system, and an optimizing native-code compiler), an interactive toplevel system,
parsing tools (Lex,Yacc,Camlp4), a replay debugger, a documentation generator, parsing tools (Lex,Yacc), a replay debugger, a documentation generator,
and a comprehensive library. and a comprehensive library.
@ -145,56 +136,6 @@ Requires: libX11-devel
X11 support for OCaml. X11 support for OCaml.
%package labltk
Summary: Tk bindings for OCaml
Requires: ocaml-runtime = %{version}-%{release}
%description labltk
Labltk is a library for interfacing OCaml with the scripting language
Tcl/Tk.
This package contains the runtime files.
%package labltk-devel
Summary: Development files for labltk
Requires: ocaml = %{version}-%{release}
Requires: %{name}-labltk = %{version}-%{release}
Requires: libX11-devel
Requires: tcl-devel
Requires: tk-devel
%description labltk-devel
Labltk is a library for interfacing OCaml with the scripting language
Tcl/Tk.
This package contains the development files. It includes the ocaml
browser for code editing and library browsing.
%package camlp4
Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml-runtime = %{version}-%{release}
%description camlp4
Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
file and printing some result on standard output.
This package contains the runtime files.
%package camlp4-devel
Summary: Pre-Processor-Pretty-Printer for OCaml
Requires: ocaml = %{version}-%{release}
Requires: %{name}-camlp4 = %{version}-%{release}
%description camlp4-devel
Camlp4 is a Pre-Processor-Pretty-Printer for OCaml, parsing a source
file and printing some result on standard output.
This package contains the development files.
%package ocamldoc %package ocamldoc
Summary: Documentation generator for OCaml Summary: Documentation generator for OCaml
Requires: ocaml = %{version}-%{release} Requires: ocaml = %{version}-%{release}
@ -244,15 +185,16 @@ may not be portable between versions.
%prep %prep
%setup -q -T -b 0 -n %{name}-%{version} %setup -q -T -b 0 -n %{name}-%{gitcommit}
%setup -q -T -D -a 1 -n %{name}-%{version} %setup -q -T -D -a 1 -n %{name}-%{gitcommit}
%setup -q -T -D -a 3 -n %{name}-%{version} %setup -q -T -D -a 3 -n %{name}-%{gitcommit}
cp %{SOURCE2} refman.pdf cp %{SOURCE2} refman.pdf
git init git init
git config user.email "noone@example.com" git config user.email "noone@example.com"
git config user.name "no one" git config user.name "no one"
git add . git add .
git add -f configure ;# required because .gitignore lists this file
git commit -a -q -m "%{version} baseline" git commit -a -q -m "%{version} baseline"
git am %{patches} </dev/null git am %{patches} </dev/null
@ -271,14 +213,7 @@ ulimit -Hs 65536
ulimit -Ss 65536 ulimit -Ss 65536
%endif %endif
# For the use of -mpreferred-stack-boundary to workaround gcc stack
# alignment issues, see: http://caml.inria.fr/mantis/view.php?id=5700
# ONLY use this on i386.
%ifarch %{ix86}
CFLAGS="$RPM_OPT_FLAGS -mpreferred-stack-boundary=2" \
%else
CFLAGS="$RPM_OPT_FLAGS" \ CFLAGS="$RPM_OPT_FLAGS" \
%endif
./configure \ ./configure \
-bindir %{_bindir} \ -bindir %{_bindir} \
-libdir %{_libdir}/ocaml \ -libdir %{_libdir}/ocaml \
@ -432,8 +367,6 @@ fi
%{_libdir}/ocaml/threads/*.cma %{_libdir}/ocaml/threads/*.cma
%{_libdir}/ocaml/fedora-ocaml-release %{_libdir}/ocaml/fedora-ocaml-release
%exclude %{_libdir}/ocaml/graphicsX11.cmi %exclude %{_libdir}/ocaml/graphicsX11.cmi
%exclude %{_libdir}/ocaml/stublibs/dlllabltk.so
#%exclude %{_libdir}/ocaml/stublibs/dlltkanim.so
%files source %files source
@ -447,74 +380,6 @@ fi
%{_libdir}/ocaml/graphicsX11.mli %{_libdir}/ocaml/graphicsX11.mli
%files labltk
%doc LICENSE
%{_bindir}/labltk
%dir %{_libdir}/ocaml/labltk
%{_libdir}/ocaml/labltk/*.cmi
%{_libdir}/ocaml/labltk/*.cma
%{_libdir}/ocaml/labltk/*.cmo
%{_libdir}/ocaml/stublibs/dlllabltk.so
#%{_libdir}/ocaml/stublibs/dlltkanim.so
%files labltk-devel
%doc LICENSE
%doc otherlibs/labltk/examples_labltk
%doc otherlibs/labltk/examples_camltk
%{_bindir}/ocamlbrowser
%{_libdir}/ocaml/labltk/labltktop
%{_libdir}/ocaml/labltk/pp
%{_libdir}/ocaml/labltk/tkcompiler
%{_libdir}/ocaml/labltk/*.a
%if %{native_compiler}
%{_libdir}/ocaml/labltk/*.cmxa
%{_libdir}/ocaml/labltk/*.cmx
%{_libdir}/ocaml/labltk/*.o
%endif
%{_libdir}/ocaml/labltk/*.mli
%files camlp4
%doc LICENSE
%dir %{_libdir}/ocaml/camlp4
%{_libdir}/ocaml/camlp4/*.cmi
%{_libdir}/ocaml/camlp4/*.cma
%{_libdir}/ocaml/camlp4/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Filters
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Parsers
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmo
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmi
%dir %{_libdir}/ocaml/camlp4/Camlp4Printers
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmo
%dir %{_libdir}/ocaml/camlp4/Camlp4Top
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmi
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmo
%files camlp4-devel
%{_bindir}/camlp4*
%{_bindir}/mkcamlp4
%if %{native_compiler}
%{_libdir}/ocaml/camlp4/*.a
%{_libdir}/ocaml/camlp4/*.cmxa
%{_libdir}/ocaml/camlp4/*.cmx
%{_libdir}/ocaml/camlp4/*.o
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Filters/*.o
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Parsers/*.o
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Printers/*.o
%{_libdir}/ocaml/camlp4/Camlp4Top/*.cmx
%{_libdir}/ocaml/camlp4/Camlp4Top/*.o
%endif
%{_mandir}/man1/*
%files ocamldoc %files ocamldoc
%doc LICENSE %doc LICENSE
%doc ocamldoc/Changes.txt %doc ocamldoc/Changes.txt
@ -525,6 +390,7 @@ fi
%files docs %files docs
%doc refman.pdf htmlman %doc refman.pdf htmlman
%{_infodir}/* %{_infodir}/*
%{_mandir}/man1/*
%{_mandir}/man3/* %{_mandir}/man3/*
@ -549,6 +415,15 @@ fi
%changelog %changelog
* Sat Jul 12 2014 Richard W.M. Jones <rjones@redhat.com> - 4.02.0-0.1
- Update to 4.02.0-beta1 + patches from the upstream 4.02 branch.
- REMOVED labltk and camlp4 packages, since these are now packaged
separately upstream.
- Upstream includes fix for stack alignment issues on i686, so remove hack.
- Upstream now uses mkstemp where available, so patch removed.
- Upstream includes Aarch64 backend, so remove our own backport.
- Drop BR on ocaml-srpm-macros, since it is now included in Fedora.
* Thu Jun 26 2014 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-20 * Thu Jun 26 2014 Richard W.M. Jones <rjones@redhat.com> - 4.01.0-20
- BR binutils-devel so ocamlobjinfo supports *.cmxs files (RHBZ#1113735). - BR binutils-devel so ocamlobjinfo supports *.cmxs files (RHBZ#1113735).

View File

@ -1,4 +1,4 @@
04dfdd7da189462a4f10ec6530359cef ocaml-4.01.0.tar.gz c308e831a1c5d6b3024bb339fcee72f4 ocaml-4.02beta-refman-html.tar.gz
73f4657680baeb200135720fbc84eb4b ocaml-4.01-refman-html.tar.gz 672044269cea28b661fca5c0edadc195 ocaml-4.02beta-refman.info.tar.gz
f4605c5cf0dbf90395331997e600e159 ocaml-4.01-refman.info.tar.gz d05fc06025d7bad2a969a659f6de1c83 ocaml-4.02beta-refman.pdf
f14652070cfb984c75de1919085b6915 ocaml-4.01-refman.pdf 053f03be03e82407f76ca0eb92bf2adf ocaml-8c1e5cdf9154b7c4f979327a554bdde5c8f76436.tar.gz