9e30c5c2b1
Signed-off-by: Vicente Olivert Riera <Vincent.Riera@imgtec.com> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
59 lines
1.8 KiB
Diff
59 lines
1.8 KiB
Diff
From 3a732cacd650bd39d86ac13ba0f57eee0df82d5a Mon Sep 17 00:00:00 2001
|
|
From: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
Date: Wed, 14 Mar 2012 15:21:36 +0100
|
|
Subject: [PATCH] inet:rpc: fix build in !NPTL case
|
|
|
|
__libc_once is not available / needed when multithreading support
|
|
is not enabled, so authnone_create() calls authnone_create_once()
|
|
directly.
|
|
When LT.{old,new} is used instead of NPTL, it needs to explicitly
|
|
include <bits/libc-lock.h> to get __libc_once to be visible.
|
|
|
|
Signed-off-by: Carmelo Amoroso <carmelo.amoroso@st.com>
|
|
---
|
|
libc/inet/rpc/auth_none.c | 6 ++++++
|
|
libc/inet/rpc/rpc_private.h | 1 +
|
|
2 files changed, 7 insertions(+)
|
|
|
|
diff --git a/libc/inet/rpc/auth_none.c b/libc/inet/rpc/auth_none.c
|
|
index d066f6b..70bee5b 100644
|
|
--- a/libc/inet/rpc/auth_none.c
|
|
+++ b/libc/inet/rpc/auth_none.c
|
|
@@ -68,7 +68,9 @@ struct authnone_private_s {
|
|
};
|
|
|
|
static struct authnone_private_s authnone_private;
|
|
+#ifdef __UCLIBC_HAS_THREADS__
|
|
__libc_once_define(static, authnone_private_guard);
|
|
+#endif
|
|
|
|
static void authnone_create_once (void);
|
|
|
|
@@ -95,7 +97,11 @@ authnone_create_once (void)
|
|
AUTH *
|
|
authnone_create (void)
|
|
{
|
|
+#ifdef __UCLIBC_HAS_THREADS__
|
|
__libc_once (authnone_private_guard, authnone_create_once);
|
|
+#else
|
|
+ authnone_create_once();
|
|
+#endif
|
|
return &authnone_private.no_client;
|
|
}
|
|
libc_hidden_def(authnone_create)
|
|
diff --git a/libc/inet/rpc/rpc_private.h b/libc/inet/rpc/rpc_private.h
|
|
index e1214d2..38ade1c 100644
|
|
--- a/libc/inet/rpc/rpc_private.h
|
|
+++ b/libc/inet/rpc/rpc_private.h
|
|
@@ -12,6 +12,7 @@ extern u_long _create_xid (void) attribute_hidden;
|
|
*/
|
|
#ifdef __UCLIBC_HAS_THREADS__
|
|
#include <pthread.h>
|
|
+#include <bits/libc-lock.h>
|
|
struct rpc_thread_variables {
|
|
fd_set svc_fdset_s; /* Global, rpc_common.c */
|
|
struct rpc_createerr rpc_createerr_s; /* Global, rpc_common.c */
|
|
--
|
|
1.7.10.4
|
|
|