Patchwork [06/16] libxml2: Add patch for compiling on osx

login
register
mail settings
Submitter Yann Diorcet
Date Oct. 21, 2012, 3:37 p.m.
Message ID <1350833876-9499-6-git-send-email-diorcet.yann@gmail.com>
Download mbox | patch
Permalink /patch/193029/
State Accepted
Delegated to: Esben Haabendal
Headers show

Comments

Yann Diorcet - Oct. 21, 2012, 3:37 p.m.
From: Yann Diorcet <yann.diorcet@belledonne-communications.com>

---
 .../libxml2-2.9.0/pthread_once_init_fix.patch      |   20 ++++++++++++++++++++
 recipes/libxml/libxml2_2.9.0.oe                    |    2 ++
 2 files changed, 22 insertions(+)
 create mode 100644 recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
Esben Haabendal - Feb. 28, 2013, 1:19 p.m.
Yann Diorcet <diorcet.yann@gmail.com> writes:

> From: Yann Diorcet <yann.diorcet@belledonne-communications.com>
>
> ---
>  .../libxml2-2.9.0/pthread_once_init_fix.patch      |   20 ++++++++++++++++++++
>  recipes/libxml/libxml2_2.9.0.oe                    |    2 ++
>  2 files changed, 22 insertions(+)
>  create mode 100644 recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
>
> diff --git a/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
> new file mode 100644
> index 0000000..847aa39
> --- /dev/null
> +++ b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
> @@ -0,0 +1,20 @@
> +diff -urN libxml2-2.9.0/threads.c libxml2-2.9.0.mod/threads.c
> +--- libxml2-2.9.0/threads.c	2012-09-11 05:52:46.000000000 +0200
> ++++ libxml2-2.9.0.mod/threads.c	2012-10-17 18:00:08.000000000 +0200
> +@@ -146,6 +146,7 @@
> + static pthread_key_t globalkey;
> + static pthread_t mainthread;
> + static pthread_once_t once_control = PTHREAD_ONCE_INIT;
> ++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
> + static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
> + #elif defined HAVE_WIN32_THREADS
> + #if defined(HAVE_COMPILER_TLS)
> +@@ -915,7 +916,7 @@
> + #ifdef HAVE_PTHREAD_H
> +     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
> +         pthread_key_delete(globalkey);
> +-    once_control = PTHREAD_ONCE_INIT;
> ++    once_control = once_control_init;
> + #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
> +     if (globalkey != TLS_OUT_OF_INDEXES) {
> +         xmlGlobalStateCleanupHelperParams *p;
> diff --git a/recipes/libxml/libxml2_2.9.0.oe b/recipes/libxml/libxml2_2.9.0.oe
> index 8c656f1..888a5af 100644
> --- a/recipes/libxml/libxml2_2.9.0.oe
> +++ b/recipes/libxml/libxml2_2.9.0.oe
> @@ -1,3 +1,5 @@
>  LICENSE = "MIT"
>  
>  require libxml2.inc
> +
> +SRC_URI += "file://pthread_once_init_fix.patch"

Merged to master, thanks.

/Esben

Patch

diff --git a/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
new file mode 100644
index 0000000..847aa39
--- /dev/null
+++ b/recipes/libxml/libxml2-2.9.0/pthread_once_init_fix.patch
@@ -0,0 +1,20 @@ 
+diff -urN libxml2-2.9.0/threads.c libxml2-2.9.0.mod/threads.c
+--- libxml2-2.9.0/threads.c	2012-09-11 05:52:46.000000000 +0200
++++ libxml2-2.9.0.mod/threads.c	2012-10-17 18:00:08.000000000 +0200
+@@ -146,6 +146,7 @@
+ static pthread_key_t globalkey;
+ static pthread_t mainthread;
+ static pthread_once_t once_control = PTHREAD_ONCE_INIT;
++static pthread_once_t once_control_init = PTHREAD_ONCE_INIT;
+ static pthread_mutex_t global_init_lock = PTHREAD_MUTEX_INITIALIZER;
+ #elif defined HAVE_WIN32_THREADS
+ #if defined(HAVE_COMPILER_TLS)
+@@ -915,7 +916,7 @@
+ #ifdef HAVE_PTHREAD_H
+     if ((libxml_is_threaded)  && (pthread_key_delete != NULL))
+         pthread_key_delete(globalkey);
+-    once_control = PTHREAD_ONCE_INIT;
++    once_control = once_control_init;
+ #elif defined(HAVE_WIN32_THREADS) && !defined(HAVE_COMPILER_TLS) && (!defined(LIBXML_STATIC) || defined(LIBXML_STATIC_FOR_DLL))
+     if (globalkey != TLS_OUT_OF_INDEXES) {
+         xmlGlobalStateCleanupHelperParams *p;
diff --git a/recipes/libxml/libxml2_2.9.0.oe b/recipes/libxml/libxml2_2.9.0.oe
index 8c656f1..888a5af 100644
--- a/recipes/libxml/libxml2_2.9.0.oe
+++ b/recipes/libxml/libxml2_2.9.0.oe
@@ -1,3 +1,5 @@ 
 LICENSE = "MIT"
 
 require libxml2.inc
+
+SRC_URI += "file://pthread_once_init_fix.patch"