diff --git a/0001-Don-t-add-rpaths-to-libraries.patch b/0001-Don-t-add-rpaths-to-libraries.patch index 3ebed03..6665489 100644 --- a/0001-Don-t-add-rpaths-to-libraries.patch +++ b/0001-Don-t-add-rpaths-to-libraries.patch @@ -1,7 +1,7 @@ -From b53eed0544eaa4ac264e405bd73a43ca3fb574d8 Mon Sep 17 00:00:00 2001 +From 8ddacdf1283fe3d7054f51a4b764bc6b44d7a342 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 10:00:15 +0100 -Subject: [PATCH 1/7] Don't add rpaths to libraries. +Subject: [PATCH 1/8] Don't add rpaths to libraries. --- tools/Makefile | 4 ++-- @@ -23,5 +23,5 @@ index 78d2a1068..fbec019ed 100644 sed -n -e 's/^#ml //p' ../config/Makefile) \ > ocamlmklibconfig.ml -- -2.16.2 +2.17.1 diff --git a/0002-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0002-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch index cfd64ef..9195dce 100644 --- a/0002-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch +++ b/0002-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch @@ -1,14 +1,14 @@ -From 010f13a4bc64e3d37aaea3b4fee56295672b91ff Mon Sep 17 00:00:00 2001 +From 118057a71576cb39d71633bf80a37815bf4ff932 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:40:36 +0100 -Subject: [PATCH 2/7] ocamlbyteinfo, ocamlplugininfo: Useful utilities from +Subject: [PATCH 2/8] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Debian, sent upstream. See: http://git.debian.org/?p=pkg-ocaml-maint/packages/ocaml.git;a=tree;f=debian/ocamlbyteinfo;hb=HEAD --- - ocamlbyteinfo.ml | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ - ocamlplugininfo.ml | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + ocamlbyteinfo.ml | 101 +++++++++++++++++++++++++++++++++++++++++ + ocamlplugininfo.ml | 109 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 210 insertions(+) create mode 100644 ocamlbyteinfo.ml create mode 100644 ocamlplugininfo.ml @@ -236,5 +236,5 @@ index 000000000..e28800f31 + header.units + end -- -2.16.2 +2.17.1 diff --git a/0003-configure-Allow-user-defined-C-compiler-flags.patch b/0003-configure-Allow-user-defined-C-compiler-flags.patch index 93913a3..5fb4967 100644 --- a/0003-configure-Allow-user-defined-C-compiler-flags.patch +++ b/0003-configure-Allow-user-defined-C-compiler-flags.patch @@ -1,7 +1,7 @@ -From 19dbb0c6b73513dddef2702daedcb68bba375af1 Mon Sep 17 00:00:00 2001 +From 8ddd2fb4909bf6ed1a3506723126432da8fcf0c4 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 3/7] configure: Allow user defined C compiler flags. +Subject: [PATCH 3/8] configure: Allow user defined C compiler flags. --- configure | 4 ++++ @@ -23,5 +23,5 @@ index 1316b3c1e..53f45f85b 100755 cclibs="$cclibs $mathlib" -- -2.16.2 +2.17.1 diff --git a/0004-Add-RISC-V-backend.patch b/0004-Add-RISC-V-backend.patch index 0be06ac..22d8fe3 100644 --- a/0004-Add-RISC-V-backend.patch +++ b/0004-Add-RISC-V-backend.patch @@ -1,18 +1,18 @@ -From 08c2bdb60e291ddf55cb82053c39215ff9dac069 Mon Sep 17 00:00:00 2001 +From 38ac4778744fb7137e04708998d4e856ada1c8b8 Mon Sep 17 00:00:00 2001 From: Nicolas Ojeda Bar Date: Fri, 27 Oct 2017 17:05:25 +0200 -Subject: [PATCH 4/7] Add RISC-V backend +Subject: [PATCH 4/8] Add RISC-V backend --- README.adoc | 1 + - asmcomp/riscv/CSE.ml | 36 +++ - asmcomp/riscv/arch.ml | 87 ++++++ - asmcomp/riscv/emit.mlp | 653 ++++++++++++++++++++++++++++++++++++++++++++ - asmcomp/riscv/proc.ml | 301 ++++++++++++++++++++ - asmcomp/riscv/reload.ml | 16 ++ + asmcomp/riscv/CSE.ml | 36 ++ + asmcomp/riscv/arch.ml | 87 +++++ + asmcomp/riscv/emit.mlp | 653 ++++++++++++++++++++++++++++++++++++ + asmcomp/riscv/proc.ml | 301 +++++++++++++++++ + asmcomp/riscv/reload.ml | 16 + asmcomp/riscv/scheduling.ml | 19 ++ - asmcomp/riscv/selection.ml | 72 +++++ - asmrun/riscv.S | 424 ++++++++++++++++++++++++++++ + asmcomp/riscv/selection.ml | 72 ++++ + asmrun/riscv.S | 424 +++++++++++++++++++++++ byterun/caml/stack.h | 5 + config/gnu/config.guess | 5 +- configure | 5 +- @@ -1764,5 +1764,5 @@ index 53f45f85b..cf5a4a02a 100755 case "$ccfamily" in clang-*) -- -2.16.2 +2.17.1 diff --git a/0005-Copyright-untabify.patch b/0005-Copyright-untabify.patch index 98082d6..da7749a 100644 --- a/0005-Copyright-untabify.patch +++ b/0005-Copyright-untabify.patch @@ -1,10 +1,10 @@ -From 58821468995b2dbe18cb1c7259fc5447e2c417ca Mon Sep 17 00:00:00 2001 +From 2e4038b6b8073f55012613f18cb19a4c99e8219d Mon Sep 17 00:00:00 2001 From: Nicolas Ojeda Bar Date: Fri, 1 Dec 2017 14:39:46 +0100 -Subject: [PATCH 5/7] Copyright, untabify +Subject: [PATCH 5/8] Copyright, untabify --- - asmrun/riscv.S | 608 ++++++++++++++++++++++++++++----------------------------- + asmrun/riscv.S | 608 ++++++++++++++++++++++++------------------------- 1 file changed, 304 insertions(+), 304 deletions(-) diff --git a/asmrun/riscv.S b/asmrun/riscv.S @@ -713,5 +713,5 @@ index a82048efc..88d7ab924 100644 + .align 3 + .size caml_system__frametable, .-caml_system__frametable -- -2.16.2 +2.17.1 diff --git a/0006-fix-caml_c_call-reload-caml_young_limit.patch b/0006-fix-caml_c_call-reload-caml_young_limit.patch index fad5fd7..a41c53c 100644 --- a/0006-fix-caml_c_call-reload-caml_young_limit.patch +++ b/0006-fix-caml_c_call-reload-caml_young_limit.patch @@ -1,7 +1,7 @@ -From eba9efdbf5e1cecf39e93e16e6e9d0847e3abb15 Mon Sep 17 00:00:00 2001 +From 207fbbc2616ee44e048dd5bb133e52f252cd1caf Mon Sep 17 00:00:00 2001 From: Nicolas Ojeda Bar Date: Sat, 2 Dec 2017 10:44:41 +0100 -Subject: [PATCH 6/7] fix caml_c_call: reload caml_young_limit +Subject: [PATCH 6/8] fix caml_c_call: reload caml_young_limit --- asmrun/riscv.S | 2 +- @@ -21,5 +21,5 @@ index 88d7ab924..121f8ba71 100644 jr s2 .size caml_c_call, .-caml_c_call -- -2.16.2 +2.17.1 diff --git a/0007-Adapt-to-4.07.patch b/0007-Adapt-to-4.07.patch new file mode 100644 index 0000000..0cda82d --- /dev/null +++ b/0007-Adapt-to-4.07.patch @@ -0,0 +1,67 @@ +From a89427d52a20633be40056fe008b7eeec5ded7dd Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Nicol=C3=A1s=20Ojeda=20B=C3=A4r?= +Date: Tue, 15 May 2018 07:17:06 +0000 +Subject: [PATCH 7/8] Adapt to 4.07 + +--- + asmcomp/riscv/emit.mlp | 28 +++++++++++++++++----------- + asmcomp/riscv/selection.ml | 2 +- + 2 files changed, 18 insertions(+), 12 deletions(-) + +diff --git a/asmcomp/riscv/emit.mlp b/asmcomp/riscv/emit.mlp +index 51165d0f1..718dca080 100644 +--- a/asmcomp/riscv/emit.mlp ++++ b/asmcomp/riscv/emit.mlp +@@ -461,19 +461,25 @@ let emit_instr i = + ` {emit_string name} {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}, {emit_label lbl}\n` + | Iinttest_imm _ -> + fatal_error "Emit.emit_instr (Iinttest_imm _)" +- | Ifloattest(cmp, neg) -> +- let neg = match cmp with +- | Ceq -> ` feq.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; neg +- | Cne -> ` feq.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; not neg +- | Clt -> ` flt.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; neg +- | Cgt -> ` flt.d {emit_reg reg_tmp1}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; neg +- | Cle -> ` fle.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n`; neg +- | Cge -> ` fle.d {emit_reg reg_tmp1}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n`; neg +- in +- if neg then ++ | Ifloattest cmp -> ++ begin match cmp with ++ | CFeq | CFneq -> ++ ` feq.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` ++ | CFlt | CFnlt -> ++ ` flt.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` ++ | CFgt | CFngt -> ++ ` flt.d {emit_reg reg_tmp1}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` ++ | CFle | CFnle -> ++ ` fle.d {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, {emit_reg i.arg.(1)}\n` ++ | CFge | CFnge -> ++ ` fle.d {emit_reg reg_tmp1}, {emit_reg i.arg.(1)}, {emit_reg i.arg.(0)}\n` ++ end; ++ begin match cmp with ++ | CFneq | CFnlt | CFngt | CFnle | CFnge -> + ` beqz {emit_reg reg_tmp1}, {emit_label lbl}\n` +- else ++ | CFeq | CFlt | CFgt | CFle | CFge -> + ` bnez {emit_reg reg_tmp1}, {emit_label lbl}\n` ++ end + | Ioddtest -> + ` andi {emit_reg reg_tmp1}, {emit_reg i.arg.(0)}, 1\n`; + ` bnez {emit_reg reg_tmp1}, {emit_label lbl}\n` +diff --git a/asmcomp/riscv/selection.ml b/asmcomp/riscv/selection.ml +index 092ca88aa..1f0af6abc 100644 +--- a/asmcomp/riscv/selection.ml ++++ b/asmcomp/riscv/selection.ml +@@ -61,7 +61,7 @@ method! select_condition = function + | Cop(Ccmpa cmp, args, _) -> + (Iinttest(Iunsigned cmp), Ctuple args) + | Cop(Ccmpf cmp, args, _) -> +- (Ifloattest(cmp, false), Ctuple args) ++ (Ifloattest cmp, Ctuple args) + | Cop(Cand, [arg; Cconst_int 1], _) -> + (Ioddtest, arg) + | arg -> +-- +2.17.1 + diff --git a/0007-riscv-Emit-debug-info.patch b/0008-riscv-Emit-debug-info.patch similarity index 81% rename from 0007-riscv-Emit-debug-info.patch rename to 0008-riscv-Emit-debug-info.patch index 11a7153..6d72833 100644 --- a/0007-riscv-Emit-debug-info.patch +++ b/0008-riscv-Emit-debug-info.patch @@ -1,14 +1,14 @@ -From ed16ef068b566b5e172c7b40dc9e5159ea900c03 Mon Sep 17 00:00:00 2001 +From af276d83f41cb9eb9f1e50a75a9be205c9b2fee6 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 5 Jun 2018 19:48:08 +0000 -Subject: [PATCH 7/7] riscv: Emit debug info. +Subject: [PATCH 8/8] riscv: Emit debug info. --- asmcomp/riscv/emit.mlp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/asmcomp/riscv/emit.mlp b/asmcomp/riscv/emit.mlp -index 51165d0f1..f32477a8f 100644 +index 718dca080..e42ee9770 100644 --- a/asmcomp/riscv/emit.mlp +++ b/asmcomp/riscv/emit.mlp @@ -261,6 +261,7 @@ let tailrec_entry_point = ref 0 @@ -19,7 +19,7 @@ index 51165d0f1..f32477a8f 100644 match i.desc with Lend -> () | Lop(Imove | Ispill | Ireload) -> -@@ -554,6 +555,7 @@ let fundecl fundecl = +@@ -560,6 +561,7 @@ let fundecl fundecl = emit_stack_adjustment (-n); if !contains_calls then store_ra n; `{emit_label !tailrec_entry_point}:\n`; @@ -27,7 +27,7 @@ index 51165d0f1..f32477a8f 100644 emit_all fundecl.fun_body; List.iter emit_call_gc !call_gc_sites; List.iter emit_call_bound_error !bound_error_sites; -@@ -613,6 +615,7 @@ let data l = +@@ -619,6 +621,7 @@ let data l = let begin_assembly() = ` .file \"\"\n`; (* PR#7073 *) @@ -36,5 +36,5 @@ index 51165d0f1..f32477a8f 100644 let lbl_begin = Compilenv.make_symbol (Some "data_begin") in ` {emit_string data_space}\n`; -- -2.16.2 +2.17.1 diff --git a/ocaml.spec b/ocaml.spec index 86b4972..a19eaea 100644 --- a/ocaml.spec +++ b/ocaml.spec @@ -27,7 +27,7 @@ Name: ocaml Version: 4.07.0 -Release: 0.rc1.3%{?dist} +Release: 1%{?dist} Summary: OCaml compiler and programming environment @@ -35,7 +35,7 @@ License: QPL and (LGPLv2+ with exceptions) URL: http://www.ocaml.org -Source0: http://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-%{version}+rc1.tar.xz +Source0: http://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-%{version}.tar.xz # IMPORTANT NOTE: # @@ -46,7 +46,7 @@ Source0: http://caml.inria.fr/pub/distrib/ocaml-4.07/ocaml-%{version}+rc1 # # https://pagure.io/fedora-ocaml # -# Current branch: fedora-28-4.06.0 +# Current branch: fedora-29-4.07.0 # # ALTERNATIVELY add a patch to the end of the list (leaving the # existing patches unchanged) adding a comment to note that it should @@ -63,10 +63,11 @@ Patch0003: 0003-configure-Allow-user-defined-C-compiler-flags.patch Patch0004: 0004-Add-RISC-V-backend.patch Patch0005: 0005-Copyright-untabify.patch Patch0006: 0006-fix-caml_c_call-reload-caml_young_limit.patch +Patch0007: 0007-Adapt-to-4.07.patch # RISC-V patch to add debuginfo (DWARF) generation. # Sent upstream 2018-06-05. -Patch0007: 0007-riscv-Emit-debug-info.patch +Patch0008: 0008-riscv-Emit-debug-info.patch BuildRequires: gcc BuildRequires: binutils-devel @@ -191,7 +192,7 @@ may not be portable between versions. %prep -%setup -q -T -b 0 -n %{name}-%{version}+rc1 +%setup -q -T -b 0 -n %{name}-%{version} %autopatch -p1 @@ -394,7 +395,7 @@ find $RPM_BUILD_ROOT \( -name '*.cmt' -o -name '*.cmti' \) -a -delete %doc LICENSE %doc ocamldoc/Changes.txt %{_bindir}/ocamldoc* -%{_libdir}/ocaml/ocamldoc.hva +%{_libdir}/ocaml/ocamldoc %files docs @@ -424,6 +425,9 @@ find $RPM_BUILD_ROOT \( -name '*.cmt' -o -name '*.cmti' \) -a -delete %changelog +* Wed Jul 11 2018 Richard W.M. Jones - 4.07.0-1 +- OCaml 4.07.0 (RHBZ#1536734). + * Tue Jun 26 2018 Richard W.M. Jones - 4.07.0-0.rc1.3 - Enable emacs again on riscv64. diff --git a/sources b/sources index 7d58af0..c116389 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (ocaml-4.07.0+rc1.tar.xz) = 39db06f3602d75773ab7c7fdef99a4e947a64f8ec895d1f2efd8fca07f27b7b80c2b290bc201ddf4ad3a623fee236bab053ccd3b618091490624a4474926d732 +SHA512 (ocaml-4.07.0.tar.xz) = 1c27c2c81919af6b51824fb69f203ebca009ab093af0dffb0dbe66d08ba980525ee14e9426edf142c527315144602ac9ef6e36d2266714b5f7ccc7c063e75ac8