From a8f396655b8cca3518ac20d07246d91eb138ce07 Mon Sep 17 00:00:00 2001 From: Austin Foxley Date: Tue, 6 Jul 2010 08:30:00 -0700 Subject: Revert "don't make __errno_location / __h_errno_location hidden" This reverts commit 0d6ee549bc86fd330672a79d9a87d2c3825eea67. We need to find a solution that will work in shared and static libraries Signed-off-by: Austin Foxley --- include/netdb.h | 1 + libc/misc/internals/__errno_location.c | 3 +++ libc/misc/internals/__h_errno_location.c | 1 + libc/sysdeps/linux/common/bits/errno.h | 1 + libc/sysdeps/linux/common/bits/uClibc_errno.h | 3 +++ 5 files changed, 9 insertions(+) diff --git a/include/netdb.h b/include/netdb.h index ac411ab93..9d3807d3a 100644 --- a/include/netdb.h +++ b/include/netdb.h @@ -59,6 +59,7 @@ __BEGIN_DECLS /* Function to get address of global `h_errno' variable. */ extern int *__h_errno_location (void) __THROW __attribute__ ((__const__)); +libc_hidden_proto(__h_errno_location) /* Macros for accessing h_errno from inside libc. */ #ifdef _LIBC diff --git a/libc/misc/internals/__errno_location.c b/libc/misc/internals/__errno_location.c index 71c5461a7..aec7641ce 100644 --- a/libc/misc/internals/__errno_location.c +++ b/libc/misc/internals/__errno_location.c @@ -15,3 +15,6 @@ __errno_location (void) { return &errno; } +#ifdef IS_IN_libc /* not really need, only to keep in sync w/ libc_hidden_proto */ +libc_hidden_weak(__errno_location) +#endif diff --git a/libc/misc/internals/__h_errno_location.c b/libc/misc/internals/__h_errno_location.c index 235df4ec6..213d39894 100644 --- a/libc/misc/internals/__h_errno_location.c +++ b/libc/misc/internals/__h_errno_location.c @@ -10,3 +10,4 @@ int * weak_const_function __h_errno_location (void) { return &h_errno; } +libc_hidden_weak(__h_errno_location) diff --git a/libc/sysdeps/linux/common/bits/errno.h b/libc/sysdeps/linux/common/bits/errno.h index de9688ac1..0bf6354fb 100644 --- a/libc/sysdeps/linux/common/bits/errno.h +++ b/libc/sysdeps/linux/common/bits/errno.h @@ -43,6 +43,7 @@ # ifndef __ASSEMBLER__ /* Function to get address of global `errno' variable. */ extern int *__errno_location (void) __THROW __attribute__ ((__const__)); +libc_hidden_proto(__errno_location) # ifdef __UCLIBC_HAS_THREADS__ /* When using threads, errno is a per-thread value. */ diff --git a/libc/sysdeps/linux/common/bits/uClibc_errno.h b/libc/sysdeps/linux/common/bits/uClibc_errno.h index 79eb7e6bd..9c1561841 100644 --- a/libc/sysdeps/linux/common/bits/uClibc_errno.h +++ b/libc/sysdeps/linux/common/bits/uClibc_errno.h @@ -33,6 +33,9 @@ extern int *__errno_location (void) __THROW __attribute__ ((__const__)) ; # if defined __UCLIBC_HAS_THREADS__ # include +# if defined USE___THREAD && USE___THREAD +libc_hidden_proto(__errno_location) +# endif # endif #endif /* !__ASSEMBLER__ */ -- cgit v1.2.3