[ocaml/f17] - Include patch to link dllthreads.so with -lpthread explicitly, to fix problem with 'pthread_atfo

Richard W.M. Jones rjones at fedoraproject.org
Wed Jun 6 12:39:37 UTC 2012


commit 2eca650954074140fe7e5b60b8d5a27da72e4973
Author: Richard W.M. Jones <rjones at redhat.com>
Date:   Tue Jun 5 23:10:05 2012 +0100

    - Include patch to link dllthreads.so with -lpthread explicitly, to
      fix problem with 'pthread_atfork' symbol missing (statically linked)
      on ppc64.
    (cherry picked from commit 963a64f01645debf3c570499f883e0d6f6a59eca)

 ...fo-ocamlplugininfo-Useful-utilities-from-.patch |    6 ++--
 ...-config.guess-and-config.sub-replacements.patch |    6 ++--
 0003-Don-t-add-rpaths-to-libraries.patch           |    6 ++--
 ...igure-Allow-user-defined-C-compiler-flags.patch |    6 ++--
 ...-arm-add-.type-directive-for-code-symbols.patch |    6 ++--
 0006-Add-support-for-ppc64.patch                   |    6 ++--
 ...ackend-written-by-Benedikt-Meurer-PR-5433.patch |    4 +-
 ...eads.so-with-lpthread-so-that-pthread_atf.patch |   28 ++++++++++++++++++++
 ocaml.spec                                         |    8 +++++-
 9 files changed, 55 insertions(+), 21 deletions(-)
---
diff --git a/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch b/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
index 310f81c..cb8c80a 100644
--- a/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
+++ b/0001-ocamlbyteinfo-ocamlplugininfo-Useful-utilities-from-.patch
@@ -1,7 +1,7 @@
 From 0f3d9e1188a765390ac21b6204c66765c1cad8f0 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/7] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
+Subject: [PATCH 1/8] ocamlbyteinfo, ocamlplugininfo: Useful utilities from
  Debian, sent upstream.
 
 See:
@@ -9,7 +9,7 @@ http://git.debian.org/?p=pkg-ocaml-maint/packages/ocaml.git;a=tree;f=debian/ocam
 ---
  ocamlbyteinfo.ml   |  101 ++++++++++++++++++++++++++++++++++++++++++++++++
  ocamlplugininfo.ml |  109 ++++++++++++++++++++++++++++++++++++++++++++++++++++
- 2 files changed, 210 insertions(+), 0 deletions(-)
+ 2 files changed, 210 insertions(+)
  create mode 100644 ocamlbyteinfo.ml
  create mode 100644 ocamlplugininfo.ml
 
@@ -236,5 +236,5 @@ index 0000000..e28800f
 +        header.units
 +    end
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0002-GNU-config.guess-and-config.sub-replacements.patch b/0002-GNU-config.guess-and-config.sub-replacements.patch
index 2d54028..2b0991d 100644
--- a/0002-GNU-config.guess-and-config.sub-replacements.patch
+++ b/0002-GNU-config.guess-and-config.sub-replacements.patch
@@ -1,13 +1,13 @@
 From bb6f512f26f2f52a747b2de42da9c0d74a7e0e7e Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:42:12 +0100
-Subject: [PATCH 2/7] GNU config.guess and config.sub replacements.
+Subject: [PATCH 2/8] GNU config.guess and config.sub replacements.
 
 The ones supplied by upstream OCaml are 8 years old.  These newer
 versions recognize arm properly.
 ---
  config/gnu/config.guess | 1037 +++++++++++++++++++++++++----------------------
- config/gnu/config.sub   |  424 +++++++++++++++-----
+ config/gnu/config.sub   |  424 ++++++++++++++-----
  2 files changed, 876 insertions(+), 585 deletions(-)
 
 diff --git a/config/gnu/config.guess b/config/gnu/config.guess
@@ -2579,5 +2579,5 @@ index d2e3557..e76eaf4 100755
  # Local variables:
  # eval: (add-hook 'write-file-hooks 'time-stamp)
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0003-Don-t-add-rpaths-to-libraries.patch b/0003-Don-t-add-rpaths-to-libraries.patch
index 7a94fb4..5da8028 100644
--- a/0003-Don-t-add-rpaths-to-libraries.patch
+++ b/0003-Don-t-add-rpaths-to-libraries.patch
@@ -1,11 +1,11 @@
 From 649d2c547fd28c48b52348328cd267854389f45f 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 3/7] Don't add rpaths to libraries.
+Subject: [PATCH 3/8] Don't add rpaths to libraries.
 
 ---
  tools/Makefile.shared |    3 ---
- 1 files changed, 0 insertions(+), 3 deletions(-)
+ 1 file changed, 3 deletions(-)
 
 diff --git a/tools/Makefile.shared b/tools/Makefile.shared
 index 247575a..05de46c 100644
@@ -22,5 +22,5 @@ index 247575a..05de46c 100644
  	  ocamlmklib.mlp >> ocamlmklib.ml
  
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0004-configure-Allow-user-defined-C-compiler-flags.patch b/0004-configure-Allow-user-defined-C-compiler-flags.patch
index 63ec5ad..cbbee5d 100644
--- a/0004-configure-Allow-user-defined-C-compiler-flags.patch
+++ b/0004-configure-Allow-user-defined-C-compiler-flags.patch
@@ -1,11 +1,11 @@
 From 0febdfe1698639ce53e6ed8935cdc573be302b49 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 4/7] configure: Allow user defined C compiler flags.
+Subject: [PATCH 4/8] configure: Allow user defined C compiler flags.
 
 ---
  configure |    4 ++++
- 1 files changed, 4 insertions(+), 0 deletions(-)
+ 1 file changed, 4 insertions(+)
 
 diff --git a/configure b/configure
 index 9be5199..d0a6b0f 100755
@@ -23,5 +23,5 @@ index 9be5199..d0a6b0f 100755
  
  cclibs="$cclibs $mathlib"
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch b/0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch
index 2d42545..d2dbf93 100644
--- a/0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch
+++ b/0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch
@@ -1,7 +1,7 @@
 From e3b5b13c53b62b99c4d6764b52a7269a6fe5b983 Mon Sep 17 00:00:00 2001
 From: Stephane Glondu <steph at glondu.net>
 Date: Tue, 29 May 2012 20:45:32 +0100
-Subject: [PATCH 5/7] ocamlopt/arm: add .type directive for code symbols
+Subject: [PATCH 5/8] ocamlopt/arm: add .type directive for code symbols
 
 Bug: http://caml.inria.fr/mantis/view.php?id=5336
 Bug-Ubuntu: https://bugs.launchpad.net/bugs/810402
@@ -9,7 +9,7 @@ Signed-off-by: Stephane Glondu <steph at glondu.net>
 ---
  asmcomp/arm/emit.mlp |    1 +
  asmrun/arm.S         |   12 ++++++++++++
- 2 files changed, 13 insertions(+), 0 deletions(-)
+ 2 files changed, 13 insertions(+)
 
 diff --git a/asmcomp/arm/emit.mlp b/asmcomp/arm/emit.mlp
 index 2003313..a4b2241 100644
@@ -124,5 +124,5 @@ index 164f731..1313e9c 100644
      /* Load address of [caml_array_bound_error] in r12 */
          ldr     r12, .Lcaml_array_bound_error
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0006-Add-support-for-ppc64.patch b/0006-Add-support-for-ppc64.patch
index 37173b6..a140f77 100644
--- a/0006-Add-support-for-ppc64.patch
+++ b/0006-Add-support-for-ppc64.patch
@@ -1,7 +1,7 @@
 From 07d6360922923ddfa2fe7ff745bed5da27f98e05 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 6/7] Add support for ppc64.
+Subject: [PATCH 6/8] Add support for ppc64.
 
 Note (1): This patch was rejected upstream because they don't have
 appropriate hardware for testing.
@@ -22,7 +22,7 @@ David Woodhouse.
  asmrun/power64-elf.S          |  486 ++++++++++++++++++++
  asmrun/stack.h                |    9 +
  configure                     |    5 +-
- 10 files changed, 2004 insertions(+), 1 deletions(-)
+ 10 files changed, 2004 insertions(+), 1 deletion(-)
  create mode 100644 asmcomp/power64/arch.ml
  create mode 100644 asmcomp/power64/emit.mlp
  create mode 100644 asmcomp/power64/proc.ml
@@ -2126,5 +2126,5 @@ index d0a6b0f..6ed0a9c 100755
                      aspp='gcc -c';;
    power,*,rhapsody) as="as -arch $model"
 -- 
-1.7.7.6
+1.7.10.1
 
diff --git a/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch b/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
index 378c008..ebe664d 100644
--- a/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
+++ b/0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
@@ -1,7 +1,7 @@
 From 22fadc3ed91cb380f7303e8a83ff5806d4576cb5 Mon Sep 17 00:00:00 2001
 From: "Richard W.M. Jones" <rjones at redhat.com>
 Date: Tue, 29 May 2012 20:50:42 +0100
-Subject: [PATCH] New ARM backend, written by Benedikt Meurer (PR#5433).
+Subject: [PATCH 7/8] New ARM backend, written by Benedikt Meurer (PR#5433).
 
 Backported from upstream sources to 3.12.1 by RWMJ.
 
@@ -3103,5 +3103,5 @@ index 6ed0a9c..4e07c92 100755
  esac
  
 -- 
-1.7.10
+1.7.10.1
 
diff --git a/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch b/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
new file mode 100644
index 0000000..c17a2e7
--- /dev/null
+++ b/0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
@@ -0,0 +1,28 @@
+From e14375eca4f1ddd9d3b28c9b45ce4aca05070a95 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 8/8] Link dllthreads.so with -lpthread so that pthread_atfork
+ is included statically.
+
+See:
+https://lists.fedoraproject.org/pipermail/ppc/2012-June/001655.html
+---
+ otherlibs/systhreads/Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/otherlibs/systhreads/Makefile b/otherlibs/systhreads/Makefile
+index 5ee2775..c75ab14 100644
+--- a/otherlibs/systhreads/Makefile
++++ b/otherlibs/systhreads/Makefile
+@@ -30,7 +30,7 @@ all: libthreads.a threads.cma
+ allopt: libthreadsnat.a threads.cmxa
+ 
+ libthreads.a: $(BYTECODE_C_OBJS)
+-	$(MKLIB) -o threads $(BYTECODE_C_OBJS)
++	$(MKLIB) -o threads $(BYTECODE_C_OBJS) -lpthread
+ 
+ st_stubs_b.o: st_stubs.c st_posix.h
+ 	$(BYTECC) -O -I../../byterun $(BYTECCCOMPOPTS) $(SHAREDCCCOMPOPTS) \
+-- 
+1.7.10.1
+
diff --git a/ocaml.spec b/ocaml.spec
index eff55d0..dec0cdc 100644
--- a/ocaml.spec
+++ b/ocaml.spec
@@ -1,6 +1,6 @@
 Name:           ocaml
 Version:        3.12.1
-Release:        9%{?dist}
+Release:        10%{?dist}
 
 Summary:        Objective Caml compiler and programming environment
 
@@ -34,6 +34,7 @@ Patch0004:      0004-configure-Allow-user-defined-C-compiler-flags.patch
 Patch0005:      0005-ocamlopt-arm-add-.type-directive-for-code-symbols.patch
 Patch0006:      0006-Add-support-for-ppc64.patch
 Patch0007:      0007-New-ARM-backend-written-by-Benedikt-Meurer-PR-5433.patch
+Patch0008:      0008-Link-dllthreads.so-with-lpthread-so-that-pthread_atf.patch
 
 # Depend on previous version of OCaml so that ocamlobjinfo
 # can run.
@@ -495,6 +496,11 @@ fi
 
 
 %changelog
+* Tue Jun  5 2012 Richard W.M. Jones <rjones at redhat.com> 3.12.1-10
+- Include patch to link dllthreads.so with -lpthread explicitly, to
+  fix problem with 'pthread_atfork' symbol missing (statically linked)
+  on ppc64.
+
 * Sun Jun  3 2012 Richard W.M. Jones <rjones at redhat.com> 3.12.1-9
 - Include svn rev 12548 to fix invalid generation of Thumb-2 branch
   instruction TBH (upstream PR#5623, RHBZ#821153).


More information about the scm-commits mailing list