diff --git a/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch index 5b0b05a..8745dc6 100644 --- a/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch +++ b/0001-Don-t-ignore-.-configure-it-s-a-real-git-file.patch @@ -1,7 +1,7 @@ From 6fbdb9e95ecd4654067565afe0c0b12fbeed3336 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 22:29:38 +0100 -Subject: [PATCH 01/16] Don't ignore ./configure, it's a real git file. +Subject: [PATCH 01/18] Don't ignore ./configure, it's a real git file. --- .gitignore | 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 index 2ef1789..fd80141 100644 --- a/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch +++ b/0002-Ensure-empty-compilerlibs-directory-is-created-by-gi.patch @@ -1,7 +1,7 @@ From 3cecfa8e2765a4f1a126af37ddb77ad67c3f6720 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 7 Jun 2012 15:36:16 +0100 -Subject: [PATCH 02/16] Ensure empty compilerlibs/ directory is created by git. +Subject: [PATCH 02/18] 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. diff --git a/0003-Don-t-add-rpaths-to-libraries.patch b/0003-Don-t-add-rpaths-to-libraries.patch index 10d7b1f..ed2f4b1 100644 --- a/0003-Don-t-add-rpaths-to-libraries.patch +++ b/0003-Don-t-add-rpaths-to-libraries.patch @@ -1,7 +1,7 @@ From c8084922e188649becfe1e8bbe89b7fab0de6dd0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 24 Jun 2014 10:00:15 +0100 -Subject: [PATCH 03/16] Don't add rpaths to libraries. +Subject: [PATCH 03/18] Don't add rpaths to libraries. --- tools/Makefile.shared | 6 +++--- diff --git a/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch index db683d5..163cd64 100644 --- a/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch +++ b/0004-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch @@ -1,7 +1,7 @@ From bfcc9876923963085d23537ca444469362673889 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:40:36 +0100 -Subject: [PATCH 04/16] ocamlbyteinfo, ocamlplugininfo: Useful utilities from +Subject: [PATCH 04/18] ocamlbyteinfo, ocamlplugininfo: Useful utilities from Debian, sent upstream. See: diff --git a/0005-configure-Allow-user-defined-C-compiler-flags.patch b/0005-configure-Allow-user-defined-C-compiler-flags.patch index 39aeba4..c735080 100644 --- a/0005-configure-Allow-user-defined-C-compiler-flags.patch +++ b/0005-configure-Allow-user-defined-C-compiler-flags.patch @@ -1,7 +1,7 @@ From 67b0b755b208027600255e379f98cdd8a919c7aa Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:44:18 +0100 -Subject: [PATCH 05/16] configure: Allow user defined C compiler flags. +Subject: [PATCH 05/18] configure: Allow user defined C compiler flags. --- configure | 4 ++++ diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch index 7160312..66c16ba 100644 --- a/0006-Add-support-for-ppc64.patch +++ b/0006-Add-support-for-ppc64.patch @@ -1,7 +1,7 @@ From 83b653b6b163018086c0d9d66d02feb5edeb44d1 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 29 May 2012 20:47:07 +0100 -Subject: [PATCH 06/16] Add support for ppc64. +Subject: [PATCH 06/18] Add support for ppc64. Note (1): This patch was rejected upstream because they don't have appropriate hardware for testing. diff --git a/0007-ppc64-Update-for-OCaml-4.02.0.patch b/0007-ppc64-Update-for-OCaml-4.02.0.patch index 8c87ea7..0445cc7 100644 --- a/0007-ppc64-Update-for-OCaml-4.02.0.patch +++ b/0007-ppc64-Update-for-OCaml-4.02.0.patch @@ -1,7 +1,7 @@ From cec09000c6659261e90310c5eff81b936849edf0 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Oct 2014 12:59:23 +0200 -Subject: [PATCH 07/16] ppc64: Update for OCaml 4.02.0. +Subject: [PATCH 07/18] ppc64: Update for OCaml 4.02.0. These are based on the power (ppc32) branch and some guesswork. In particular, I'm not convinced that my changes to floating diff --git a/0008-Add-support-for-ppc64le.patch b/0008-Add-support-for-ppc64le.patch index 1fd46ad..305c4a3 100644 --- a/0008-Add-support-for-ppc64le.patch +++ b/0008-Add-support-for-ppc64le.patch @@ -1,7 +1,7 @@ From 5a2495689fcb11c4ed690008f4eab7dfc51d89ef Mon Sep 17 00:00:00 2001 From: Michel Normand Date: Tue, 18 Mar 2014 09:15:47 -0400 -Subject: [PATCH 08/16] Add support for ppc64le. +Subject: [PATCH 08/18] Add support for ppc64le. Signed-off-by: Michel Normand --- diff --git a/0009-ppc64le-Update-for-OCaml-4.02.0.patch b/0009-ppc64le-Update-for-OCaml-4.02.0.patch index 7ef6a64..96a3765 100644 --- a/0009-ppc64le-Update-for-OCaml-4.02.0.patch +++ b/0009-ppc64le-Update-for-OCaml-4.02.0.patch @@ -1,7 +1,7 @@ From 1a1d2ae928bcc88591502414a4167865da2db93a Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Oct 2014 12:59:23 +0200 -Subject: [PATCH 09/16] ppc64le: Update for OCaml 4.02.0. +Subject: [PATCH 09/18] ppc64le: Update for OCaml 4.02.0. These are based on the power (ppc32) branch and some guesswork. In particular, I'm not convinced that my changes to floating point diff --git a/0010-arm-arm64-Mark-stack-as-non-executable.patch b/0010-arm-arm64-Mark-stack-as-non-executable.patch index ab23593..8edd8ae 100644 --- a/0010-arm-arm64-Mark-stack-as-non-executable.patch +++ b/0010-arm-arm64-Mark-stack-as-non-executable.patch @@ -1,7 +1,7 @@ From b2b2dd82e4aa60307ba2f98c142dd2980bf4dc18 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Sat, 10 May 2014 03:20:35 -0400 -Subject: [PATCH 10/16] arm, arm64: Mark stack as non-executable. +Subject: [PATCH 10/18] arm, arm64: Mark stack as non-executable. The same fix as this one, which was only fully applied to i686 & x86-64: diff --git a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch b/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch index 7971ff6..bcc183a 100644 --- a/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch +++ b/0011-arg-Add-no_arg-and-get_arg-helper-functions.patch @@ -1,7 +1,7 @@ From ee670da51f4d7763f607e456186c52e72a09a929 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Apr 2014 11:17:07 +0100 -Subject: [PATCH 11/16] arg: Add no_arg and get_arg helper functions. +Subject: [PATCH 11/18] arg: Add no_arg and get_arg helper functions. The no_arg function in this patch is a no-op. It will do something useful in the followups. diff --git a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch b/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch index e49bf6a..d9bb1c9 100644 --- a/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch +++ b/0012-arg-Allow-flags-such-as-flag-arg-as-well-as-flag-arg.patch @@ -1,7 +1,7 @@ From 94a567b59750a3765140a6c8bd41223f5ecf6220 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Tue, 1 Apr 2014 11:21:40 +0100 -Subject: [PATCH 12/16] arg: Allow flags such as --flag=arg as well as --flag +Subject: [PATCH 12/18] arg: Allow flags such as --flag=arg as well as --flag arg. Allow flags to be followed directly by their argument, separated by an '=' diff --git a/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch b/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch index 79be1d5..74f4938 100644 --- a/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch +++ b/0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch @@ -1,7 +1,7 @@ From b6ae488dba765380975d71a03c5afdd02c4b5c58 Mon Sep 17 00:00:00 2001 From: Xavier Leroy Date: Wed, 27 Aug 2014 09:58:33 +0000 -Subject: [PATCH 13/16] PR#6517: use ISO C99 types {,u}int{32,64}_t in +Subject: [PATCH 13/18] PR#6517: use ISO C99 types {,u}int{32,64}_t in preference to our homegrown types {,u}int{32,64}. git-svn-id: http://caml.inria.fr/svn/ocaml/trunk@15131 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02 diff --git a/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch b/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch index a768b7c..fca94b3 100644 --- a/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch +++ b/0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch @@ -1,7 +1,7 @@ From 51d003033bc15d215a6860714190edacecd724ab Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 11 Sep 2014 14:49:54 +0100 -Subject: [PATCH 14/16] ppc, ppc64, ppc64le: Mark stack as non-executable. +Subject: [PATCH 14/18] ppc, ppc64, ppc64le: Mark stack as non-executable. The same fix as this one, which was only fully applied to i686 & x86-64: diff --git a/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch b/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch index 7bd8324..c8bca14 100644 --- a/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch +++ b/0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch @@ -1,7 +1,7 @@ From e1dbbb661405f35600d78f16a0a729a8ac014f61 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Fri, 24 Oct 2014 10:10:54 +0100 -Subject: [PATCH 15/16] ppc64/ppc64le: proc: Interim definitions for op_is_pure +Subject: [PATCH 15/18] ppc64/ppc64le: proc: Interim definitions for op_is_pure and regs_are_volatile. See: https://bugzilla.redhat.com/show_bug.cgi?id=1156300 diff --git a/0016-ppc64le-Fix-calling-convention-of-external-functions.patch b/0016-ppc64le-Fix-calling-convention-of-external-functions.patch index 84da097..164af02 100644 --- a/0016-ppc64le-Fix-calling-convention-of-external-functions.patch +++ b/0016-ppc64le-Fix-calling-convention-of-external-functions.patch @@ -1,7 +1,7 @@ From 4198d84ca53b4760269abe7bfbecf9ecb853a303 Mon Sep 17 00:00:00 2001 From: "Richard W.M. Jones" Date: Thu, 28 May 2015 16:13:40 -0400 -Subject: [PATCH 16/16] ppc64le: Fix calling convention of external functions +Subject: [PATCH 16/18] ppc64le: Fix calling convention of external functions with > 8 parameters (RHBZ#1225995). For external (ie. C) functions with more than 8 parameters, we must diff --git a/0017-ppc64-Fix-PIC-variant-of-asmrun.patch b/0017-ppc64-Fix-PIC-variant-of-asmrun.patch new file mode 100644 index 0000000..7769360 --- /dev/null +++ b/0017-ppc64-Fix-PIC-variant-of-asmrun.patch @@ -0,0 +1,26 @@ +From e549e91ccfeb0c8bb99aa4095cc2088ab443e7a3 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 29 Jun 2015 08:31:31 -0400 +Subject: [PATCH 17/18] ppc64: Fix PIC variant of asmrun. + +--- + asmrun/Makefile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/asmrun/Makefile b/asmrun/Makefile +index a63321e..4aa2fc9 100644 +--- a/asmrun/Makefile ++++ b/asmrun/Makefile +@@ -128,6 +128,9 @@ power64.o: power64-$(SYSTEM).o + power64.p.o: power64-$(SYSTEM).o + cp power64-$(SYSTEM).o power64.p.o + ++power64.pic.o: power64-$(SYSTEM).pic.o ++ cp power64-$(SYSTEM).pic.o power64.pic.o ++ + power64le.o: power64le-$(SYSTEM).o + cp power64le-$(SYSTEM).o power64le.o + +-- +2.3.1 + diff --git a/0018-ppc64le-Fix-PIC-variant-of-asmrun.patch b/0018-ppc64le-Fix-PIC-variant-of-asmrun.patch new file mode 100644 index 0000000..468bf20 --- /dev/null +++ b/0018-ppc64le-Fix-PIC-variant-of-asmrun.patch @@ -0,0 +1,26 @@ +From d662ee171f94885a565828818ad0ccd73af06d39 Mon Sep 17 00:00:00 2001 +From: "Richard W.M. Jones" +Date: Mon, 29 Jun 2015 08:32:31 -0400 +Subject: [PATCH 18/18] ppc64le: Fix PIC variant of asmrun. + +--- + asmrun/Makefile | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/asmrun/Makefile b/asmrun/Makefile +index 4aa2fc9..8997e15 100644 +--- a/asmrun/Makefile ++++ b/asmrun/Makefile +@@ -137,6 +137,9 @@ power64le.o: power64le-$(SYSTEM).o + power64le.p.o: power64le-$(SYSTEM).o + cp power64le-$(SYSTEM).o power64le.p.o + ++power64le.pic.o: power64le-$(SYSTEM).pic.o ++ cp power64le-$(SYSTEM).pic.o power64le.pic.o ++ + main.c: ../byterun/main.c + ln -s ../byterun/main.c main.c + misc.c: ../byterun/misc.c +-- +2.3.1 + diff --git a/ocaml.spec b/ocaml.spec index 6f6a3ee..211447b 100644 --- a/ocaml.spec +++ b/ocaml.spec @@ -17,7 +17,7 @@ Name: ocaml Version: 4.02.2 -Release: 2%{?dist} +Release: 3%{?dist} Summary: OCaml compiler and programming environment @@ -61,6 +61,8 @@ Patch0013: 0013-PR-6517-use-ISO-C99-types-u-int-32-64-_t-in-preferen.patch Patch0014: 0014-ppc-ppc64-ppc64le-Mark-stack-as-non-executable.patch Patch0015: 0015-ppc64-ppc64le-proc-Interim-definitions-for-op_is_pur.patch Patch0016: 0016-ppc64le-Fix-calling-convention-of-external-functions.patch +Patch0017: 0017-ppc64-Fix-PIC-variant-of-asmrun.patch +Patch0018: 0018-ppc64le-Fix-PIC-variant-of-asmrun.patch # Add BFD support so that ocamlobjinfo supports *.cmxs format (RHBZ#1113735). BuildRequires: binutils-devel @@ -438,6 +440,9 @@ fi %changelog +* Mon Jun 29 2015 Richard W.M. Jones - 4.02.2-3 +- Couple of minor build fixes for ppc64 and ppc64le. + * Fri Jun 26 2015 Richard W.M. Jones - 4.02.2-2 - Enable the test suite during the build. Currently the results are only advisory.