blob: 3562f3c2b6bec77c7056ca07d8a9ea7eef4dce5e [file] [log] [blame]
From 05b6a7550756ffdced25a6c51cf2222bad9e59e7 Mon Sep 17 00:00:00 2001
Message-Id: <05b6a7550756ffdced25a6c51cf2222bad9e59e7.1399285491.git.baruch@tkos.co.il>
From: Baruch Siach <baruch@tkos.co.il>
Date: Mon, 5 May 2014 09:32:23 +0300
Subject: [PATCH] Fix build against older pthreads implementations
Older pthreads implementations like glibc NPTL prior to version 2.12, and
uClibc linuxthreads (both), need _XOPEN_SOURCE to expose
pthread_mutexattr_settype() and THREAD_MUTEX_DEFAULT. The value 600 (SuSv3,
POSIX.1-2001) is equivalent to _POSIX_C_SOURCE 200112L.
Fixes the following build error:
CC compat.lo
compat.c: In function 'p11_mutex_init':
compat.c:164:2: warning: implicit declaration of function 'pthread_mutexattr_settype' [-Wimplicit-function-declaration]
compat.c:164:2: warning: nested extern declaration of 'pthread_mutexattr_settype' [-Wnested-externs]
compat.c:164:36: error: 'PTHREAD_MUTEX_DEFAULT' undeclared (first use in this function)
Patch status: sent upstream
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
---
common/compat.h | 6 ++++++
common/message.c | 6 ------
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/common/compat.h b/common/compat.h
index d7fe414a46bf..fbc1dc1d4f0f 100644
--- a/common/compat.h
+++ b/common/compat.h
@@ -37,6 +37,12 @@
#include "config.h"
+/*
+ * Oh god. glibc is nasty. Changes behavior and definitions of POSIX
+ * functions to completely different signatures depending on defines
+ */
+#define _XOPEN_SOURCE 600
+
#include <sys/types.h>
#include <sys/stat.h>
diff --git a/common/message.c b/common/message.c
index 35f2764487a9..e68dfac561c8 100644
--- a/common/message.c
+++ b/common/message.c
@@ -37,12 +37,6 @@
#include "config.h"
-/*
- * Oh god. glibc is nasty. Changes behavior and definitions of POSIX
- * functions to completely different signatures depending on defines
- */
-#define _POSIX_C_SOURCE 200112L
-
#include "compat.h"
#define P11_DEBUG_FLAG P11_DEBUG_LIB
#include "debug.h"
--
2.0.0.rc0