diff options
43 files changed, 140 insertions, 79 deletions
diff --git a/libc/inet/hostid.c b/libc/inet/hostid.c index be3bacb96..1a3e05113 100644 --- a/libc/inet/hostid.c +++ b/libc/inet/hostid.c @@ -1,3 +1,6 @@ +#define geteuid __geteuid +#define getuid __getuid + #define __FORCE_GLIBC #include <features.h> #include <stdio.h> diff --git a/libc/inet/rpc/auth_unix.c b/libc/inet/rpc/auth_unix.c index 0ae5fe6a9..9c16774fd 100644 --- a/libc/inet/rpc/auth_unix.c +++ b/libc/inet/rpc/auth_unix.c @@ -40,6 +40,7 @@ #define sysconf __sysconf #define getegid __getegid +#define geteuid __geteuid #define xdrmem_create __xdrmem_create #define __FORCE_GLIBC diff --git a/libc/inet/rpc/clnt_perror.c b/libc/inet/rpc/clnt_perror.c index 595ddde9a..6561e2631 100644 --- a/libc/inet/rpc/clnt_perror.c +++ b/libc/inet/rpc/clnt_perror.c @@ -302,8 +302,8 @@ clnt_perrno (enum clnt_stat num) } -char * -clnt_spcreateerror (const char *msg) +char attribute_hidden * +__clnt_spcreateerror (const char *msg) { char chrbuf[1024]; char *str = _buf (); @@ -345,16 +345,17 @@ clnt_spcreateerror (const char *msg) *++cp = '\0'; return str; } +strong_alias(__clnt_spcreateerror,clnt_spcreateerror) void clnt_pcreateerror (const char *msg) { #ifdef USE_IN_LIBIO if (_IO_fwide (stderr, 0) > 0) - (void) __fwprintf (stderr, L"%s", clnt_spcreateerror (msg)); + (void) __fwprintf (stderr, L"%s", __clnt_spcreateerror (msg)); else #endif - (void) fputs (clnt_spcreateerror (msg), stderr); + (void) fputs (__clnt_spcreateerror (msg), stderr); } struct auth_errtab diff --git a/libc/inet/rpc/clnt_tcp.c b/libc/inet/rpc/clnt_tcp.c index 11f790529..c04265d8f 100644 --- a/libc/inet/rpc/clnt_tcp.c +++ b/libc/inet/rpc/clnt_tcp.c @@ -53,6 +53,7 @@ static char sccsid[] = "@(#)clnt_tcp.c 1.37 87/10/05 Copyr 1984 Sun Micro"; #define authnone_create __authnone_create #define xdrrec_create __xdrrec_create #define xdrmem_create __xdrmem_create +#define pmap_getport __pmap_getport #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/clnt_udp.c b/libc/inet/rpc/clnt_udp.c index 2b84f5b82..4aba505b2 100644 --- a/libc/inet/rpc/clnt_udp.c +++ b/libc/inet/rpc/clnt_udp.c @@ -43,6 +43,8 @@ static char sccsid[] = "@(#)clnt_udp.c 1.39 87/08/11 Copyr 1984 Sun Micro"; #define authnone_create __authnone_create #define xdrmem_create __xdrmem_create +#define pmap_getport __pmap_getport + #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/clnt_unix.c b/libc/inet/rpc/clnt_unix.c index 7372e51b9..3af68d9c8 100644 --- a/libc/inet/rpc/clnt_unix.c +++ b/libc/inet/rpc/clnt_unix.c @@ -50,6 +50,7 @@ #define xdrrec_create __xdrrec_create #define xdrmem_create __xdrmem_create #define getegid __getegid +#define geteuid __geteuid #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/getrpcport.c b/libc/inet/rpc/getrpcport.c index 5470fbff6..518d190f8 100644 --- a/libc/inet/rpc/getrpcport.c +++ b/libc/inet/rpc/getrpcport.c @@ -35,6 +35,8 @@ static char sccsid[] = "@(#)getrpcport.c 1.3 87/08/11 SMI"; * Copyright (c) 1985 by Sun Microsystems, Inc. */ +#define pmap_getport __pmap_getport + #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/pmap_getport.c b/libc/inet/rpc/pmap_getport.c index 45ed4eae8..79492747b 100644 --- a/libc/inet/rpc/pmap_getport.c +++ b/libc/inet/rpc/pmap_getport.c @@ -53,12 +53,8 @@ static const struct timeval tottimeout = * Calls the pmap service remotely to do the lookup. * Returns 0 if no map exists. */ -u_short -pmap_getport (address, program, version, protocol) - struct sockaddr_in *address; - u_long program; - u_long version; - u_int protocol; +u_short attribute_hidden +__pmap_getport (struct sockaddr_in *address, u_long program, u_long version, u_int protocol) { u_short port = 0; int socket = -1; @@ -92,3 +88,4 @@ pmap_getport (address, program, version, protocol) address->sin_port = 0; return port; } +strong_alias(__pmap_getport,pmap_getport) diff --git a/libc/inet/rpc/rcmd.c b/libc/inet/rpc/rcmd.c index e050480ce..43fe44cc2 100644 --- a/libc/inet/rpc/rcmd.c +++ b/libc/inet/rpc/rcmd.c @@ -38,6 +38,7 @@ static char sccsid[] = "@(#)rcmd.c 8.3 (Berkeley) 3/26/94"; #define bcopy __bcopy #define sysconf __sysconf #define getline __getline +#define geteuid __geteuid #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/rexec.c b/libc/inet/rpc/rexec.c index 00e68ff6b..b93cf7644 100644 --- a/libc/inet/rpc/rexec.c +++ b/libc/inet/rpc/rexec.c @@ -47,15 +47,10 @@ extern int __libc_sa_len (sa_family_t __af) __THROW attribute_hidden; int rexecoptions; char ahostbuf[NI_MAXHOST]; -extern int ruserpass(const char *host, const char **aname, const char **apass); +extern int __ruserpass(const char *host, const char **aname, const char **apass) attribute_hidden; -int -rexec_af(ahost, rport, name, pass, cmd, fd2p, af) - char **ahost; - int rport; - const char *name, *pass, *cmd; - int *fd2p; - sa_family_t af; +int attribute_hidden +__rexec_af(char **ahost, int rport, const char *name, const char *pass, const char *cmd, int *fd2p, sa_family_t af) { struct sockaddr_storage sa2, from; struct addrinfo hints, *res0; @@ -88,7 +83,7 @@ rexec_af(ahost, rport, name, pass, cmd, fd2p, af) else{ *ahost = NULL; } - ruserpass(res0->ai_canonname, &name, &pass); + __ruserpass(res0->ai_canonname, &name, &pass); retry: s = socket(res0->ai_family, res0->ai_socktype, 0); if (s < 0) { @@ -179,6 +174,7 @@ bad: freeaddrinfo(res0); return (-1); } +strong_alias(__rexec_af,rexec_af) int rexec(ahost, rport, name, pass, cmd, fd2p) @@ -187,5 +183,5 @@ rexec(ahost, rport, name, pass, cmd, fd2p) const char *name, *pass, *cmd; int *fd2p; { - return rexec_af(ahost, rport, name, pass, cmd, fd2p, AF_INET); + return __rexec_af(ahost, rport, name, pass, cmd, fd2p, AF_INET); } diff --git a/libc/inet/rpc/ruserpass.c b/libc/inet/rpc/ruserpass.c index edb5170e9..b6fd482c5 100644 --- a/libc/inet/rpc/ruserpass.c +++ b/libc/inet/rpc/ruserpass.c @@ -29,7 +29,9 @@ #define __fsetlocking __fsetlocking_internal #define getgid __getgid +#define getuid __getuid #define getegid __getegid +#define geteuid __geteuid #define __FORCE_GLIBC #include <features.h> @@ -95,7 +97,7 @@ static const struct toktab { -int ruserpass(const char *host, const char **aname, const char **apass) +int attribute_hidden __ruserpass(const char *host, const char **aname, const char **apass) { char *hdir, *buf, *tmp; char myname[1024], *mydomain; @@ -292,6 +294,7 @@ bad: (void) fclose(cfile); return (-1); } +strong_alias(__ruserpass,ruserpass) static int token() diff --git a/libc/inet/rpc/svc.c b/libc/inet/rpc/svc.c index b14cbd803..faccab58e 100644 --- a/libc/inet/rpc/svc.c +++ b/libc/inet/rpc/svc.c @@ -230,8 +230,8 @@ svc_unregister (rpcprog_t prog, rpcvers_t vers) /* ******************* REPLY GENERATION ROUTINES ************ */ /* Send a reply to an rpc request */ -bool_t -svc_sendreply (register SVCXPRT *xprt, xdrproc_t xdr_results, +bool_t attribute_hidden +__svc_sendreply (register SVCXPRT *xprt, xdrproc_t xdr_results, caddr_t xdr_location) { struct rpc_msg rply; @@ -244,6 +244,7 @@ svc_sendreply (register SVCXPRT *xprt, xdrproc_t xdr_results, rply.acpted_rply.ar_results.proc = xdr_results; return SVC_REPLY (xprt, &rply); } +strong_alias(__svc_sendreply,svc_sendreply) /* No procedure error reply */ void @@ -285,8 +286,8 @@ svcerr_systemerr (register SVCXPRT *xprt) } /* Authentication error reply */ -void -svcerr_auth (SVCXPRT *xprt, enum auth_stat why) +void attribute_hidden +__svcerr_auth (SVCXPRT *xprt, enum auth_stat why) { struct rpc_msg rply; @@ -296,12 +297,13 @@ svcerr_auth (SVCXPRT *xprt, enum auth_stat why) rply.rjcted_rply.rj_why = why; SVC_REPLY (xprt, &rply); } +strong_alias(__svcerr_auth,svcerr_auth) /* Auth too weak error reply */ void svcerr_weakauth (SVCXPRT *xprt) { - svcerr_auth (xprt, AUTH_TOOWEAK); + __svcerr_auth (xprt, AUTH_TOOWEAK); } /* Program unavailable error reply */ @@ -446,7 +448,7 @@ svc_getreq_common (const int fd) } else if ((why = _authenticate (&r, &msg)) != AUTH_OK) { - svcerr_auth (xprt, why); + __svcerr_auth (xprt, why); goto call_done; } diff --git a/libc/inet/rpc/svc_simple.c b/libc/inet/rpc/svc_simple.c index da3c71211..e9a43b97a 100644 --- a/libc/inet/rpc/svc_simple.c +++ b/libc/inet/rpc/svc_simple.c @@ -37,6 +37,9 @@ static char sccsid[] = "@(#)svc_simple.c 1.18 87/08/11 Copyr 1984 Sun Micro"; * * Copyright (C) 1984, Sun Microsystems, Inc. */ + +#define svc_sendreply __svc_sendreply + #define __FORCE_GLIBC #define _GNU_SOURCE #include <features.h> diff --git a/libc/inet/rpc/svc_unix.c b/libc/inet/rpc/svc_unix.c index 5d3025876..bc4cb2c20 100644 --- a/libc/inet/rpc/svc_unix.c +++ b/libc/inet/rpc/svc_unix.c @@ -40,6 +40,7 @@ #define xdrrec_create __xdrrec_create #define xprt_register __xprt_register #define getegid __getegid +#define geteuid __geteuid #define __FORCE_GLIBC #include <features.h> diff --git a/libc/inet/rpc/xdr.c b/libc/inet/rpc/xdr.c index 7d69022dc..46e214431 100644 --- a/libc/inet/rpc/xdr.c +++ b/libc/inet/rpc/xdr.c @@ -220,8 +220,8 @@ xdr_u_long (XDR *xdrs, u_long *ulp) * XDR hyper integers * same as xdr_u_hyper - open coded to save a proc call! */ -bool_t -xdr_hyper (XDR *xdrs, quad_t *llp) +bool_t attribute_hidden +__xdr_hyper (XDR *xdrs, quad_t *llp) { long t1; unsigned long int t2; @@ -247,14 +247,15 @@ xdr_hyper (XDR *xdrs, quad_t *llp) return FALSE; } +strong_alias(__xdr_hyper,xdr_hyper) /* * XDR hyper integers * same as xdr_hyper - open coded to save a proc call! */ -bool_t -xdr_u_hyper (XDR *xdrs, u_quad_t *ullp) +bool_t attribute_hidden +__xdr_u_hyper (XDR *xdrs, u_quad_t *ullp) { unsigned long t1; unsigned long t2; @@ -280,17 +281,18 @@ xdr_u_hyper (XDR *xdrs, u_quad_t *ullp) return FALSE; } +strong_alias(__xdr_u_hyper,xdr_u_hyper) bool_t xdr_longlong_t (XDR *xdrs, quad_t *llp) { - return xdr_hyper (xdrs, llp); + return __xdr_hyper (xdrs, llp); } bool_t xdr_u_longlong_t (XDR *xdrs, u_quad_t *ullp) { - return xdr_u_hyper (xdrs, ullp); + return __xdr_u_hyper (xdrs, ullp); } /* diff --git a/libc/misc/dirent/scandir.c b/libc/misc/dirent/scandir.c index 8b08e4884..e80df58dc 100644 --- a/libc/misc/dirent/scandir.c +++ b/libc/misc/dirent/scandir.c @@ -20,6 +20,8 @@ /* Modified for uClibc by Erik Andersen */ +#define qsort __qsort + #include <dirent.h> #include <stdio.h> #include <string.h> diff --git a/libc/misc/dirent/scandir64.c b/libc/misc/dirent/scandir64.c index 2916285eb..46b6d5cef 100644 --- a/libc/misc/dirent/scandir64.c +++ b/libc/misc/dirent/scandir64.c @@ -20,6 +20,8 @@ /* Modified for uClibc by Erik Andersen */ +#define qsort __qsort + #include <features.h> #ifdef __UCLIBC_HAS_LFS__ #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64 diff --git a/libc/misc/ftw/ftw.c b/libc/misc/ftw/ftw.c index 58a9c3177..6bd36d749 100644 --- a/libc/misc/ftw/ftw.c +++ b/libc/misc/ftw/ftw.c @@ -25,6 +25,7 @@ #define stpcpy __stpcpy #define tsearch __tsearch #define tdestroy __tdestroy +#define fchdir __fchdir #define _GNU_SOURCE #include <features.h> diff --git a/libc/misc/glob/glob.c b/libc/misc/glob/glob.c index 22f1874ab..3fc20dbc2 100644 --- a/libc/misc/glob/glob.c +++ b/libc/misc/glob/glob.c @@ -17,6 +17,7 @@ Cambridge, MA 02139, USA. */ #define strrchr __strrchr #define strcoll __strcoll +#define qsort __qsort #include <features.h> #include <stdlib.h> diff --git a/libc/misc/internals/__uClibc_main.c b/libc/misc/internals/__uClibc_main.c index a46465398..618fad74c 100644 --- a/libc/misc/internals/__uClibc_main.c +++ b/libc/misc/internals/__uClibc_main.c @@ -14,7 +14,9 @@ */ #define getgid __getgid +#define getuid __getuid #define getegid __getegid +#define geteuid __geteuid #define _ERRNO_H #include <features.h> diff --git a/libc/misc/ttyent/getttyent.c b/libc/misc/ttyent/getttyent.c index 923c45ab0..04f511921 100644 --- a/libc/misc/ttyent/getttyent.c +++ b/libc/misc/ttyent/getttyent.c @@ -46,19 +46,6 @@ static FILE *tf; static struct ttyent tty; -struct ttyent * getttynam(const char *tty) -{ - register struct ttyent *t; - - setttyent(); - while ((t = getttyent())) - if (!__strcmp(tty, t->ty_name)) - break; - endttyent(); - return (t); -} - - /* Skip over the current field, removing quotes, and return * a pointer to the next field. */ @@ -101,13 +88,30 @@ static char * value(register char *p) return ((p = __strchr(p, '=')) ? ++p : NULL); } -struct ttyent * getttyent(void) +int attribute_hidden __setttyent(void) +{ + + if (tf) { + rewind(tf); + return (1); + } else if ((tf = fopen(_PATH_TTYS, "r"))) { + /* We do the locking ourselves. */ +#ifdef __UCLIBC_HAS_THREADS__ + __fsetlocking (tf, FSETLOCKING_BYCALLER); +#endif + return (1); + } + return (0); +} +strong_alias(__setttyent,setttyent) + +struct ttyent attribute_hidden * __getttyent(void) { register int c; register char *p; static char *line = NULL; - if (!tf && !setttyent()) + if (!tf && !__setttyent()) return (NULL); if (!line) { @@ -177,24 +181,9 @@ struct ttyent * getttyent(void) *p = '\0'; return (&tty); } +strong_alias(__getttyent,getttyent) -int setttyent(void) -{ - - if (tf) { - rewind(tf); - return (1); - } else if ((tf = fopen(_PATH_TTYS, "r"))) { - /* We do the locking ourselves. */ -#ifdef __UCLIBC_HAS_THREADS__ - __fsetlocking (tf, FSETLOCKING_BYCALLER); -#endif - return (1); - } - return (0); -} - -int endttyent(void) +int attribute_hidden __endttyent(void) { int rval; @@ -205,3 +194,16 @@ int endttyent(void) } return (1); } +strong_alias(__endttyent,endttyent) + +struct ttyent * getttynam(const char *tty) +{ + register struct ttyent *t; + + __setttyent(); + while ((t = __getttyent())) + if (!__strcmp(tty, t->ty_name)) + break; + __endttyent(); + return (t); +} diff --git a/libc/misc/wordexp/wordexp.c b/libc/misc/wordexp/wordexp.c index ea69bc684..9cdeaf162 100644 --- a/libc/misc/wordexp/wordexp.c +++ b/libc/misc/wordexp/wordexp.c @@ -26,6 +26,8 @@ #define unsetenv __unsetenv #define waitpid __waitpid #define kill __kill +#define getuid __getuid +#define execve __execve #define _GNU_SOURCE #include <sys/cdefs.h> diff --git a/libc/stdio/_stdio.h b/libc/stdio/_stdio.h index 85a00bb95..e4aa5d740 100644 --- a/libc/stdio/_stdio.h +++ b/libc/stdio/_stdio.h @@ -260,6 +260,8 @@ extern int __stdio_trans2w(FILE *__restrict stream) attribute_hidden; extern int __stdio_trans2r_o(FILE *__restrict stream, int oflag) attribute_hidden; extern int __stdio_trans2w_o(FILE *__restrict stream, int oflag) attribute_hidden; +extern int __setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) __THROW attribute_hidden; /**********************************************************************/ #ifdef __STDIO_BUFFERS diff --git a/libc/stdio/popen.c b/libc/stdio/popen.c index 45ac6f17f..354227593 100644 --- a/libc/stdio/popen.c +++ b/libc/stdio/popen.c @@ -15,6 +15,7 @@ */ #define waitpid __waitpid +#define execl __execl #include <stdio.h> #include <stdlib.h> diff --git a/libc/stdio/scanf.c b/libc/stdio/scanf.c index af1018636..19484d588 100644 --- a/libc/stdio/scanf.c +++ b/libc/stdio/scanf.c @@ -46,6 +46,7 @@ #define wcslen __wcslen #define mbsrtowcs __mbsrtowcs #define mbrtowc __mbrtowc +#define ungetc __ungetc #define _ISOC99_SOURCE /* for LLONG_MAX primarily... */ #define _GNU_SOURCE diff --git a/libc/stdio/setbuf.c b/libc/stdio/setbuf.c index 21158638b..02a4736ac 100644 --- a/libc/stdio/setbuf.c +++ b/libc/stdio/setbuf.c @@ -10,6 +10,6 @@ void setbuf(FILE * __restrict stream, register char * __restrict buf) { #ifdef __STDIO_BUFFERS - setvbuf(stream, buf, ((buf != NULL) ? _IOFBF : _IONBF), BUFSIZ); + __setvbuf(stream, buf, ((buf != NULL) ? _IOFBF : _IONBF), BUFSIZ); #endif } diff --git a/libc/stdio/setbuffer.c b/libc/stdio/setbuffer.c index ccd4d275e..d1f12a1af 100644 --- a/libc/stdio/setbuffer.c +++ b/libc/stdio/setbuffer.c @@ -16,6 +16,6 @@ void setbuffer(FILE * __restrict stream, register char * __restrict buf, size_t size) { #ifdef __STDIO_BUFFERS - setvbuf(stream, buf, (buf ? _IOFBF : _IONBF), size); + __setvbuf(stream, buf, (buf ? _IOFBF : _IONBF), size); #endif } diff --git a/libc/stdio/setlinebuf.c b/libc/stdio/setlinebuf.c index 6147fa8f4..56e89e11b 100644 --- a/libc/stdio/setlinebuf.c +++ b/libc/stdio/setlinebuf.c @@ -15,6 +15,6 @@ void setlinebuf(FILE * __restrict stream) { #ifdef __STDIO_BUFFERS - setvbuf(stream, NULL, _IOLBF, (size_t) 0); + __setvbuf(stream, NULL, _IOLBF, (size_t) 0); #endif } diff --git a/libc/stdio/setvbuf.c b/libc/stdio/setvbuf.c index 3fe62c6a8..d12d1576a 100644 --- a/libc/stdio/setvbuf.c +++ b/libc/stdio/setvbuf.c @@ -14,7 +14,7 @@ #error Assumption violated for buffering mode flags #endif -int setvbuf(register FILE * __restrict stream, register char * __restrict buf, +int attribute_hidden __setvbuf(register FILE * __restrict stream, register char * __restrict buf, int mode, size_t size) { #ifdef __STDIO_BUFFERS @@ -104,3 +104,4 @@ int setvbuf(register FILE * __restrict stream, register char * __restrict buf, #endif } +strong_alias(__setvbuf,setvbuf) diff --git a/libc/stdio/ungetc.c b/libc/stdio/ungetc.c index 1b9197a18..de3f1d16b 100644 --- a/libc/stdio/ungetc.c +++ b/libc/stdio/ungetc.c @@ -24,7 +24,7 @@ * (See section 7.19.6.2 of the C9X rationale -- WG14/N897.) */ -int ungetc(int c, register FILE *stream) +int attribute_hidden __ungetc(int c, register FILE *stream) { __STDIO_AUTO_THREADLOCK_VAR; @@ -75,3 +75,4 @@ int ungetc(int c, register FILE *stream) return c; } +strong_alias(__ungetc,ungetc) diff --git a/libc/stdlib/malloc-simple/alloc.c b/libc/stdlib/malloc-simple/alloc.c index 7f0a91f0b..382f8db44 100644 --- a/libc/stdlib/malloc-simple/alloc.c +++ b/libc/stdlib/malloc-simple/alloc.c @@ -6,6 +6,8 @@ * Parts of the memalign code were stolen from malloc-930716. */ +#define munmap __munmap + #define _GNU_SOURCE #include <features.h> #include <unistd.h> diff --git a/libc/stdlib/malloc-standard/free.c b/libc/stdlib/malloc-standard/free.c index 94e1d65b1..aa8edec97 100644 --- a/libc/stdlib/malloc-standard/free.c +++ b/libc/stdlib/malloc-standard/free.c @@ -14,6 +14,8 @@ Hacked up for uClibc by Erik Andersen <andersen@codepoet.org> */ +#define munmap __munmap + #include "malloc.h" diff --git a/libc/stdlib/malloc/free.c b/libc/stdlib/malloc/free.c index 88684e6df..eb35e78ee 100644 --- a/libc/stdlib/malloc/free.c +++ b/libc/stdlib/malloc/free.c @@ -11,6 +11,8 @@ * Written by Miles Bader <miles@gnu.org> */ +#define munmap __munmap + #include <stdlib.h> #include <unistd.h> #include <sys/mman.h> diff --git a/libc/stdlib/stdlib.c b/libc/stdlib/stdlib.c index fb8ce186b..04c85d32f 100644 --- a/libc/stdlib/stdlib.c +++ b/libc/stdlib/stdlib.c @@ -750,7 +750,7 @@ void *bsearch(const void *key, const void *base, size_t /* nmemb */ high, * calculation, as well as to reduce the generated code size with * bcc and gcc. */ -void qsort (void *base, +void attribute_hidden __qsort (void *base, size_t nel, size_t width, int (*comp)(const void *, const void *)) @@ -795,6 +795,7 @@ void qsort (void *base, } while (wgap); } } +strong_alias(__qsort,qsort) /* ---------- original snippets version below ---------- */ diff --git a/libc/stdlib/system.c b/libc/stdlib/system.c index 7dba803ac..e268bf5ef 100644 --- a/libc/stdlib/system.c +++ b/libc/stdlib/system.c @@ -1,4 +1,5 @@ #define wait4 __wait4 +#define execl __execl #include <stdio.h> #include <stddef.h> diff --git a/libc/stdlib/unix_grantpt.c b/libc/stdlib/unix_grantpt.c index 9bd374978..1f1c4df5c 100644 --- a/libc/stdlib/unix_grantpt.c +++ b/libc/stdlib/unix_grantpt.c @@ -19,6 +19,7 @@ #define memchr __memchr #define getgid __getgid +#define getuid __getuid #define setrlimit __setrlimit #define waitpid __waitpid diff --git a/libc/sysdeps/linux/common/execve.c b/libc/sysdeps/linux/common/execve.c index cb5e86da7..8a95746ee 100644 --- a/libc/sysdeps/linux/common/execve.c +++ b/libc/sysdeps/linux/common/execve.c @@ -16,7 +16,8 @@ static inline _syscall3(int, __syscall_execve, const char *, filename, char *const *, argv, char *const *, envp); -int execve(const char * filename, char *const * argv, char *const * envp) +int attribute_hidden __execve(const char * filename, char *const * argv, char *const * envp) { return __syscall_execve(filename, argv, envp); } +strong_alias(__execve,execve) diff --git a/libc/sysdeps/linux/common/fchdir.c b/libc/sysdeps/linux/common/fchdir.c index 55ee3a2a8..f4692cc2c 100644 --- a/libc/sysdeps/linux/common/fchdir.c +++ b/libc/sysdeps/linux/common/fchdir.c @@ -9,4 +9,6 @@ #include "syscalls.h" #include <unistd.h> -_syscall1(int, fchdir, int, fd); +#define __NR___fchdir __NR_fchdir +attribute_hidden _syscall1(int, __fchdir, int, fd); +strong_alias(__fchdir,fchdir) diff --git a/libc/sysdeps/linux/common/geteuid.c b/libc/sysdeps/linux/common/geteuid.c index 10bcce735..3936739b3 100644 --- a/libc/sysdeps/linux/common/geteuid.c +++ b/libc/sysdeps/linux/common/geteuid.c @@ -7,19 +7,22 @@ * GNU Library General Public License (LGPL) version 2 or later. */ +#define getuid __getuid + #include "syscalls.h" #include <unistd.h> #ifdef __NR_geteuid #define __NR___syscall_geteuid __NR_geteuid static inline _syscall0(int, __syscall_geteuid); -uid_t geteuid(void) +uid_t attribute_hidden __geteuid(void) { return (__syscall_geteuid()); } #else -uid_t geteuid(void) +uid_t attribute_hidden __geteuid(void) { return (getuid()); } #endif +strong_alias(__geteuid,geteuid) diff --git a/libc/sysdeps/linux/common/getuid.c b/libc/sysdeps/linux/common/getuid.c index 40d20f2dd..7c81ccf48 100644 --- a/libc/sysdeps/linux/common/getuid.c +++ b/libc/sysdeps/linux/common/getuid.c @@ -17,7 +17,8 @@ static inline _syscall0(int, __syscall_getuid); -uid_t getuid(void) +uid_t attribute_hidden __getuid(void) { return (__syscall_getuid()); } +strong_alias(__getuid,getuid) diff --git a/libc/sysdeps/linux/common/munmap.c b/libc/sysdeps/linux/common/munmap.c index ff94f2235..be631060a 100644 --- a/libc/sysdeps/linux/common/munmap.c +++ b/libc/sysdeps/linux/common/munmap.c @@ -10,4 +10,6 @@ #include "syscalls.h" #include <unistd.h> #include <sys/mman.h> -_syscall2(int, munmap, void *, start, size_t, length); +#define __NR___munmap __NR_munmap +attribute_hidden _syscall2(int, __munmap, void *, start, size_t, length); +strong_alias(__munmap,munmap) diff --git a/libc/unistd/exec.c b/libc/unistd/exec.c index b09bdfef4..9793d9ad4 100644 --- a/libc/unistd/exec.c +++ b/libc/unistd/exec.c @@ -30,6 +30,9 @@ * to free the storage allocated for the copy. Better ideas anyone? */ +#define munmap __munmap +#define execve __execve + #define _GNU_SOURCE #include <stdio.h> #include <stdlib.h> @@ -91,7 +94,7 @@ void __exec_free(void *ptr, size_t size) /**********************************************************************/ #ifdef L_execl -int execl(const char *path, const char *arg, ...) +int attribute_hidden __execl(const char *path, const char *arg, ...) { EXEC_ALLOC_SIZE(size) /* Do NOT add a semicolon! */ int n; @@ -122,6 +125,7 @@ int execl(const char *path, const char *arg, ...) return n; } +strong_alias(__execl,execl) #endif /**********************************************************************/ @@ -174,6 +178,8 @@ int execle(const char *path, const char *arg, ...) /**********************************************************************/ #ifdef L_execlp +extern int __execvp(const char *path, char *const argv[]) attribute_hidden; + int execlp(const char *file, const char *arg, ...) { EXEC_ALLOC_SIZE(size) /* Do NOT add a semicolon! */ @@ -215,7 +221,7 @@ int execlp(const char *file, const char *arg, ...) * /bin, and then /usr/bin. */ static const char default_path[] = ":/bin:/usr/bin"; -int execvp(const char *path, char *const argv[]) +int attribute_hidden __execvp(const char *path, char *const argv[]) { char *buf = NULL; char *p; @@ -312,6 +318,7 @@ int execvp(const char *path, char *const argv[]) return -1; } +strong_alias(__execvp,execvp) #endif /**********************************************************************/ diff --git a/libc/unistd/getpass.c b/libc/unistd/getpass.c index 5dc6f5cf1..2af8f00a1 100644 --- a/libc/unistd/getpass.c +++ b/libc/unistd/getpass.c @@ -16,6 +16,8 @@ write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#define setvbuf __setvbuf + #include <stdio.h> #include <string.h> #include <termios.h> |