From 2900ba44088c4c0efafc71ebcf69cb578c95b453 Mon Sep 17 00:00:00 2001 From: Eric Andersen Date: Fri, 14 May 2004 11:12:25 +0000 Subject: Joakim Tjernlund writes: Hi Erik It seems to me that __pthread_once and __pthread_initialize_minimal could be made WEAKs with no stub. The code in rpc_thread.c and __uClibc_main.c appears to expect this. Also, __pthread_return_0 __pthread_return_1 and __pthread_return_void can be static, not to pollute the name space. Jocke --- libc/inet/rpc/rpc_thread.c | 2 +- libc/misc/pthread/weaks.c | 16 ++++++---------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/libc/inet/rpc/rpc_thread.c b/libc/inet/rpc/rpc_thread.c index ba5350ec9..75a5d0f4d 100644 --- a/libc/inet/rpc/rpc_thread.c +++ b/libc/inet/rpc/rpc_thread.c @@ -35,7 +35,7 @@ __rpc_thread_destroy (void) } -extern int __pthread_once (pthread_once_t *__once_control, +extern int weak_function __pthread_once (pthread_once_t *__once_control, void (*__init_routine) (void)); # define __libc_once_define(CLASS, NAME) \ diff --git a/libc/misc/pthread/weaks.c b/libc/misc/pthread/weaks.c index 1320433f3..90b4f5494 100644 --- a/libc/misc/pthread/weaks.c +++ b/libc/misc/pthread/weaks.c @@ -21,9 +21,9 @@ #include #include -extern int __pthread_return_0 __P ((void)); -extern int __pthread_return_1 __P ((void)); -extern void __pthread_return_void __P ((void)); +static int __pthread_return_0 __P ((void)); +static int __pthread_return_1 __P ((void)); +static void __pthread_return_void __P ((void)); /**********************************************************************/ /* Weaks for application/library use. @@ -105,25 +105,21 @@ weak_alias (__pthread_return_0, __pthread_mutex_lock) weak_alias (__pthread_return_0, __pthread_mutex_trylock) weak_alias (__pthread_return_0, __pthread_mutex_unlock) -/* Weaks used internally by the C library rpc code only. */ -weak_alias (__pthread_return_0, __pthread_once) -weak_alias (__pthread_return_void, __pthread_initialize_minimal) - /**********************************************************************/ -int +static int __pthread_return_0 (void) { return 0; } -int +static int __pthread_return_1 (void) { return 1; } -void +static void __pthread_return_void (void) { } -- cgit v1.2.3