summaryrefslogtreecommitdiff
path: root/libc
diff options
context:
space:
mode:
Diffstat (limited to 'libc')
-rw-r--r--libc/inet/getaddrinfo.c9
-rw-r--r--libc/inet/getproto.c33
-rw-r--r--libc/inet/hostid.c2
-rw-r--r--libc/inet/resolv.c61
-rw-r--r--libc/inet/rpc/auth_unix.c2
-rw-r--r--libc/inet/rpc/clnt_generic.c2
-rw-r--r--libc/inet/rpc/clnt_raw.c1
-rw-r--r--libc/inet/rpc/clnt_simple.c1
-rw-r--r--libc/inet/rpc/clnt_tcp.c1
-rw-r--r--libc/inet/rpc/clnt_udp.c2
-rw-r--r--libc/inet/rpc/clnt_unix.c1
-rw-r--r--libc/inet/rpc/getrpcport.c1
-rw-r--r--libc/inet/rpc/rcmd.c4
-rw-r--r--libc/inet/rpc/rexec.c4
-rw-r--r--libc/inet/rpc/rpc_prot.c5
-rw-r--r--libc/inet/rpc/ruserpass.c1
-rw-r--r--libc/inet/rpc/svc_tcp.c1
-rw-r--r--libc/inet/rpc/svc_udp.c1
-rw-r--r--libc/inet/rpc/svc_unix.c1
-rw-r--r--libc/inet/socketcalls.c7
-rw-r--r--libc/misc/ftw/ftw.c1
-rw-r--r--libc/misc/mntent/mntent.c11
-rw-r--r--libc/misc/regex/regex.c1
-rw-r--r--libc/misc/regex/regex_old.c1
-rw-r--r--libc/misc/statfs/internal_statvfs.c15
-rw-r--r--libc/misc/time/time.c12
-rw-r--r--libc/misc/utmp/utent.c47
-rw-r--r--libc/misc/wchar/wstdio.c1
-rw-r--r--libc/misc/wordexp/wordexp.c2
-rw-r--r--libc/pwd_grp/pwd_grp.c130
-rw-r--r--libc/pwd_grp/pwd_grp_internal.c4
-rw-r--r--libc/stdio/scanf.c2
-rw-r--r--libc/stdio/ungetwc.c3
-rw-r--r--libc/stdio/vfprintf.c1
-rw-r--r--libc/stdlib/ptsname.c5
-rw-r--r--libc/stdlib/realpath.c1
-rw-r--r--libc/stdlib/stdlib.c1
-rw-r--r--libc/stdlib/unix_grantpt.c4
-rw-r--r--libc/sysdeps/linux/common/getcwd.c4
-rw-r--r--libc/sysdeps/linux/common/getdirname.c2
-rw-r--r--libc/sysdeps/linux/common/getdnnm.c7
-rw-r--r--libc/sysdeps/linux/common/getgroups.c3
-rw-r--r--libc/sysdeps/linux/common/gethstnm.c7
-rw-r--r--libc/sysdeps/linux/common/getpriority.c3
-rw-r--r--libc/sysdeps/linux/common/getsid.c3
-rw-r--r--libc/sysdeps/linux/common/nice.c3
-rw-r--r--libc/sysdeps/linux/common/setegid.c3
-rw-r--r--libc/sysdeps/linux/common/seteuid.c6
-rw-r--r--libc/sysdeps/linux/common/setgroups.c3
-rw-r--r--libc/sysdeps/linux/common/setpgid.c3
-rw-r--r--libc/sysdeps/linux/common/setpgrp.c2
-rw-r--r--libc/sysdeps/linux/common/setpriority.c4
-rw-r--r--libc/sysdeps/linux/common/setregid.c3
-rw-r--r--libc/sysdeps/linux/common/setresgid.c3
-rw-r--r--libc/sysdeps/linux/common/setresuid.c3
-rw-r--r--libc/sysdeps/linux/common/setreuid.c3
-rw-r--r--libc/sysdeps/linux/common/setsid.c4
-rw-r--r--libc/sysdeps/linux/common/uname.c4
-rw-r--r--libc/sysdeps/linux/powerpc/ioctl.c3
-rw-r--r--libc/termios/tcgetattr.c4
-rw-r--r--libc/termios/tcgetsid.c3
-rw-r--r--libc/termios/tcsetattr.c3
-rw-r--r--libc/termios/termios.c23
-rw-r--r--libc/termios/ttyname.c17
-rw-r--r--libc/unistd/daemon.c1
-rw-r--r--libc/unistd/getpass.c2
66 files changed, 362 insertions, 149 deletions
diff --git a/libc/inet/getaddrinfo.c b/libc/inet/getaddrinfo.c
index c467fed69..e896e3449 100644
--- a/libc/inet/getaddrinfo.c
+++ b/libc/inet/getaddrinfo.c
@@ -45,7 +45,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
/* This software is Copyright 1996 by Craig Metz, All Rights Reserved. */
#define getservbyname_r __getservbyname_r
+#define gethostbyname_r __gethostbyname_r
+#define gethostbyname2_r __gethostbyname2_r
+#define gethostbyaddr_r __gethostbyaddr_r
#if 0
+#define uname __uname
#define stpcpy __stpcpy
/* strdupa is using these */
#define memcpy __memcpy
@@ -767,8 +771,8 @@ static struct gaih gaih[] =
{ PF_UNSPEC, NULL }
};
-int
-getaddrinfo (const char *name, const char *service,
+int attribute_hidden
+__getaddrinfo (const char *name, const char *service,
const struct addrinfo *hints, struct addrinfo **pai)
{
int i = 0, j = 0, last_i = 0;
@@ -866,6 +870,7 @@ getaddrinfo (const char *name, const char *service,
return last_i ? -(last_i & GAIH_EAI) : EAI_NONAME;
}
+strong_alias(__getaddrinfo,getaddrinfo)
void
freeaddrinfo (struct addrinfo *ai)
diff --git a/libc/inet/getproto.c b/libc/inet/getproto.c
index a5ebcb3e9..adb83a5ca 100644
--- a/libc/inet/getproto.c
+++ b/libc/inet/getproto.c
@@ -91,7 +91,7 @@ static void __initbuf(void)
}
}
-void setprotoent(int f)
+void attribute_hidden __setprotoent(int f)
{
LOCK;
if (protof == NULL)
@@ -101,8 +101,9 @@ void setprotoent(int f)
proto_stayopen |= f;
UNLOCK;
}
+strong_alias(__setprotoent,setprotoent)
-void endprotoent(void)
+void attribute_hidden __endprotoent(void)
{
LOCK;
if (protof) {
@@ -112,8 +113,9 @@ void endprotoent(void)
proto_stayopen = 0;
UNLOCK;
}
+strong_alias(__endprotoent,endprotoent)
-int getprotoent_r(struct protoent *result_buf,
+int attribute_hidden __getprotoent_r(struct protoent *result_buf,
char *buf, size_t buflen,
struct protoent **result)
{
@@ -189,18 +191,19 @@ again:
UNLOCK;
return 0;
}
+strong_alias(__getprotoent_r,getprotoent_r)
struct protoent * getprotoent(void)
{
struct protoent *result;
__initbuf();
- getprotoent_r(&proto, static_aliases, SBUFSIZE, &result);
+ __getprotoent_r(&proto, static_aliases, SBUFSIZE, &result);
return result;
}
-int getprotobyname_r(const char *name,
+int attribute_hidden __getprotobyname_r(const char *name,
struct protoent *result_buf,
char *buf, size_t buflen,
struct protoent **result)
@@ -209,8 +212,8 @@ int getprotobyname_r(const char *name,
int ret;
LOCK;
- setprotoent(proto_stayopen);
- while (!(ret=getprotoent_r(result_buf, buf, buflen, result))) {
+ __setprotoent(proto_stayopen);
+ while (!(ret=__getprotoent_r(result_buf, buf, buflen, result))) {
if (__strcmp(result_buf->p_name, name) == 0)
break;
for (cp = result_buf->p_aliases; *cp != 0; cp++)
@@ -219,10 +222,11 @@ int getprotobyname_r(const char *name,
}
found:
if (!proto_stayopen)
- endprotoent();
+ __endprotoent();
UNLOCK;
return *result?0:ret;
}
+strong_alias(__getprotobyname_r,getprotobyname_r)
struct protoent * getprotobyname(const char *name)
@@ -230,12 +234,12 @@ struct protoent * getprotobyname(const char *name)
struct protoent *result;
__initbuf();
- getprotobyname_r(name, &proto, static_aliases, SBUFSIZE, &result);
+ __getprotobyname_r(name, &proto, static_aliases, SBUFSIZE, &result);
return result;
}
-int getprotobynumber_r (int proto_num,
+int attribute_hidden __getprotobynumber_r (int proto_num,
struct protoent *result_buf,
char *buf, size_t buflen,
struct protoent **result)
@@ -243,22 +247,23 @@ int getprotobynumber_r (int proto_num,
int ret;
LOCK;
- setprotoent(proto_stayopen);
- while (!(ret=getprotoent_r(result_buf, buf, buflen, result)))
+ __setprotoent(proto_stayopen);
+ while (!(ret=__getprotoent_r(result_buf, buf, buflen, result)))
if (result_buf->p_proto == proto_num)
break;
if (!proto_stayopen)
- endprotoent();
+ __endprotoent();
UNLOCK;
return *result?0:ret;
}
+strong_alias(__getprotobynumber_r,getprotobynumber_r)
struct protoent * getprotobynumber(int proto_num)
{
struct protoent *result;
__initbuf();
- getprotobynumber_r(proto_num, &proto, static_aliases,
+ __getprotobynumber_r(proto_num, &proto, static_aliases,
SBUFSIZE, &result);
return result;
}
diff --git a/libc/inet/hostid.c b/libc/inet/hostid.c
index 1a3e05113..bc9576e74 100644
--- a/libc/inet/hostid.c
+++ b/libc/inet/hostid.c
@@ -1,5 +1,7 @@
#define geteuid __geteuid
#define getuid __getuid
+#define gethostbyname __gethostbyname
+#define gethostname __gethostname
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/resolv.c b/libc/inet/resolv.c
index d2f90a270..af38c14a5 100644
--- a/libc/inet/resolv.c
+++ b/libc/inet/resolv.c
@@ -138,6 +138,8 @@
#define strstr __strstr
#define random __random
#define getservbyport __getservbyport
+#define getdomainname __getdomainname
+#define uname __uname
#define __FORCE_GLIBC
#include <features.h>
@@ -159,6 +161,14 @@
#include <sys/utsname.h>
#include <sys/un.h>
+extern int __gethostbyname_r (__const char *__restrict __name,
+ struct hostent *__restrict __result_buf,
+ char *__restrict __buf, size_t __buflen,
+ struct hostent **__restrict __result,
+ int *__restrict __h_errnop) attribute_hidden;
+
+extern struct hostent *__gethostbyaddr (__const void *__addr, __socklen_t __len,
+ int __type) attribute_hidden;
#define MAX_RECURSE 5
#define REPLY_TIMEOUT 10
#define MAX_RETRIES 3
@@ -1069,7 +1079,7 @@ void attribute_hidden __close_nameservers(void)
#ifdef L_gethostbyname
-struct hostent *gethostbyname(const char *name)
+struct hostent attribute_hidden *__gethostbyname(const char *name)
{
static struct hostent h;
static char buf[sizeof(struct in_addr) +
@@ -1077,18 +1087,29 @@ struct hostent *gethostbyname(const char *name)
sizeof(char *)*(ALIAS_DIM) + 384/*namebuffer*/ + 32/* margin */];
struct hostent *hp;
- gethostbyname_r(name, &h, buf, sizeof(buf), &hp, &h_errno);
+ __gethostbyname_r(name, &h, buf, sizeof(buf), &hp, &h_errno);
return hp;
}
+strong_alias(__gethostbyname,gethostbyname)
#endif
#ifdef L_gethostbyname2
+#ifndef __UCLIBC_HAS_IPV6__
+extern struct hostent *__gethostbyname (__const char *__name) attribute_hidden;
+#else
+extern int __gethostbyname2_r (__const char *__restrict __name, int __af,
+ struct hostent *__restrict __result_buf,
+ char *__restrict __buf, size_t __buflen,
+ struct hostent **__restrict __result,
+ int *__restrict __h_errnop) attribute_hidden;
+#endif
+
struct hostent *gethostbyname2(const char *name, int family)
{
#ifndef __UCLIBC_HAS_IPV6__
- return family == AF_INET ? gethostbyname(name) : (struct hostent*)0;
+ return family == AF_INET ? __gethostbyname(name) : (struct hostent*)0;
#else /* __UCLIBC_HAS_IPV6__ */
static struct hostent h;
static char buf[sizeof(struct in6_addr) +
@@ -1096,7 +1117,7 @@ struct hostent *gethostbyname2(const char *name, int family)
sizeof(char *)*(ALIAS_DIM) + 384/*namebuffer*/ + 32/* margin */];
struct hostent *hp;
- gethostbyname2_r(name, family, &h, buf, sizeof(buf), &hp, &h_errno);
+ __gethostbyname2_r(name, family, &h, buf, sizeof(buf), &hp, &h_errno);
return hp;
#endif /* __UCLIBC_HAS_IPV6__ */
@@ -1405,7 +1426,14 @@ int res_querydomain(name, domain, class, type, answer, anslen)
#endif
#ifdef L_gethostbyaddr
-struct hostent *gethostbyaddr (const void *addr, socklen_t len, int type)
+extern int __gethostbyaddr_r (__const void *__restrict __addr, __socklen_t __len,
+ int __type,
+ struct hostent *__restrict __result_buf,
+ char *__restrict __buf, size_t __buflen,
+ struct hostent **__restrict __result,
+ int *__restrict __h_errnop) attribute_hidden;
+
+struct hostent attribute_hidden *__gethostbyaddr (const void *addr, socklen_t len, int type)
{
static struct hostent h;
static char buf[
@@ -1417,10 +1445,11 @@ struct hostent *gethostbyaddr (const void *addr, socklen_t len, int type)
sizeof(char *)*(ALIAS_DIM) + 384/*namebuffer*/ + 32/* margin */];
struct hostent *hp;
- gethostbyaddr_r(addr, len, type, &h, buf, sizeof(buf), &hp, &h_errno);
+ __gethostbyaddr_r(addr, len, type, &h, buf, sizeof(buf), &hp, &h_errno);
return hp;
}
+strong_alias(__gethostbyaddr,gethostbyaddr)
#endif
@@ -1706,7 +1735,7 @@ int attribute_hidden __get_hosts_byaddr_r(const char * addr, int len, int type,
# define min(x,y) (((x) > (y)) ? (y) : (x))
#endif /* min */
-int getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
+int attribute_hidden __getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
socklen_t hostlen, char *serv, socklen_t servlen,
unsigned int flags)
{
@@ -1747,12 +1776,12 @@ int getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
if (!(flags & NI_NUMERICHOST)) {
#ifdef __UCLIBC_HAS_IPV6__
if (sa->sa_family == AF_INET6)
- h = gethostbyaddr ((const void *)
+ h = __gethostbyaddr ((const void *)
&(((const struct sockaddr_in6 *) sa)->sin6_addr),
sizeof(struct in6_addr), AF_INET6);
else
#endif /* __UCLIBC_HAS_IPV6__ */
- h = gethostbyaddr ((const void *) &(((const struct sockaddr_in *)sa)->sin_addr),
+ h = __gethostbyaddr ((const void *) &(((const struct sockaddr_in *)sa)->sin_addr),
sizeof(struct in_addr), AF_INET);
if (h) {
@@ -1892,12 +1921,13 @@ int getnameinfo (const struct sockaddr *sa, socklen_t addrlen, char *host,
errno = serrno;
return 0;
}
+strong_alias(__getnameinfo,getnameinfo)
#endif
#ifdef L_gethostbyname_r
-int gethostbyname_r(const char * name,
+int attribute_hidden __gethostbyname_r(const char * name,
struct hostent * result_buf,
char * buf, size_t buflen,
struct hostent ** result,
@@ -2046,18 +2076,19 @@ int gethostbyname_r(const char * name,
*h_errnop = NETDB_SUCCESS;
return NETDB_SUCCESS;
}
+strong_alias(__gethostbyname_r,gethostbyname_r)
#endif
#ifdef L_gethostbyname2_r
-int gethostbyname2_r(const char *name, int family,
+int attribute_hidden __gethostbyname2_r(const char *name, int family,
struct hostent * result_buf,
char * buf, size_t buflen,
struct hostent ** result,
int * h_errnop)
{
#ifndef __UCLIBC_HAS_IPV6__
- return family == (AF_INET)? gethostbyname_r(name, result_buf,
+ return family == (AF_INET)? __gethostbyname_r(name, result_buf,
buf, buflen, result, h_errnop) : HOST_NOT_FOUND;
#else /* __UCLIBC_HAS_IPV6__ */
struct in6_addr *in;
@@ -2070,7 +2101,7 @@ int gethostbyname2_r(const char *name, int family,
char ** __nameserverXX;
if (family == AF_INET)
- return gethostbyname_r(name, result_buf, buf, buflen, result, h_errnop);
+ return __gethostbyname_r(name, result_buf, buf, buflen, result, h_errnop);
if (family != AF_INET6)
return EINVAL;
@@ -2188,10 +2219,11 @@ int gethostbyname2_r(const char *name, int family,
return NETDB_SUCCESS;
#endif /* __UCLIBC_HAS_IPV6__ */
}
+strong_alias(__gethostbyname2_r,gethostbyname2_r)
#endif
#ifdef L_gethostbyaddr_r
-int gethostbyaddr_r (const void *addr, socklen_t len, int type,
+int attribute_hidden __gethostbyaddr_r (const void *addr, socklen_t len, int type,
struct hostent * result_buf,
char * buf, size_t buflen,
struct hostent ** result,
@@ -2372,6 +2404,7 @@ int gethostbyaddr_r (const void *addr, socklen_t len, int type,
*h_errnop = NETDB_SUCCESS;
return NETDB_SUCCESS;
}
+strong_alias(__gethostbyaddr_r,gethostbyaddr_r)
#endif
#ifdef L_res_comp
diff --git a/libc/inet/rpc/auth_unix.c b/libc/inet/rpc/auth_unix.c
index 95733163c..87852f36e 100644
--- a/libc/inet/rpc/auth_unix.c
+++ b/libc/inet/rpc/auth_unix.c
@@ -41,6 +41,8 @@
#define sysconf __sysconf
#define getegid __getegid
#define geteuid __geteuid
+#define getgroups __getgroups
+#define gethostname __gethostname
#define xdrmem_create __xdrmem_create
#define xdr_authunix_parms __xdr_authunix_parms
#define xdr_opaque_auth __xdr_opaque_auth
diff --git a/libc/inet/rpc/clnt_generic.c b/libc/inet/rpc/clnt_generic.c
index 1b30d2e1c..518ca0fa8 100644
--- a/libc/inet/rpc/clnt_generic.c
+++ b/libc/inet/rpc/clnt_generic.c
@@ -33,6 +33,8 @@
#define clnttcp_create __clnttcp_create
#define clntudp_create __clntudp_create
#define clntunix_create __clntunix_create
+#define getprotobyname_r __getprotobyname_r
+#define gethostbyname_r __gethostbyname_r
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/clnt_raw.c b/libc/inet/rpc/clnt_raw.c
index ff48523a9..aa7b44bb4 100644
--- a/libc/inet/rpc/clnt_raw.c
+++ b/libc/inet/rpc/clnt_raw.c
@@ -48,6 +48,7 @@ static char sccsid[] = "@(#)clnt_raw.c 1.22 87/08/11 Copyr 1984 Sun Micro";
#define xdr_replymsg __xdr_replymsg
#define xdr_opaque_auth __xdr_opaque_auth
#define svc_getreq __svc_getreq
+#define _seterr_reply __seterr_reply
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/clnt_simple.c b/libc/inet/rpc/clnt_simple.c
index 9105fc266..7c17dc1f1 100644
--- a/libc/inet/rpc/clnt_simple.c
+++ b/libc/inet/rpc/clnt_simple.c
@@ -39,6 +39,7 @@ static char sccsid[] = "@(#)clnt_simple.c 1.35 87/08/11 Copyr 1984 Sun Micro";
*/
#define clntudp_create __clntudp_create
+#define gethostbyname_r __gethostbyname_r
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/clnt_tcp.c b/libc/inet/rpc/clnt_tcp.c
index 4221eff63..f006c3383 100644
--- a/libc/inet/rpc/clnt_tcp.c
+++ b/libc/inet/rpc/clnt_tcp.c
@@ -59,6 +59,7 @@ static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro";
#define xdr_opaque_auth __xdr_opaque_auth
#define xdrmem_create __xdrmem_create
#define pmap_getport __pmap_getport
+#define _seterr_reply __seterr_reply
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/clnt_udp.c b/libc/inet/rpc/clnt_udp.c
index b3d26fc21..c59a119b9 100644
--- a/libc/inet/rpc/clnt_udp.c
+++ b/libc/inet/rpc/clnt_udp.c
@@ -45,8 +45,8 @@ static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro";
#define xdr_callhdr __xdr_callhdr
#define xdr_replymsg __xdr_replymsg
#define xdr_opaque_auth __xdr_opaque_auth
-
#define pmap_getport __pmap_getport
+#define _seterr_reply __seterr_reply
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/clnt_unix.c b/libc/inet/rpc/clnt_unix.c
index 18b20af16..efdd39005 100644
--- a/libc/inet/rpc/clnt_unix.c
+++ b/libc/inet/rpc/clnt_unix.c
@@ -56,6 +56,7 @@
#define xdrmem_create __xdrmem_create
#define getegid __getegid
#define geteuid __geteuid
+#define _seterr_reply __seterr_reply
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/getrpcport.c b/libc/inet/rpc/getrpcport.c
index 518d190f8..48e58d9ab 100644
--- a/libc/inet/rpc/getrpcport.c
+++ b/libc/inet/rpc/getrpcport.c
@@ -36,6 +36,7 @@ static char sccsid[] = "@(#)getrpcport.c 1.3 87/08/11 SMI";
*/
#define pmap_getport __pmap_getport
+#define gethostbyname_r __gethostbyname_r
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/rcmd.c b/libc/inet/rpc/rcmd.c
index bd95a7e0c..bbcc7b354 100644
--- a/libc/inet/rpc/rcmd.c
+++ b/libc/inet/rpc/rcmd.c
@@ -39,6 +39,10 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94";
#define sysconf __sysconf
#define getline __getline
#define geteuid __geteuid
+#define seteuid __seteuid
+#define getpwnam_r __getpwnam_r
+#define gethostbyname __gethostbyname
+#define gethostbyname_r __gethostbyname_r
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/rexec.c b/libc/inet/rpc/rexec.c
index e5e8d42de..98a8bf32e 100644
--- a/libc/inet/rpc/rexec.c
+++ b/libc/inet/rpc/rexec.c
@@ -27,6 +27,10 @@
* SUCH DAMAGE.
*/
+#define getnameinfo __getnameinfo
+#define getaddrinfo __getaddrinfo
+#define getsockname __getsockname
+
#define __FORCE_GLIBC
#include <features.h>
#include <sys/types.h>
diff --git a/libc/inet/rpc/rpc_prot.c b/libc/inet/rpc/rpc_prot.c
index 60cd5ff19..afc1dccd1 100644
--- a/libc/inet/rpc/rpc_prot.c
+++ b/libc/inet/rpc/rpc_prot.c
@@ -240,8 +240,8 @@ rejected (enum reject_stat rjct_stat,
/*
* given a reply message, fills in the error
*/
-void
-_seterr_reply (struct rpc_msg *msg,
+void attribute_hidden
+__seterr_reply (struct rpc_msg *msg,
struct rpc_err *error)
{
/* optimized for normal, SUCCESSful case */
@@ -285,3 +285,4 @@ _seterr_reply (struct rpc_msg *msg,
break;
}
}
+strong_alias(__seterr_reply,_seterr_reply)
diff --git a/libc/inet/rpc/ruserpass.c b/libc/inet/rpc/ruserpass.c
index 70a86969b..3c48122ac 100644
--- a/libc/inet/rpc/ruserpass.c
+++ b/libc/inet/rpc/ruserpass.c
@@ -32,6 +32,7 @@
#define getuid __getuid
#define getegid __getegid
#define geteuid __geteuid
+#define gethostname __gethostname
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/rpc/svc_tcp.c b/libc/inet/rpc/svc_tcp.c
index 888841a7d..32b3cc995 100644
--- a/libc/inet/rpc/svc_tcp.c
+++ b/libc/inet/rpc/svc_tcp.c
@@ -48,6 +48,7 @@ static char sccsid[] = "@(#)svc_tcp.c 1.21 87/08/11 Copyr 1984 Sun Micro";
#define xdr_callmsg __xdr_callmsg
#define xdr_replymsg __xdr_replymsg
#define xprt_register __xprt_register
+#define getsockname __getsockname
#define __FORCE_GLIBC
#define _GNU_SOURCE
diff --git a/libc/inet/rpc/svc_udp.c b/libc/inet/rpc/svc_udp.c
index 8154ebf91..197084144 100644
--- a/libc/inet/rpc/svc_udp.c
+++ b/libc/inet/rpc/svc_udp.c
@@ -43,6 +43,7 @@ static char sccsid[] = "@(#)svc_udp.c 1.24 87/08/11 Copyr 1984 Sun Micro";
#define xdrmem_create __xdrmem_create
#define xdr_callmsg __xdr_callmsg
#define xdr_replymsg __xdr_replymsg
+#define getsockname __getsockname
#define __FORCE_GLIBC
#define _GNU_SOURCE
diff --git a/libc/inet/rpc/svc_unix.c b/libc/inet/rpc/svc_unix.c
index 3f10117e5..79c27ac5f 100644
--- a/libc/inet/rpc/svc_unix.c
+++ b/libc/inet/rpc/svc_unix.c
@@ -46,6 +46,7 @@
#define xprt_register __xprt_register
#define getegid __getegid
#define geteuid __geteuid
+#define getsockname __getsockname
#define __FORCE_GLIBC
#include <features.h>
diff --git a/libc/inet/socketcalls.c b/libc/inet/socketcalls.c
index 2215d2d99..1dbffa3d1 100644
--- a/libc/inet/socketcalls.c
+++ b/libc/inet/socketcalls.c
@@ -98,9 +98,11 @@ int getpeername(int sockfd, struct sockaddr *addr, socklen_t * paddrlen)
#ifdef L_getsockname
#ifdef __NR_getsockname
-_syscall3(int, getsockname, int, sockfd, struct sockaddr *, addr, socklen_t *,paddrlen);
+#define __NR___getsockname __NR_getsockname
+attribute_hidden _syscall3(int, __getsockname, int, sockfd, struct sockaddr *, addr, socklen_t *,paddrlen);
+strong_alias(__getsockname,getsockname)
#elif defined(__NR_socketcall)
-int getsockname(int sockfd, struct sockaddr *addr, socklen_t * paddrlen)
+int attribute_hidden __getsockname(int sockfd, struct sockaddr *addr, socklen_t * paddrlen)
{
unsigned long args[3];
@@ -109,6 +111,7 @@ int getsockname(int sockfd, struct sockaddr *addr, socklen_t * paddrlen)
args[2] = (unsigned long) paddrlen;
return __socketcall(SYS_GETSOCKNAME, args);
}
+strong_alias(__getsockname,getsockname)
#endif
#endif
diff --git a/libc/misc/ftw/ftw.c b/libc/misc/ftw/ftw.c
index 6bd36d749..09a87e4be 100644
--- a/libc/misc/ftw/ftw.c
+++ b/libc/misc/ftw/ftw.c
@@ -26,6 +26,7 @@
#define tsearch __tsearch
#define tdestroy __tdestroy
#define fchdir __fchdir
+#define getcwd __getcwd
#define _GNU_SOURCE
#include <features.h>
diff --git a/libc/misc/mntent/mntent.c b/libc/misc/mntent/mntent.c
index 35767280e..81575a679 100644
--- a/libc/misc/mntent/mntent.c
+++ b/libc/misc/mntent/mntent.c
@@ -14,7 +14,7 @@ static pthread_mutex_t mylock = PTHREAD_MUTEX_INITIALIZER;
#define UNLOCK __pthread_mutex_unlock(&mylock)
/* Reentrant version of getmntent. */
-struct mntent *getmntent_r (FILE *filep,
+struct mntent attribute_hidden *__getmntent_r (FILE *filep,
struct mntent *mnt, char *buff, int bufsize)
{
char *cp, *ptrptr;
@@ -61,6 +61,7 @@ struct mntent *getmntent_r (FILE *filep,
return mnt;
}
+strong_alias(__getmntent_r,getmntent_r)
struct mntent *getmntent(FILE * filep)
{
@@ -75,7 +76,7 @@ struct mntent *getmntent(FILE * filep)
abort();
}
- tmp = getmntent_r(filep, &mnt, buff, BUFSIZ);
+ tmp = __getmntent_r(filep, &mnt, buff, BUFSIZ);
UNLOCK;
return(tmp);
}
@@ -97,14 +98,16 @@ char *hasmntopt(const struct mntent *mnt, const char *opt)
return strstr(mnt->mnt_opts, opt);
}
-FILE *setmntent(const char *name, const char *mode)
+FILE attribute_hidden *__setmntent(const char *name, const char *mode)
{
return fopen(name, mode);
}
+strong_alias(__setmntent,setmntent)
-int endmntent(FILE * filep)
+int attribute_hidden __endmntent(FILE * filep)
{
if (filep != NULL)
fclose(filep);
return 1;
}
+strong_alias(__endmntent,endmntent)
diff --git a/libc/misc/regex/regex.c b/libc/misc/regex/regex.c
index 0eefa85c9..5220ba57c 100644
--- a/libc/misc/regex/regex.c
+++ b/libc/misc/regex/regex.c
@@ -33,6 +33,7 @@
#ifdef __UCLIBC_HAS_WCHAR__
#define RE_ENABLE_I18N
#define wcscoll __wcscoll
+#define wcrtomb __wcrtomb
#define mbrtowc __mbrtowc
#define iswctype __iswctype
#define iswlower __iswlower
diff --git a/libc/misc/regex/regex_old.c b/libc/misc/regex/regex_old.c
index ab471ee1e..1f9d37780 100644
--- a/libc/misc/regex/regex_old.c
+++ b/libc/misc/regex/regex_old.c
@@ -29,6 +29,7 @@
/* for some reason this does not work */
#define memcpy __memcpy
#define mbrtowc __mbrtowc
+#define wcrtomb __wcrtomb
#define wcscoll __wcscoll
#define iswctype __iswctype
#define iswalnum __iswalnum
diff --git a/libc/misc/statfs/internal_statvfs.c b/libc/misc/statfs/internal_statvfs.c
index 8f7e386c4..4e25edc3f 100644
--- a/libc/misc/statfs/internal_statvfs.c
+++ b/libc/misc/statfs/internal_statvfs.c
@@ -17,6 +17,13 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+extern FILE *__setmntent (__const char *__file, __const char *__mode) __THROW attribute_hidden;
+extern struct mntent *__getmntent_r (FILE *__restrict __stream,
+ struct mntent *__restrict __result,
+ char *__restrict __buffer,
+ int __bufsize) __THROW attribute_hidden;
+extern int __endmntent (FILE *__stream) __THROW attribute_hidden;
+
/* Now fill in the fields we have information for. */
buf->f_bsize = fsbuf.f_bsize;
/* Linux does not support f_frsize, so set it to the full block size. */
@@ -57,15 +64,15 @@
struct mntent mntbuf;
FILE *mtab;
- mtab = setmntent ("/proc/mounts", "r");
+ mtab = __setmntent ("/proc/mounts", "r");
if (mtab == NULL)
- mtab = setmntent (_PATH_MOUNTED, "r");
+ mtab = __setmntent (_PATH_MOUNTED, "r");
if (mtab != NULL)
{
char tmpbuf[1024];
- while (getmntent_r (mtab, &mntbuf, tmpbuf, sizeof (tmpbuf)))
+ while (__getmntent_r (mtab, &mntbuf, tmpbuf, sizeof (tmpbuf)))
{
struct stat fsst;
@@ -102,7 +109,7 @@
}
/* Close the file. */
- endmntent (mtab);
+ __endmntent (mtab);
}
__set_errno (save_errno);
diff --git a/libc/misc/time/time.c b/libc/misc/time/time.c
index 4d47cd745..59b3ef641 100644
--- a/libc/misc/time/time.c
+++ b/libc/misc/time/time.c
@@ -145,6 +145,8 @@
#include <locale.h>
#include <bits/uClibc_uintmaxtostr.h>
+extern void __tzset (void) __THROW attribute_hidden;
+
#ifdef __UCLIBC_HAS_XLOCALE__
#include <xlocale.h>
extern int __strncasecmp_l (__const char *__s1, __const char *__s2,
@@ -563,7 +565,7 @@ struct tm attribute_hidden *__localtime_r(register const time_t *__restrict time
{
TZLOCK;
- tzset();
+ __tzset();
__time_localtime_tzi(timer, result, _time_tzinfo);
@@ -989,7 +991,7 @@ size_t attribute_hidden __UCXL(strftime)(char *__restrict s, size_t maxsize,
unsigned char mod;
unsigned char code;
- tzset(); /* We'll, let's get this out of the way. */
+ __tzset(); /* We'll, let's get this out of the way. */
lvl = 0;
p = format;
@@ -1800,7 +1802,7 @@ static char *read_TZ_file(char *buf)
#endif /* __UCLIBC_HAS_TZ_FILE__ */
-void tzset(void)
+void attribute_hidden __tzset(void)
{
register const char *e;
register char *s;
@@ -1987,7 +1989,7 @@ void tzset(void)
#endif
TZUNLOCK;
}
-
+strong_alias(__tzset,tzset)
#endif
/**********************************************************************/
/* #ifdef L_utime */
@@ -2189,7 +2191,7 @@ time_t attribute_hidden _time_mktime(struct tm *timeptr, int store_on_success)
TZLOCK;
- tzset();
+ __tzset();
t = _time_mktime_tzi(timeptr, store_on_success, _time_tzinfo);
diff --git a/libc/misc/utmp/utent.c b/libc/misc/utmp/utent.c
index e03d4528f..374b53b93 100644
--- a/libc/misc/utmp/utent.c
+++ b/libc/misc/utmp/utent.c
@@ -37,29 +37,7 @@ static struct utmp static_utmp;
static const char default_file_name[] = _PATH_UTMP;
static const char *static_ut_name = (const char *) default_file_name;
-
-
-static struct utmp *__getutent(int utmp_fd)
-
-{
- if (utmp_fd == -1) {
- setutent();
- }
- if (utmp_fd == -1) {
- return NULL;
- }
-
- LOCK;
- if (__read(utmp_fd, (char *) &static_utmp, sizeof(struct utmp)) != sizeof(struct utmp))
- {
- return NULL;
- }
-
- UNLOCK;
- return &static_utmp;
-}
-
-void setutent(void)
+void attribute_hidden __setutent(void)
{
int ret;
@@ -87,6 +65,26 @@ bummer:
UNLOCK;
return;
}
+strong_alias(__setutent,setutent)
+
+static struct utmp *__getutent(int utmp_fd)
+{
+ if (utmp_fd == -1) {
+ __setutent();
+ }
+ if (utmp_fd == -1) {
+ return NULL;
+ }
+
+ LOCK;
+ if (__read(utmp_fd, (char *) &static_utmp, sizeof(struct utmp)) != sizeof(struct utmp))
+ {
+ return NULL;
+ }
+
+ UNLOCK;
+ return &static_utmp;
+}
void endutent(void)
{
@@ -148,8 +146,6 @@ struct utmp *getutline(const struct utmp *utmp_entry)
return NULL;
}
-extern struct utmp *__getutid (__const struct utmp *__id) attribute_hidden;
-
struct utmp *pututline (const struct utmp *utmp_entry)
{
LOCK;
@@ -190,4 +186,3 @@ int utmpname (const char *new_ut_name)
UNLOCK;
return 0;
}
-
diff --git a/libc/misc/wchar/wstdio.c b/libc/misc/wchar/wstdio.c
index 6d4c2732f..b0f259001 100644
--- a/libc/misc/wchar/wstdio.c
+++ b/libc/misc/wchar/wstdio.c
@@ -52,6 +52,7 @@
#define wcslen __wcslen
#define wcsrtombs __wcsrtombs
#define mbrtowc __mbrtowc
+#define wcrtomb __wcrtomb
#define _GNU_SOURCE
#include <stdio.h>
diff --git a/libc/misc/wordexp/wordexp.c b/libc/misc/wordexp/wordexp.c
index 7cac06f69..d8bf785d3 100644
--- a/libc/misc/wordexp/wordexp.c
+++ b/libc/misc/wordexp/wordexp.c
@@ -27,6 +27,8 @@
#define waitpid __waitpid
#define kill __kill
#define getuid __getuid
+#define getpwnam_r __getpwnam_r
+#define getpwuid_r __getpwuid_r
#define execve __execve
#define dup2 __dup2
diff --git a/libc/pwd_grp/pwd_grp.c b/libc/pwd_grp/pwd_grp.c
index 601568599..ced5051f8 100644
--- a/libc/pwd_grp/pwd_grp.c
+++ b/libc/pwd_grp/pwd_grp.c
@@ -18,6 +18,8 @@
*
*/
+#define setgroups __setgroups
+
#define _GNU_SOURCE
#include <features.h>
#include <stdio.h>
@@ -38,6 +40,15 @@
#include <pthread.h>
#endif
+extern int __getspnam_r (__const char *__name, struct spwd *__result_buf,
+ char *__buffer, size_t __buflen,
+ struct spwd **__result) attribute_hidden;
+
+extern int __getpwuid_r (__uid_t __uid,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result) attribute_hidden;
+
/**********************************************************************/
/* Sizes for staticly allocated buffers. */
@@ -73,7 +84,7 @@ extern int __pgsreader(int (*__parserfunc)(void *d, char *line), void *data,
/**********************************************************************/
#ifdef L_fgetpwent_r
-int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
+int attribute_hidden __fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct passwd **__restrict result)
{
@@ -87,12 +98,13 @@ int fgetpwent_r(FILE *__restrict stream, struct passwd *__restrict resultbuf,
return rv;
}
+strong_alias(__fgetpwent_r,fgetpwent_r)
#endif
/**********************************************************************/
#ifdef L_fgetgrent_r
-int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
+int attribute_hidden __fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct group **__restrict result)
{
@@ -106,12 +118,13 @@ int fgetgrent_r(FILE *__restrict stream, struct group *__restrict resultbuf,
return rv;
}
+strong_alias(__fgetgrent_r,fgetgrent_r)
#endif
/**********************************************************************/
#ifdef L_fgetspent_r
-int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
+int attribute_hidden __fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct spwd **__restrict result)
{
@@ -125,6 +138,7 @@ int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
return rv;
}
+strong_alias(__fgetspent_r,fgetspent_r)
#endif
/**********************************************************************/
@@ -134,13 +148,18 @@ int fgetspent_r(FILE *__restrict stream, struct spwd *__restrict resultbuf,
/**********************************************************************/
#ifdef L_fgetpwent
+extern int __fgetpwent_r (FILE *__restrict __stream,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result) attribute_hidden;
+
struct passwd *fgetpwent(FILE *stream)
{
static char buffer[PWD_BUFFER_SIZE];
static struct passwd resultbuf;
struct passwd *result;
- fgetpwent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ __fgetpwent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -148,13 +167,18 @@ struct passwd *fgetpwent(FILE *stream)
/**********************************************************************/
#ifdef L_fgetgrent
+extern int __fgetgrent_r (FILE *__restrict __stream,
+ struct group *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct group **__restrict __result) attribute_hidden;
+
struct group *fgetgrent(FILE *stream)
{
static char buffer[GRP_BUFFER_SIZE];
static struct group resultbuf;
struct group *result;
- fgetgrent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ __fgetgrent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -162,13 +186,17 @@ struct group *fgetgrent(FILE *stream)
/**********************************************************************/
#ifdef L_fgetspent
+extern int __fgetspent_r (FILE *__stream, struct spwd *__result_buf,
+ char *__buffer, size_t __buflen,
+ struct spwd **__result) attribute_hidden;
+
struct spwd *fgetspent(FILE *stream)
{
static char buffer[PWD_BUFFER_SIZE];
static struct spwd resultbuf;
struct spwd *result;
- fgetspent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
+ __fgetspent_r(stream, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -176,7 +204,7 @@ struct spwd *fgetspent(FILE *stream)
/**********************************************************************/
#ifdef L_sgetspent_r
-int sgetspent_r(const char *string, struct spwd *result_buf,
+int attribute_hidden __sgetspent_r(const char *string, struct spwd *result_buf,
char *buffer, size_t buflen, struct spwd **result)
{
int rv = ERANGE;
@@ -203,6 +231,7 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
DONE:
return rv;
}
+strong_alias(__sgetspent_r,sgetspent_r)
#endif
/**********************************************************************/
@@ -212,9 +241,10 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
#endif
#ifdef L_getpwnam_r
-#define GETXXKEY_R_FUNC getpwnam_r
+#define GETXXKEY_R_FUNC_HIDDEN __getpwnam_r
+#define GETXXKEY_R_FUNC getpwnam_r
#define GETXXKEY_R_PARSER __parsepwent
-#define GETXXKEY_R_ENTTYPE struct passwd
+#define GETXXKEY_R_ENTTYPE struct passwd
#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->pw_name, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
@@ -222,9 +252,10 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
#endif
#ifdef L_getgrnam_r
-#define GETXXKEY_R_FUNC getgrnam_r
+#define GETXXKEY_R_FUNC_HIDDEN __getgrnam_r
+#define GETXXKEY_R_FUNC getgrnam_r
#define GETXXKEY_R_PARSER __parsegrent
-#define GETXXKEY_R_ENTTYPE struct group
+#define GETXXKEY_R_ENTTYPE struct group
#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->gr_name, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
@@ -232,9 +263,10 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
#endif
#ifdef L_getspnam_r
-#define GETXXKEY_R_FUNC getspnam_r
+#define GETXXKEY_R_FUNC_HIDDEN __getspnam_r
+#define GETXXKEY_R_FUNC getspnam_r
#define GETXXKEY_R_PARSER __parsespent
-#define GETXXKEY_R_ENTTYPE struct spwd
+#define GETXXKEY_R_ENTTYPE struct spwd
#define GETXXKEY_R_TEST(ENT) (!__strcmp((ENT)->sp_namp, key))
#define DO_GETXXKEY_R_KEYTYPE const char *__restrict
#define DO_GETXXKEY_R_PATHNAME _PATH_SHADOW
@@ -242,9 +274,10 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
#endif
#ifdef L_getpwuid_r
-#define GETXXKEY_R_FUNC getpwuid_r
+#define GETXXKEY_R_FUNC_HIDDEN __getpwuid_r
+#define GETXXKEY_R_FUNC getpwuid_r
#define GETXXKEY_R_PARSER __parsepwent
-#define GETXXKEY_R_ENTTYPE struct passwd
+#define GETXXKEY_R_ENTTYPE struct passwd
#define GETXXKEY_R_TEST(ENT) ((ENT)->pw_uid == key)
#define DO_GETXXKEY_R_KEYTYPE uid_t
#define DO_GETXXKEY_R_PATHNAME _PATH_PASSWD
@@ -252,9 +285,10 @@ int sgetspent_r(const char *string, struct spwd *result_buf,
#endif
#ifdef L_getgrgid_r
-#define GETXXKEY_R_FUNC getgrgid_r
+#define GETXXKEY_R_FUNC_HIDDEN __getgrgid_r
+#define GETXXKEY_R_FUNC getgrgid_r
#define GETXXKEY_R_PARSER __parsegrent
-#define GETXXKEY_R_ENTTYPE struct group
+#define GETXXKEY_R_ENTTYPE struct group
#define GETXXKEY_R_TEST(ENT) ((ENT)->gr_gid == key)
#define DO_GETXXKEY_R_KEYTYPE gid_t
#define DO_GETXXKEY_R_PATHNAME _PATH_GROUP
@@ -270,7 +304,7 @@ struct passwd *getpwuid(uid_t uid)
static struct passwd resultbuf;
struct passwd *result;
- getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result);
+ __getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -278,13 +312,17 @@ struct passwd *getpwuid(uid_t uid)
/**********************************************************************/
#ifdef L_getgrgid
+extern int __getgrgid_r (__gid_t __gid, struct group *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct group **__restrict __result) attribute_hidden;
+
struct group *getgrgid(gid_t gid)
{
static char buffer[GRP_BUFFER_SIZE];
static struct group resultbuf;
struct group *result;
- getgrgid_r(gid, &resultbuf, buffer, sizeof(buffer), &result);
+ __getgrgid_r(gid, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -306,8 +344,8 @@ int getspuid_r(uid_t uid, struct spwd *__restrict resultbuf,
char pwd_buff[PWD_BUFFER_SIZE];
*result = NULL;
- if (!(rv = getpwuid_r(uid, &password, pwd_buff, sizeof(pwd_buff), &pp))) {
- rv = getspnam_r(password.pw_name, resultbuf, buffer, buflen, result);
+ if (!(rv = __getpwuid_r(uid, &password, pwd_buff, sizeof(pwd_buff), &pp))) {
+ rv = __getspnam_r(password.pw_name, resultbuf, buffer, buflen, result);
}
return rv;
@@ -334,13 +372,18 @@ struct spwd *getspuid(uid_t uid)
/**********************************************************************/
#ifdef L_getpwnam
+extern int __getpwnam_r (__const char *__restrict __name,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result) attribute_hidden;
+
struct passwd *getpwnam(const char *name)
{
static char buffer[PWD_BUFFER_SIZE];
static struct passwd resultbuf;
struct passwd *result;
- getpwnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ __getpwnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -348,13 +391,18 @@ struct passwd *getpwnam(const char *name)
/**********************************************************************/
#ifdef L_getgrnam
+extern int __getgrnam_r (__const char *__restrict __name,
+ struct group *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct group **__restrict __result) attribute_hidden;
+
struct group *getgrnam(const char *name)
{
static char buffer[GRP_BUFFER_SIZE];
static struct group resultbuf;
struct group *result;
- getgrnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ __getgrnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -368,7 +416,7 @@ struct spwd *getspnam(const char *name)
static struct spwd resultbuf;
struct spwd *result;
- getspnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
+ __getspnam_r(name, &resultbuf, buffer, sizeof(buffer), &result);
return result;
}
@@ -384,7 +432,7 @@ int getpw(uid_t uid, char *buf)
if (!buf) {
__set_errno(EINVAL);
- } else if (!getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result)) {
+ } else if (!__getpwuid_r(uid, &resultbuf, buffer, sizeof(buffer), &result)) {
if (sprintf(buf, "%s:%s:%lu:%lu:%s:%s:%s\n",
resultbuf.pw_name, resultbuf.pw_passwd,
(unsigned long)(resultbuf.pw_uid),
@@ -434,7 +482,7 @@ void endpwent(void)
}
-int getpwent_r(struct passwd *__restrict resultbuf,
+int attribute_hidden __getpwent_r(struct passwd *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct passwd **__restrict result)
{
@@ -462,6 +510,7 @@ int getpwent_r(struct passwd *__restrict resultbuf,
return rv;
}
+strong_alias(__getpwent_r,getpwent_r)
#endif
/**********************************************************************/
@@ -488,7 +537,7 @@ void endgrent(void)
UNLOCK;
}
-int getgrent_r(struct group *__restrict resultbuf,
+int attribute_hidden __getgrent_r(struct group *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
struct group **__restrict result)
{
@@ -516,6 +565,7 @@ int getgrent_r(struct group *__restrict resultbuf,
return rv;
}
+strong_alias(__getgrent_r,getgrent_r)
#endif
/**********************************************************************/
@@ -542,7 +592,7 @@ void endspent(void)
UNLOCK;
}
-int getspent_r(struct spwd *resultbuf, char *buffer,
+int attribute_hidden __getspent_r(struct spwd *resultbuf, char *buffer,
size_t buflen, struct spwd **result)
{
int rv;
@@ -569,10 +619,15 @@ int getspent_r(struct spwd *resultbuf, char *buffer,
return rv;
}
+strong_alias(__getspent_r,getspent_r)
#endif
/**********************************************************************/
#ifdef L_getpwent
+
+extern int __getpwent_r (struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result) attribute_hidden;
struct passwd *getpwent(void)
{
@@ -580,7 +635,7 @@ struct passwd *getpwent(void)
static struct passwd pwd;
struct passwd *result;
- getpwent_r(&pwd, line_buff, sizeof(line_buff), &result);
+ __getpwent_r(&pwd, line_buff, sizeof(line_buff), &result);
return result;
}
@@ -588,13 +643,17 @@ struct passwd *getpwent(void)
/**********************************************************************/
#ifdef L_getgrent
+extern int __getgrent_r (struct group *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct group **__restrict __result) attribute_hidden;
+
struct group *getgrent(void)
{
static char line_buff[GRP_BUFFER_SIZE];
static struct group gr;
struct group *result;
- getgrent_r(&gr, line_buff, sizeof(line_buff), &result);
+ __getgrent_r(&gr, line_buff, sizeof(line_buff), &result);
return result;
}
@@ -602,13 +661,16 @@ struct group *getgrent(void)
/**********************************************************************/
#ifdef L_getspent
+extern int __getspent_r (struct spwd *__result_buf, char *__buffer,
+ size_t __buflen, struct spwd **__result) attribute_hidden;
+
struct spwd *getspent(void)
{
static char line_buff[PWD_BUFFER_SIZE];
static struct spwd spwd;
struct spwd *result;
- getspent_r(&spwd, line_buff, sizeof(line_buff), &result);
+ __getspent_r(&spwd, line_buff, sizeof(line_buff), &result);
return result;
}
@@ -616,13 +678,17 @@ struct spwd *getspent(void)
/**********************************************************************/
#ifdef L_sgetspent
+extern int __sgetspent_r (__const char *__string, struct spwd *__result_buf,
+ char *__buffer, size_t __buflen,
+ struct spwd **__result) attribute_hidden;
+
struct spwd *sgetspent(const char *string)
{
static char line_buff[PWD_BUFFER_SIZE];
static struct spwd spwd;
struct spwd *result;
- sgetspent_r(string, &spwd, line_buff, sizeof(line_buff), &result);
+ __sgetspent_r(string, &spwd, line_buff, sizeof(line_buff), &result);
return result;
}
diff --git a/libc/pwd_grp/pwd_grp_internal.c b/libc/pwd_grp/pwd_grp_internal.c
index 0552c680b..8520cf45b 100644
--- a/libc/pwd_grp/pwd_grp_internal.c
+++ b/libc/pwd_grp/pwd_grp_internal.c
@@ -55,7 +55,7 @@
/**********************************************************************/
#ifdef GETXXKEY_R_FUNC
-int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key,
+int attribute_hidden GETXXKEY_R_FUNC_HIDDEN(DO_GETXXKEY_R_KEYTYPE key,
GETXXKEY_R_ENTTYPE *__restrict resultbuf,
char *__restrict buffer, size_t buflen,
GETXXKEY_R_ENTTYPE **__restrict result)
@@ -89,9 +89,11 @@ int GETXXKEY_R_FUNC(DO_GETXXKEY_R_KEYTYPE key,
return rv;
}
+strong_alias(GETXXKEY_R_FUNC_HIDDEN,GETXXKEY_R_FUNC)
#endif
/**********************************************************************/
+#undef GETXXKEY_R_FUNC_HIDDEN
#undef GETXXKEY_R_FUNC
#undef GETXXKEY_R_PARSER
#undef GETXXKEY_R_ENTTYPE
diff --git a/libc/stdio/scanf.c b/libc/stdio/scanf.c
index 4db939f93..555d9a267 100644
--- a/libc/stdio/scanf.c
+++ b/libc/stdio/scanf.c
@@ -47,7 +47,9 @@
#define mbsrtowcs __mbsrtowcs
#define mbrtowc __mbrtowc
#define ungetc __ungetc
+#define ungetwc __ungetwc
#define iswspace __iswspace
+#define wcrtomb __wcrtomb
#define _ISOC99_SOURCE /* for LLONG_MAX primarily... */
#define _GNU_SOURCE
diff --git a/libc/stdio/ungetwc.c b/libc/stdio/ungetwc.c
index cf4b9c488..c6a99dd9d 100644
--- a/libc/stdio/ungetwc.c
+++ b/libc/stdio/ungetwc.c
@@ -12,7 +12,7 @@
* as reset stream->__ungot_width[1] for use by _stdio_adjpos().
*/
-wint_t ungetwc(wint_t c, register FILE *stream)
+wint_t attribute_hidden __ungetwc(wint_t c, register FILE *stream)
{
__STDIO_AUTO_THREADLOCK_VAR;
@@ -46,3 +46,4 @@ wint_t ungetwc(wint_t c, register FILE *stream)
return c;
}
+strong_alias(__ungetwc,ungetwc)
diff --git a/libc/stdio/vfprintf.c b/libc/stdio/vfprintf.c
index d835038ba..5275f53f7 100644
--- a/libc/stdio/vfprintf.c
+++ b/libc/stdio/vfprintf.c
@@ -94,6 +94,7 @@
#define wcsrtombs __wcsrtombs
#define mbsrtowcs __mbsrtowcs
#define btowc __btowc
+#define wcrtomb __wcrtomb
#define _ISOC99_SOURCE /* for ULLONG primarily... */
#define _GNU_SOURCE
diff --git a/libc/stdlib/ptsname.c b/libc/stdlib/ptsname.c
index d4e99a035..8cac95783 100644
--- a/libc/stdlib/ptsname.c
+++ b/libc/stdlib/ptsname.c
@@ -62,7 +62,7 @@ extern const char _ptyname2[];
/* Store at most BUFLEN characters of the pathname of the slave pseudo
terminal associated with the master FD is open on in BUF.
Return 0 on success, otherwise an error number. */
-int ptsname_r (int fd, char *buf, size_t buflen)
+int attribute_hidden __ptsname_r (int fd, char *buf, size_t buflen)
{
int save_errno = errno;
#if !defined __UNIX98PTY_ONLY__
@@ -179,6 +179,7 @@ int ptsname_r (int fd, char *buf, size_t buflen)
errno = save_errno;
return 0;
}
+strong_alias(__ptsname_r,ptsname_r)
/* Return the pathname of the pseudo terminal slave assoicated with
the master FD is open on, or NULL on errors.
@@ -188,5 +189,5 @@ ptsname (int fd)
{
static char buffer[sizeof (_PATH_DEVPTS) + 20];
- return ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer;
+ return __ptsname_r (fd, buffer, sizeof (buffer)) != 0 ? NULL : buffer;
}
diff --git a/libc/stdlib/realpath.c b/libc/stdlib/realpath.c
index 2a018b4b7..88677f7a7 100644
--- a/libc/stdlib/realpath.c
+++ b/libc/stdlib/realpath.c
@@ -14,6 +14,7 @@
*/
#define readlink __readlink
+#define getcwd __getcwd
#ifdef HAVE_CONFIG_H
#include <config.h>
diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c
index 0c78c4c70..3bfdcfea5 100644
--- a/libc/stdlib/stdlib.c
+++ b/libc/stdlib/stdlib.c
@@ -38,6 +38,7 @@
#define mbrlen __mbrlen
#define iswspace __iswspace
#define iswspace_l __iswspace_l
+#define wcrtomb __wcrtomb
#define _ISOC99_SOURCE /* for ULLONG primarily... */
#define _GNU_SOURCE
diff --git a/libc/stdlib/unix_grantpt.c b/libc/stdlib/unix_grantpt.c
index bf451a4d3..e087d18c8 100644
--- a/libc/stdlib/unix_grantpt.c
+++ b/libc/stdlib/unix_grantpt.c
@@ -44,7 +44,7 @@
#define vfork fork
#endif
-extern int ptsname_r (int fd, char *buf, size_t buflen);
+extern int __ptsname_r (int fd, char *buf, size_t buflen) attribute_hidden;
/* Return the result of ptsname_r in the buffer pointed to by PTS,
which should be of length BUF_LEN. If it is too long to fit in
@@ -62,7 +62,7 @@ pts_name (int fd, char **pts, size_t buf_len)
if (buf_len)
{
- rv = ptsname_r (fd, buf, buf_len);
+ rv = __ptsname_r (fd, buf, buf_len);
if (rv != 0 || memchr (buf, '\0', buf_len))
/* We either got an error, or we succeeded and the
diff --git a/libc/sysdeps/linux/common/getcwd.c b/libc/sysdeps/linux/common/getcwd.c
index d007993eb..4a1ea093e 100644
--- a/libc/sysdeps/linux/common/getcwd.c
+++ b/libc/sysdeps/linux/common/getcwd.c
@@ -153,7 +153,7 @@ int __syscall_getcwd(char * buf, unsigned long size)
#endif
-char *getcwd(char *buf, size_t size)
+char attribute_hidden *__getcwd(char *buf, size_t size)
{
int ret;
char *path;
@@ -185,4 +185,4 @@ char *getcwd(char *buf, size_t size)
free (path);
return NULL;
}
-
+strong_alias(__getcwd,getcwd)
diff --git a/libc/sysdeps/linux/common/getdirname.c b/libc/sysdeps/linux/common/getdirname.c
index 486ee9335..d791f34a3 100644
--- a/libc/sysdeps/linux/common/getdirname.c
+++ b/libc/sysdeps/linux/common/getdirname.c
@@ -17,6 +17,8 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#define getcwd __getcwd
+
#include <features.h>
#include <unistd.h>
#include <sys/stat.h>
diff --git a/libc/sysdeps/linux/common/getdnnm.c b/libc/sysdeps/linux/common/getdnnm.c
index 3c48b4ca0..aa4215f84 100644
--- a/libc/sysdeps/linux/common/getdnnm.c
+++ b/libc/sysdeps/linux/common/getdnnm.c
@@ -1,3 +1,5 @@
+#define uname __uname
+
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
@@ -6,8 +8,8 @@
#include <sys/utsname.h>
-int
-getdomainname(char *name, size_t len)
+int attribute_hidden
+__getdomainname(char *name, size_t len)
{
struct utsname uts;
@@ -25,3 +27,4 @@ getdomainname(char *name, size_t len)
__strcpy(name, uts.domainname);
return 0;
}
+strong_alias(__getdomainname,getdomainname)
diff --git a/libc/sysdeps/linux/common/getgroups.c b/libc/sysdeps/linux/common/getgroups.c
index 402d87e66..c863489b9 100644
--- a/libc/sysdeps/linux/common/getgroups.c
+++ b/libc/sysdeps/linux/common/getgroups.c
@@ -18,7 +18,7 @@
static inline _syscall2(int, __syscall_getgroups,
int, size, __kernel_gid_t *, list);
-int getgroups(int n, gid_t * groups)
+int attribute_hidden __getgroups(int n, gid_t * groups)
{
if (unlikely(n < 0)) {
__set_errno(EINVAL);
@@ -36,3 +36,4 @@ int getgroups(int n, gid_t * groups)
return ngids;
}
}
+strong_alias(__getgroups,getgroups)
diff --git a/libc/sysdeps/linux/common/gethstnm.c b/libc/sysdeps/linux/common/gethstnm.c
index 8a23e9516..cb6e5efce 100644
--- a/libc/sysdeps/linux/common/gethstnm.c
+++ b/libc/sysdeps/linux/common/gethstnm.c
@@ -1,10 +1,12 @@
+#define uname __uname
+
#include <string.h>
#include <unistd.h>
#include <sys/utsname.h>
#include <errno.h>
-int
-gethostname(char *name, size_t len)
+int attribute_hidden
+__gethostname(char *name, size_t len)
{
struct utsname uts;
@@ -22,3 +24,4 @@ gethostname(char *name, size_t len)
__strcpy(name, uts.nodename);
return 0;
}
+strong_alias(__gethostname,gethostname)
diff --git a/libc/sysdeps/linux/common/getpriority.c b/libc/sysdeps/linux/common/getpriority.c
index ca8b375fb..3f695402d 100644
--- a/libc/sysdeps/linux/common/getpriority.c
+++ b/libc/sysdeps/linux/common/getpriority.c
@@ -17,7 +17,7 @@ static inline _syscall2(int, __syscall_getpriority,
/* The return value of __syscall_getpriority is biased by this value
* to avoid returning negative values. */
#define PZERO 20
-int getpriority(enum __priority_which which, id_t who)
+int attribute_hidden __getpriority(enum __priority_which which, id_t who)
{
int res;
@@ -26,3 +26,4 @@ int getpriority(enum __priority_which which, id_t who)
res = PZERO - res;
return res;
}
+strong_alias(__getpriority,getpriority)
diff --git a/libc/sysdeps/linux/common/getsid.c b/libc/sysdeps/linux/common/getsid.c
index 4bb539cd2..3e9c2d8ba 100644
--- a/libc/sysdeps/linux/common/getsid.c
+++ b/libc/sysdeps/linux/common/getsid.c
@@ -13,7 +13,8 @@
#define __NR___syscall_getsid __NR_getsid
static inline _syscall1(__kernel_pid_t, __syscall_getsid, __kernel_pid_t, pid);
-pid_t getsid(pid_t pid)
+pid_t attribute_hidden __getsid(pid_t pid)
{
return (__syscall_getsid(pid));
}
+strong_alias(__getsid,getsid)
diff --git a/libc/sysdeps/linux/common/nice.c b/libc/sysdeps/linux/common/nice.c
index b21f63e08..20f7996a7 100644
--- a/libc/sysdeps/linux/common/nice.c
+++ b/libc/sysdeps/linux/common/nice.c
@@ -8,6 +8,9 @@
* GNU Library General Public License (LGPL) version 2 or later.
*/
+#define getpriority __getpriority
+#define setpriority __setpriority
+
#include "syscalls.h"
#include <unistd.h>
#include <sys/resource.h>
diff --git a/libc/sysdeps/linux/common/setegid.c b/libc/sysdeps/linux/common/setegid.c
index 100a34568..d3175dad5 100644
--- a/libc/sysdeps/linux/common/setegid.c
+++ b/libc/sysdeps/linux/common/setegid.c
@@ -1,3 +1,6 @@
+#define setresgid __setresgid
+#define setregid __setregid
+
#define _GNU_SOURCE
#include <unistd.h>
#include <stdio.h>
diff --git a/libc/sysdeps/linux/common/seteuid.c b/libc/sysdeps/linux/common/seteuid.c
index e970e0711..f5ed35743 100644
--- a/libc/sysdeps/linux/common/seteuid.c
+++ b/libc/sysdeps/linux/common/seteuid.c
@@ -1,3 +1,6 @@
+#define setresuid __setresuid
+#define setreuid __setreuid
+
#define _GNU_SOURCE
#include <unistd.h>
#include <stdio.h>
@@ -6,7 +9,7 @@
#include <sys/types.h>
#include <sys/syscall.h>
-int seteuid(uid_t uid)
+int attribute_hidden __seteuid(uid_t uid)
{
int result;
@@ -26,3 +29,4 @@ int seteuid(uid_t uid)
return result;
}
+strong_alias(__seteuid,seteuid)
diff --git a/libc/sysdeps/linux/common/setgroups.c b/libc/sysdeps/linux/common/setgroups.c
index d92840370..96428edb3 100644
--- a/libc/sysdeps/linux/common/setgroups.c
+++ b/libc/sysdeps/linux/common/setgroups.c
@@ -17,7 +17,7 @@
static inline _syscall2(int, __syscall_setgroups,
size_t, size, const __kernel_gid_t *, list);
-int setgroups(size_t n, const gid_t * groups)
+int attribute_hidden __setgroups(size_t n, const gid_t * groups)
{
if (n > (size_t) sysconf(_SC_NGROUPS_MAX)) {
__set_errno(EINVAL);
@@ -36,3 +36,4 @@ int setgroups(size_t n, const gid_t * groups)
return (__syscall_setgroups(n, kernel_groups));
}
}
+strong_alias(__setgroups,setgroups)
diff --git a/libc/sysdeps/linux/common/setpgid.c b/libc/sysdeps/linux/common/setpgid.c
index 0373dc3f7..6d73f08ec 100644
--- a/libc/sysdeps/linux/common/setpgid.c
+++ b/libc/sysdeps/linux/common/setpgid.c
@@ -14,7 +14,8 @@
static inline _syscall2(int, __syscall_setpgid,
__kernel_pid_t, pid, __kernel_pid_t, pgid);
-int setpgid(pid_t pid, pid_t pgid)
+int attribute_hidden __setpgid(pid_t pid, pid_t pgid)
{
return (__syscall_setpgid(pid, pgid));
}
+strong_alias(__setpgid,setpgid)
diff --git a/libc/sysdeps/linux/common/setpgrp.c b/libc/sysdeps/linux/common/setpgrp.c
index 0fa8fccc3..966bb4da6 100644
--- a/libc/sysdeps/linux/common/setpgrp.c
+++ b/libc/sysdeps/linux/common/setpgrp.c
@@ -1,3 +1,5 @@
+#define setpgid __setpgid
+
#include <syscall.h>
#include <unistd.h>
diff --git a/libc/sysdeps/linux/common/setpriority.c b/libc/sysdeps/linux/common/setpriority.c
index 287ea8dd3..06476d88f 100644
--- a/libc/sysdeps/linux/common/setpriority.c
+++ b/libc/sysdeps/linux/common/setpriority.c
@@ -9,4 +9,6 @@
#include "syscalls.h"
#include <sys/resource.h>
-_syscall3(int, setpriority, __priority_which_t, which, id_t, who, int, prio);
+#define __NR___setpriority __NR_setpriority
+attribute_hidden _syscall3(int, __setpriority, __priority_which_t, which, id_t, who, int, prio);
+strong_alias(__setpriority,setpriority)
diff --git a/libc/sysdeps/linux/common/setregid.c b/libc/sysdeps/linux/common/setregid.c
index 06c166182..cfd375744 100644
--- a/libc/sysdeps/linux/common/setregid.c
+++ b/libc/sysdeps/linux/common/setregid.c
@@ -14,7 +14,7 @@
static inline _syscall2(int, __syscall_setregid,
__kernel_gid_t, rgid, __kernel_gid_t, egid);
-int setregid(gid_t rgid, gid_t egid)
+int attribute_hidden __setregid(gid_t rgid, gid_t egid)
{
if (((rgid + 1) > (gid_t) ((__kernel_gid_t) - 1U))
|| ((egid + 1) > (gid_t) ((__kernel_gid_t) - 1U))) {
@@ -23,3 +23,4 @@ int setregid(gid_t rgid, gid_t egid)
}
return (__syscall_setregid(rgid, egid));
}
+strong_alias(__setregid,setregid)
diff --git a/libc/sysdeps/linux/common/setresgid.c b/libc/sysdeps/linux/common/setresgid.c
index 312994583..fbfa98be3 100644
--- a/libc/sysdeps/linux/common/setresgid.c
+++ b/libc/sysdeps/linux/common/setresgid.c
@@ -14,7 +14,7 @@
static inline _syscall3(int, __syscall_setresgid,
__kernel_gid_t, rgid, __kernel_gid_t, egid, __kernel_gid_t, sgid);
-int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
+int attribute_hidden __setresgid(gid_t rgid, gid_t egid, gid_t sgid)
{
if (((rgid + 1) > (gid_t) ((__kernel_gid_t) - 1U))
|| ((egid + 1) > (gid_t) ((__kernel_gid_t) - 1U))
@@ -24,4 +24,5 @@ int setresgid(gid_t rgid, gid_t egid, gid_t sgid)
}
return (__syscall_setresgid(rgid, egid, sgid));
}
+strong_alias(__setresgid,setresgid)
#endif
diff --git a/libc/sysdeps/linux/common/setresuid.c b/libc/sysdeps/linux/common/setresuid.c
index d979b8968..6ed1423f5 100644
--- a/libc/sysdeps/linux/common/setresuid.c
+++ b/libc/sysdeps/linux/common/setresuid.c
@@ -14,7 +14,7 @@
static inline _syscall3(int, __syscall_setresuid,
__kernel_uid_t, rgid, __kernel_uid_t, egid, __kernel_uid_t, sgid);
-int setresuid(uid_t ruid, uid_t euid, uid_t suid)
+int attribute_hidden __setresuid(uid_t ruid, uid_t euid, uid_t suid)
{
if (((ruid + 1) > (uid_t) ((__kernel_uid_t) - 1U))
|| ((euid + 1) > (uid_t) ((__kernel_uid_t) - 1U))
@@ -24,4 +24,5 @@ int setresuid(uid_t ruid, uid_t euid, uid_t suid)
}
return (__syscall_setresuid(ruid, euid, suid));
}
+strong_alias(__setresuid,setresuid)
#endif
diff --git a/libc/sysdeps/linux/common/setreuid.c b/libc/sysdeps/linux/common/setreuid.c
index 7275c94e9..15ab5c01a 100644
--- a/libc/sysdeps/linux/common/setreuid.c
+++ b/libc/sysdeps/linux/common/setreuid.c
@@ -14,7 +14,7 @@
static inline _syscall2(int, __syscall_setreuid,
__kernel_uid_t, ruid, __kernel_uid_t, euid);
-int setreuid(uid_t ruid, uid_t euid)
+int attribute_hidden __setreuid(uid_t ruid, uid_t euid)
{
if (((ruid + 1) > (uid_t) ((__kernel_uid_t) - 1U))
|| ((euid + 1) > (uid_t) ((__kernel_uid_t) - 1U))) {
@@ -23,3 +23,4 @@ int setreuid(uid_t ruid, uid_t euid)
}
return (__syscall_setreuid(ruid, euid));
}
+strong_alias(__setreuid,setreuid)
diff --git a/libc/sysdeps/linux/common/setsid.c b/libc/sysdeps/linux/common/setsid.c
index 0e2e2a31e..b3e1e8706 100644
--- a/libc/sysdeps/linux/common/setsid.c
+++ b/libc/sysdeps/linux/common/setsid.c
@@ -9,4 +9,6 @@
#include "syscalls.h"
#include <unistd.h>
-_syscall0(pid_t, setsid);
+#define __NR___setsid __NR_setsid
+attribute_hidden _syscall0(pid_t, __setsid);
+strong_alias(__setsid,setsid)
diff --git a/libc/sysdeps/linux/common/uname.c b/libc/sysdeps/linux/common/uname.c
index b3c93e0af..3d252edc7 100644
--- a/libc/sysdeps/linux/common/uname.c
+++ b/libc/sysdeps/linux/common/uname.c
@@ -9,4 +9,6 @@
#include "syscalls.h"
#include <sys/utsname.h>
-_syscall1(int, uname, struct utsname *, buf);
+#define __NR___uname __NR_uname
+attribute_hidden _syscall1(int, __uname, struct utsname *, buf);
+strong_alias(__uname,uname)
diff --git a/libc/sysdeps/linux/powerpc/ioctl.c b/libc/sysdeps/linux/powerpc/ioctl.c
index 7058d44ee..a522ff6d4 100644
--- a/libc/sysdeps/linux/powerpc/ioctl.c
+++ b/libc/sysdeps/linux/powerpc/ioctl.c
@@ -16,6 +16,9 @@
Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
02111-1307 USA. */
+#define tcsetattr __tcsetattr
+#define tcgetattr __tcgetattr
+
#include <stdarg.h>
#include <termios.h>
#include <unistd.h>
diff --git a/libc/termios/tcgetattr.c b/libc/termios/tcgetattr.c
index 1f1f0562b..8a9448bd7 100644
--- a/libc/termios/tcgetattr.c
+++ b/libc/termios/tcgetattr.c
@@ -32,7 +32,7 @@
#include "kernel_termios.h"
/* Put the state of FD into *TERMIOS_P. */
-int tcgetattr (int fd, struct termios *termios_p)
+int attribute_hidden __tcgetattr (int fd, struct termios *termios_p)
{
struct __kernel_termios k_termios;
int retval;
@@ -75,4 +75,4 @@ int tcgetattr (int fd, struct termios *termios_p)
return retval;
}
-
+strong_alias(__tcgetattr,tcgetattr)
diff --git a/libc/termios/tcgetsid.c b/libc/termios/tcgetsid.c
index 5e4addece..54d317724 100644
--- a/libc/termios/tcgetsid.c
+++ b/libc/termios/tcgetsid.c
@@ -16,6 +16,9 @@
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
+#define getsid __getsid
+#define tcgetpgrp __tcgetpgrp
+
#include <errno.h>
#include <termios.h>
#include <sys/ioctl.h>
diff --git a/libc/termios/tcsetattr.c b/libc/termios/tcsetattr.c
index 76d73796e..2bf2d2a29 100644
--- a/libc/termios/tcsetattr.c
+++ b/libc/termios/tcsetattr.c
@@ -47,7 +47,7 @@
/* Set the state of FD to *TERMIOS_P. */
-int tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
+int attribute_hidden __tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
{
struct __kernel_termios k_termios;
unsigned long int cmd;
@@ -114,3 +114,4 @@ int tcsetattr (int fd, int optional_actions, const struct termios *termios_p)
return retval;
}
+strong_alias(__tcsetattr,tcsetattr)
diff --git a/libc/termios/termios.c b/libc/termios/termios.c
index cf3bd9bc6..dc0372fa3 100644
--- a/libc/termios/termios.c
+++ b/libc/termios/termios.c
@@ -23,6 +23,8 @@
much more current.
*/
+#define tcgetattr __tcgetattr
+
#include <errno.h>
#include <stddef.h>
#include <sys/ioctl.h>
@@ -100,7 +102,7 @@ int tcsetpgrp ( int fd, pid_t pgrp_id)
#ifdef L_tcgetpgrp
/* Return the foreground process group ID of FD. */
-pid_t tcgetpgrp ( int fd)
+pid_t attribute_hidden __tcgetpgrp ( int fd)
{
int pgrp;
@@ -108,6 +110,7 @@ pid_t tcgetpgrp ( int fd)
return (pid_t) -1;
return (pid_t) pgrp;
}
+strong_alias(__tcgetpgrp,tcgetpgrp)
#endif
/* This is a gross hack around a kernel bug. If the cfsetispeed functions is
@@ -143,7 +146,7 @@ speed_t cfgetispeed (const struct termios *termios_p)
#ifdef L_cfsetospeed
/* Set the output baud rate stored in *TERMIOS_P to SPEED. */
-int cfsetospeed (struct termios *termios_p, speed_t speed)
+int attribute_hidden __cfsetospeed (struct termios *termios_p, speed_t speed)
{
if ((speed & ~CBAUD) != 0
&& (speed < B57600 || speed > B460800))
@@ -157,6 +160,7 @@ int cfsetospeed (struct termios *termios_p, speed_t speed)
return 0;
}
+strong_alias(__cfsetospeed,cfsetospeed)
#endif
#ifdef L_cfsetispeed
@@ -164,7 +168,7 @@ int cfsetospeed (struct termios *termios_p, speed_t speed)
* Although for Linux there is no difference between input and output
* speed, the numerical 0 is a special case for the input baud rate. It
* should set the input baud rate to the output baud rate. */
-int cfsetispeed ( struct termios *termios_p, speed_t speed)
+int attribute_hidden __cfsetispeed ( struct termios *termios_p, speed_t speed)
{
if ((speed & ~CBAUD) != 0
&& (speed < B57600 || speed > B460800))
@@ -184,9 +188,14 @@ int cfsetispeed ( struct termios *termios_p, speed_t speed)
return 0;
}
+strong_alias(__cfsetispeed,cfsetispeed)
#endif
#ifdef L_cfsetspeed
+
+extern int __cfsetospeed (struct termios *__termios_p, speed_t __speed) __THROW attribute_hidden;
+extern int __cfsetispeed (struct termios *__termios_p, speed_t __speed) __THROW attribute_hidden;
+
struct speed_struct
{
speed_t value;
@@ -278,14 +287,14 @@ int cfsetspeed (struct termios *termios_p, speed_t speed)
for (cnt = 0; cnt < sizeof (speeds) / sizeof (speeds[0]); ++cnt)
if (speed == speeds[cnt].internal)
{
- cfsetispeed (termios_p, speed);
- cfsetospeed (termios_p, speed);
+ __cfsetispeed (termios_p, speed);
+ __cfsetospeed (termios_p, speed);
return 0;
}
else if (speed == speeds[cnt].value)
{
- cfsetispeed (termios_p, speeds[cnt].internal);
- cfsetospeed (termios_p, speeds[cnt].internal);
+ __cfsetispeed (termios_p, speeds[cnt].internal);
+ __cfsetospeed (termios_p, speeds[cnt].internal);
return 0;
}
diff --git a/libc/termios/ttyname.c b/libc/termios/ttyname.c
index 15093f8a5..43005a63a 100644
--- a/libc/termios/ttyname.c
+++ b/libc/termios/ttyname.c
@@ -26,13 +26,6 @@
*/
#define TTYNAME_BUFLEN 32
-char *ttyname(int fd)
-{
- static char name[TTYNAME_BUFLEN];
-
- return ttyname_r(fd, name, TTYNAME_BUFLEN) ? NULL : name;
-}
-
static const char dirlist[] =
/* 12345670123 */
"\010/dev/vc/\0" /* Try /dev/vc first (be devfs compatible) */
@@ -41,7 +34,7 @@ static const char dirlist[] =
"\011/dev/pts/\0" /* and try /dev/pts next */
"\005/dev/\0"; /* and try walking through /dev last */
-int ttyname_r(int fd, char *ubuf, size_t ubuflen)
+int attribute_hidden __ttyname_r(int fd, char *ubuf, size_t ubuflen)
{
struct dirent *d;
struct stat st;
@@ -116,3 +109,11 @@ int ttyname_r(int fd, char *ubuf, size_t ubuflen)
return rv;
}
+strong_alias(__ttyname_r,ttyname_r)
+
+char *ttyname(int fd)
+{
+ static char name[TTYNAME_BUFLEN];
+
+ return __ttyname_r(fd, name, TTYNAME_BUFLEN) ? NULL : name;
+}
diff --git a/libc/unistd/daemon.c b/libc/unistd/daemon.c
index a1dfabfe3..cd8a9de9c 100644
--- a/libc/unistd/daemon.c
+++ b/libc/unistd/daemon.c
@@ -24,6 +24,7 @@
*/
#define dup2 __dup2
+#define setsid __setsid
#include <stdio.h>
#include <features.h>
diff --git a/libc/unistd/getpass.c b/libc/unistd/getpass.c
index 2af8f00a1..2b2d252c2 100644
--- a/libc/unistd/getpass.c
+++ b/libc/unistd/getpass.c
@@ -17,6 +17,8 @@
Boston, MA 02111-1307, USA. */
#define setvbuf __setvbuf
+#define tcsetattr __tcsetattr
+#define tcgetattr __tcgetattr
#include <stdio.h>
#include <string.h>