diff options
Diffstat (limited to 'libc/sysdeps/linux')
212 files changed, 980 insertions, 841 deletions
diff --git a/libc/sysdeps/linux/alpha/__longjmp.S b/libc/sysdeps/linux/alpha/__longjmp.S index b78489f53..910ec0781 100644 --- a/libc/sysdeps/linux/alpha/__longjmp.S +++ b/libc/sysdeps/linux/alpha/__longjmp.S @@ -54,3 +54,4 @@ __longjmp:  	ret  .end  __longjmp +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/alpha/brk.S b/libc/sysdeps/linux/alpha/brk.S index a3f2edfe7..de0a7563f 100644 --- a/libc/sysdeps/linux/alpha/brk.S +++ b/libc/sysdeps/linux/alpha/brk.S @@ -38,12 +38,11 @@ __curbrk: .skip 8  #endif  	.text -.globl  __brk; -.hidden __brk; +.globl  brk;  .align 3; -.ent  __brk , 0; +.ent  brk , 0; -__brk: +brk:      .frame $30 ,   8 , $26  	ldgp	$29, 0($27)  	subq	$30, 8, $30 @@ -77,7 +76,6 @@ $err0:	ldi	$0, ENOMEM  $err1:	addq	$30, 8, $30  	jmp	$31, __syscall_error -	.end __brk +	.end brk -.weak    brk; -    brk    =   __brk +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/alpha/clone.S b/libc/sysdeps/linux/alpha/clone.S index ed5a4f487..9db118afd 100644 --- a/libc/sysdeps/linux/alpha/clone.S +++ b/libc/sysdeps/linux/alpha/clone.S @@ -29,11 +29,11 @@  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */  .text -.globl  __clone; +.globl  clone;  .align 3; -.ent  __clone , 0; +.ent  clone , 0; -__clone: +clone:  	.frame $30 , 0, $26  	.prologue 0 @@ -64,7 +64,7 @@ $error:  1:	ldgp	gp,0(gp)  	jmp	zero,__syscall_error -.end __clone +.end clone  /* Load up the arguments to the function.  Put this block of code in     its own function so that we can terminate the stack trace with our @@ -87,13 +87,9 @@ thread_start:  	/* Call _exit rather than doing it inline for breakpoint purposes */  	mov	v0,a0 -	jsr	ra,_exit_internal +	jsr	ra,HIDDEN_JUMPTARGET(_exit)  	/* Die horribly.  */  	halt  	.end thread_start - -.weak    clone; -    clone    =   __clone - diff --git a/libc/sysdeps/linux/arm/__longjmp.S b/libc/sysdeps/linux/arm/__longjmp.S index 822e15a69..ee588b2c8 100644 --- a/libc/sysdeps/linux/arm/__longjmp.S +++ b/libc/sysdeps/linux/arm/__longjmp.S @@ -60,3 +60,4 @@ __longjmp:  	ldmia     ip ,  {v1-v6, sl, fp, sp, pc}  .size __longjmp,.-__longjmp +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/arm/brk.c b/libc/sysdeps/linux/arm/brk.c index e711db3b1..88f489e26 100644 --- a/libc/sysdeps/linux/arm/brk.c +++ b/libc/sysdeps/linux/arm/brk.c @@ -24,7 +24,7 @@  /* This must be initialized data because commons can't have aliases.  */  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {  	void *newbrk = (void*)INTERNAL_SYSCALL(brk, , 1, addr); @@ -37,4 +37,4 @@ int attribute_hidden __brk (void *addr)  	return 0;  } -strong_alias(__brk,brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/arm/clone.S b/libc/sysdeps/linux/arm/clone.S index 946d4bdda..550d43f4d 100644 --- a/libc/sysdeps/linux/arm/clone.S +++ b/libc/sysdeps/linux/arm/clone.S @@ -28,10 +28,10 @@  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */  .text -.global __clone -.type __clone,%function +.global clone +.type clone,%function  .align 4 -__clone: +clone:  	@ sanity check args  	cmp	r0, #0  	cmpne	r1, #0 @@ -59,14 +59,11 @@ __clone:  	ldr 	pc, [sp]  	@ and we are done, passing the return value through r0 -	b	_exit_internal +	b	HIDDEN_JUMPTARGET(_exit)  __error:  	b	__syscall_error -.size __clone,.-__clone - -.weak clone -	clone = __clone +.size clone,.-clone  #endif diff --git a/libc/sysdeps/linux/arm/ioperm.c b/libc/sysdeps/linux/arm/ioperm.c index 0c0c21182..ed370d551 100644 --- a/libc/sysdeps/linux/arm/ioperm.c +++ b/libc/sysdeps/linux/arm/ioperm.c @@ -33,12 +33,6 @@     the area affected (this is a kernel limitation).  So we now just     enable all the ports all of the time.  */ -#define readlink __readlink -#define mmap __mmap -#define sscanf __sscanf -#define fscanf __fscanf -#define fgets __fgets -  #include <errno.h>  #include <fcntl.h>  #include <stdio.h> @@ -53,6 +47,18 @@  #include <asm/page.h>  #include <sys/sysctl.h> +libc_hidden_proto(readlink) +libc_hidden_proto(mmap) +libc_hidden_proto(sscanf) +libc_hidden_proto(fscanf) +libc_hidden_proto(fprintf) +libc_hidden_proto(fgets) +libc_hidden_proto(fopen) +libc_hidden_proto(fclose) +libc_hidden_proto(strcmp) +libc_hidden_proto(open) +libc_hidden_proto(close) +  #include <linux/version.h>  #define PATH_ARM_SYSTYPE	"/etc/arm_systype" @@ -163,7 +169,7 @@ init_iosys (void)      /* translate systype name into i/o system: */      for (i = 0; i < sizeof (platform) / sizeof (platform[0]); ++i) { -	if (__strcmp (platform[i].name, systype) == 0) { +	if (strcmp (platform[i].name, systype) == 0) {  	    io.shift = platform[i].shift;  	    io.io_base = platform[i].io_base;  	    io.initdone = 1; @@ -191,14 +197,14 @@ int ioperm (unsigned long int from, unsigned long int num, int turn_on)  	if (! io.base) {  	    int fd; -	    fd = __open ("/dev/mem", O_RDWR); +	    fd = open ("/dev/mem", O_RDWR);  	    if (fd < 0)  		return -1;  	    io.base = (unsigned long int) mmap (0, MAX_PORT << io.shift,  					  PROT_READ | PROT_WRITE,  					  MAP_SHARED, fd, io.io_base); -	    __close (fd); +	    close (fd);  	    if ((long) io.base == -1)  		return -1;  	} @@ -206,6 +212,8 @@ int ioperm (unsigned long int from, unsigned long int num, int turn_on)      return 0;  } +libc_hidden_proto(ioperm) +libc_hidden_def(ioperm)  void diff --git a/libc/sysdeps/linux/arm/iopl.c b/libc/sysdeps/linux/arm/iopl.c index 0cd306d42..552ba6c67 100644 --- a/libc/sysdeps/linux/arm/iopl.c +++ b/libc/sysdeps/linux/arm/iopl.c @@ -21,6 +21,8 @@  #include <sys/io.h>  #include <errno.h> +libc_hidden_proto(ioperm) +  #define MAX_PORT	0x10000  int iopl(int level)  diff --git a/libc/sysdeps/linux/arm/mmap64.S b/libc/sysdeps/linux/arm/mmap64.S index dd6f3c477..784d73440 100644 --- a/libc/sysdeps/linux/arm/mmap64.S +++ b/libc/sysdeps/linux/arm/mmap64.S @@ -52,7 +52,7 @@ mmap64:  	mov	r0, ip			@ first arg was clobbered  	teq	r5, $0  	ldmeqfd	sp!, {r4, r5, lr} -	beq	__mmap +	beq	HIDDEN_JUMPTARGET(mmap)  .Linval:  	mov	r0, $-EINVAL  	ldmfd	sp!, {r4, r5, lr} diff --git a/libc/sysdeps/linux/arm/sigaction.c b/libc/sysdeps/linux/arm/sigaction.c index c2f79c337..3d3112a29 100644 --- a/libc/sysdeps/linux/arm/sigaction.c +++ b/libc/sysdeps/linux/arm/sigaction.c @@ -39,10 +39,9 @@ extern void __default_rt_sa_restorer(void);    __default_sa_restorer  #endif - -  #ifdef __NR_rt_sigaction +libc_hidden_proto(memcpy)  /* If ACT is not NULL, change the action for SIG to *ACT.     If OACT is not NULL, put the old action for SIG in *OACT.  */ @@ -53,7 +52,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa      if (act) {  	kact.k_sa_handler = act->sa_handler; -	__memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); +	memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));  	kact.sa_flags = act->sa_flags;  # ifdef HAVE_SA_RESTORER  	/* If the user specified SA_ONSTACK this means she is trying to @@ -78,7 +77,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa  	    oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);      if (oact && result >= 0) {  	oact->sa_handler = koact.k_sa_handler; -	__memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t)); +	memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));  	oact->sa_flags = koact.sa_flags;  # ifdef HAVE_SA_RESTORER  	oact->sa_restorer = koact.sa_restorer; @@ -90,8 +89,6 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa  #else - -  /* If ACT is not NULL, change the action for SIG to *ACT.     If OACT is not NULL, put the old action for SIG in *OACT.  */  int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) @@ -129,6 +126,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa  #endif  #ifndef LIBC_SIGACTION -hidden_weak_alias(__libc_sigaction,__sigaction) -weak_alias(__libc_sigaction,sigaction) +strong_alias(__libc_sigaction,sigaction) +libc_hidden_proto(sigaction) +libc_hidden_def(sigaction)  #endif diff --git a/libc/sysdeps/linux/arm/vfork.S b/libc/sysdeps/linux/arm/vfork.S index 68798995a..0bf97c223 100644 --- a/libc/sysdeps/linux/arm/vfork.S +++ b/libc/sysdeps/linux/arm/vfork.S @@ -16,12 +16,11 @@  #ifdef __NR_fork  .text -.global	__vfork -.hidden	__vfork -.type	__vfork,%function +.global	vfork +.type	vfork,%function  .align 4 -__vfork: +vfork:  #ifdef __NR_vfork  	swi	__NR_vfork @@ -44,6 +43,6 @@ __vfork:  __error:  	b	__syscall_error -.size __vfork,.-__vfork -strong_alias(__vfork,vfork) +.size vfork,.-vfork +libc_hidden_def(vfork)  #endif diff --git a/libc/sysdeps/linux/bfin/brk.c b/libc/sysdeps/linux/bfin/brk.c index 1cb30216d..334bf6fc0 100644 --- a/libc/sysdeps/linux/bfin/brk.c +++ b/libc/sysdeps/linux/bfin/brk.c @@ -1,3 +1,8 @@ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <unistd.h>  #include <sys/syscall.h> @@ -6,7 +11,7 @@  /* This must be initialized data because commons can't have aliases.  */  void * __curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk; @@ -28,4 +33,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/bfin/vfork.S b/libc/sysdeps/linux/bfin/vfork.S index 1f9539c55..694265b7a 100644 --- a/libc/sysdeps/linux/bfin/vfork.S +++ b/libc/sysdeps/linux/bfin/vfork.S @@ -1,4 +1,4 @@ - +#include <features.h>  #include <asm/unistd.h>  	.text  	.globl _vfork @@ -10,3 +10,4 @@ _vfork:  	p0 = __NR_vfork;  	excpt 0;  	rts; +libc_hidden_def(_vfork) diff --git a/libc/sysdeps/linux/common/__rt_sigtimedwait.c b/libc/sysdeps/linux/common/__rt_sigtimedwait.c index 09409fe81..43c6b6517 100644 --- a/libc/sysdeps/linux/common/__rt_sigtimedwait.c +++ b/libc/sysdeps/linux/common/__rt_sigtimedwait.c @@ -16,18 +16,18 @@  static _syscall4(int, __rt_sigtimedwait, const sigset_t *, set, siginfo_t *, info,  		  const struct timespec *, timeout, size_t, setsize); -int attribute_hidden __sigwaitinfo(const sigset_t * set, siginfo_t * info) +int sigwaitinfo(const sigset_t * set, siginfo_t * info)  {  	return __rt_sigtimedwait(set, info, NULL, _NSIG / 8);  } -int attribute_hidden __sigtimedwait(const sigset_t * set, siginfo_t * info, +int sigtimedwait(const sigset_t * set, siginfo_t * info,  				 const struct timespec *timeout)  {  	return __rt_sigtimedwait(set, info, timeout, _NSIG / 8);  }  #else -int attribute_hidden __sigwaitinfo(const sigset_t * set, siginfo_t * info) +int sigwaitinfo(const sigset_t * set, siginfo_t * info)  {  	if (set == NULL)  		__set_errno(EINVAL); @@ -36,7 +36,7 @@ int attribute_hidden __sigwaitinfo(const sigset_t * set, siginfo_t * info)  	return -1;  } -int attribute_hidden __sigtimedwait(const sigset_t * set, siginfo_t * info, +int sigtimedwait(const sigset_t * set, siginfo_t * info,  				 const struct timespec *timeout)  {  	if (set == NULL) @@ -46,6 +46,7 @@ int attribute_hidden __sigtimedwait(const sigset_t * set, siginfo_t * info,  	return -1;  }  #endif -/* keep these weak so that libpthread can overwrite them */ -weak_alias(__sigtimedwait,sigtimedwait) -weak_alias(__sigwaitinfo,sigwaitinfo) +libc_hidden_proto(sigwaitinfo) +libc_hidden_def(sigwaitinfo) +libc_hidden_proto(sigtimedwait) +libc_hidden_def(sigtimedwait) diff --git a/libc/sysdeps/linux/common/__syscall_fcntl.c b/libc/sysdeps/linux/common/__syscall_fcntl.c index ca9aff5e7..f8652def6 100644 --- a/libc/sysdeps/linux/common/__syscall_fcntl.c +++ b/libc/sysdeps/linux/common/__syscall_fcntl.c @@ -11,18 +11,16 @@  #include <stdarg.h>  #include <fcntl.h> -#undef __fcntl -  #if defined __UCLIBC_HAS_LFS__ && defined __NR_fcntl64 -extern int __fcntl64(int fd, int cmd, ...) attribute_hidden; +extern int __libc_fcntl64(int fd, int cmd, ...); +libc_hidden_proto(__libc_fcntl64)  #endif -#undef fcntl  #define __NR___syscall_fcntl __NR_fcntl  static inline  _syscall3(int, __syscall_fcntl, int, fd, int, cmd, long, arg); -int attribute_hidden __fcntl(int fd, int cmd, ...) +int __libc_fcntl(int fd, int cmd, ...)  {  	long arg;  	va_list list; @@ -33,7 +31,7 @@ int attribute_hidden __fcntl(int fd, int cmd, ...)  	if (cmd == F_GETLK64 || cmd == F_SETLK64 || cmd == F_SETLKW64) {  #if defined __UCLIBC_HAS_LFS__ && defined __NR_fcntl64 -		return __fcntl64(fd, cmd, arg); +		return __libc_fcntl64(fd, cmd, arg);  #else  		__set_errno(ENOSYS);  		return -1; @@ -41,10 +39,15 @@ int attribute_hidden __fcntl(int fd, int cmd, ...)  	}  	return (__syscall_fcntl(fd, cmd, arg));  } -strong_alias(__fcntl,fcntl) -weak_alias(__fcntl,__libc_fcntl) +libc_hidden_proto(__libc_fcntl) +libc_hidden_def(__libc_fcntl) + +strong_alias(__libc_fcntl,fcntl) +libc_hidden_proto(fcntl) +libc_hidden_def(fcntl)  #if ! defined __NR_fcntl64 && defined __UCLIBC_HAS_LFS__ -hidden_strong_alias(__fcntl,__fcntl64) -weak_alias(__fcntl,fcntl64) -weak_alias(__fcntl,__libc_fcntl64) +strong_alias(__libc_fcntl,__libc_fcntl64) +strong_alias(__libc_fcntl,fcntl64) +libc_hidden_proto(fcntl64) +libc_hidden_def(fcntl64)  #endif diff --git a/libc/sysdeps/linux/common/__syscall_fcntl64.c b/libc/sysdeps/linux/common/__syscall_fcntl64.c index 9231808e3..759ba949f 100644 --- a/libc/sysdeps/linux/common/__syscall_fcntl64.c +++ b/libc/sysdeps/linux/common/__syscall_fcntl64.c @@ -12,10 +12,9 @@  #include <fcntl.h>  #if defined __UCLIBC_HAS_LFS__ && defined __NR_fcntl64 -#undef fcntl64  #define __NR___syscall_fcntl64 __NR_fcntl64  static inline _syscall3(int, __syscall_fcntl64, int, fd, int, cmd, long, arg); -int attribute_hidden __fcntl64(int fd, int cmd, ...) +int __libc_fcntl64(int fd, int cmd, ...)  {  	long arg;  	va_list list; @@ -26,6 +25,10 @@ int attribute_hidden __fcntl64(int fd, int cmd, ...)  	va_end(list);  	return (__syscall_fcntl64(fd, cmd, arg));  } -strong_alias(__fcntl64,fcntl64) -weak_alias(__fcntl64,__libc_fcntl64) +libc_hidden_proto(__libc_fcntl64) +libc_hidden_def(__libc_fcntl64) + +strong_alias(__libc_fcntl64,fcntl64) +libc_hidden_proto(fcntl64) +libc_hidden_def(fcntl64)  #endif diff --git a/libc/sysdeps/linux/common/_exit.c b/libc/sysdeps/linux/common/_exit.c index 4e450bbc5..a708fad90 100644 --- a/libc/sysdeps/linux/common/_exit.c +++ b/libc/sysdeps/linux/common/_exit.c @@ -32,12 +32,11 @@  static inline _syscall1(void, __syscall_exit, int, status);  #endif -#undef _exit -#undef _exit_internal -void attribute_noreturn attribute_hidden _exit_internal(int status) +void attribute_noreturn _exit(int status)  {  	/* The loop is added only to keep gcc happy. */  	while(1)  		INLINE_SYSCALL(exit, 1, status);  } -strong_alias(_exit_internal,_exit) +libc_hidden_proto(_exit) +libc_hidden_def(_exit) diff --git a/libc/sysdeps/linux/common/adjtimex.c b/libc/sysdeps/linux/common/adjtimex.c index ef33051e8..a6c9be2b8 100644 --- a/libc/sysdeps/linux/common/adjtimex.c +++ b/libc/sysdeps/linux/common/adjtimex.c @@ -10,8 +10,7 @@  #include "syscalls.h"  #include <sys/timex.h> -#define __NR___adjtimex __NR_adjtimex -attribute_hidden _syscall1(int, __adjtimex, struct timex *, buf); - -strong_alias(__adjtimex, adjtimex) -weak_alias(__adjtimex, ntp_adjtime) +_syscall1(int, adjtimex, struct timex *, buf); +libc_hidden_proto(adjtimex) +libc_hidden_def(adjtimex) +strong_alias(adjtimex,ntp_adjtime) diff --git a/libc/sysdeps/linux/common/alarm.c b/libc/sysdeps/linux/common/alarm.c index 8239cec5b..6089a50cf 100644 --- a/libc/sysdeps/linux/common/alarm.c +++ b/libc/sysdeps/linux/common/alarm.c @@ -7,16 +7,17 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define setitimer __setitimer -  #include "syscalls.h"  #include <unistd.h>  #ifdef __NR_alarm  #define __NR___alarm __NR_alarm -attribute_hidden _syscall1(unsigned int, __alarm, unsigned int, seconds); +_syscall1(unsigned int, alarm, unsigned int, seconds);  #else  #include <sys/time.h> -unsigned int attribute_hidden __alarm(unsigned int seconds) + +libc_hidden_proto(setitimer) + +unsigned int alarm(unsigned int seconds)  {  	struct itimerval old, new;  	unsigned int retval; @@ -35,4 +36,5 @@ unsigned int attribute_hidden __alarm(unsigned int seconds)  	return retval;  }  #endif -strong_alias(__alarm,alarm) +libc_hidden_proto(alarm) +libc_hidden_def(alarm) diff --git a/libc/sysdeps/linux/common/chdir.c b/libc/sysdeps/linux/common/chdir.c index ff4ba527b..230f86eb9 100644 --- a/libc/sysdeps/linux/common/chdir.c +++ b/libc/sysdeps/linux/common/chdir.c @@ -13,8 +13,9 @@  #define __NR___syscall_chdir __NR_chdir  static inline _syscall1(int, __syscall_chdir, const char *, path); -int attribute_hidden __chdir(const char *path) +int chdir(const char *path)  {  	return __syscall_chdir(path);  } -strong_alias(__chdir,chdir) +libc_hidden_proto(chdir) +libc_hidden_def(chdir) diff --git a/libc/sysdeps/linux/common/chmod.c b/libc/sysdeps/linux/common/chmod.c index bf368cf5e..d6be1e130 100644 --- a/libc/sysdeps/linux/common/chmod.c +++ b/libc/sysdeps/linux/common/chmod.c @@ -13,8 +13,9 @@  #define __NR___syscall_chmod __NR_chmod  static inline _syscall2(int, __syscall_chmod, const char *, path, __kernel_mode_t, mode); -int attribute_hidden __chmod(const char *path, mode_t mode) +int chmod(const char *path, mode_t mode)  {  	return __syscall_chmod(path, mode);  } -strong_alias(__chmod,chmod) +libc_hidden_proto(chmod) +libc_hidden_def(chmod) diff --git a/libc/sysdeps/linux/common/clock_getres.c b/libc/sysdeps/linux/common/clock_getres.c index 7aff495d0..985426444 100644 --- a/libc/sysdeps/linux/common/clock_getres.c +++ b/libc/sysdeps/linux/common/clock_getres.c @@ -19,8 +19,6 @@   *   */ -#define sysconf __sysconf -  #define _GNU_SOURCE  #include "syscalls.h"  #include <time.h> @@ -29,6 +27,8 @@  #ifdef __NR_clock_getres  _syscall2(int, clock_getres, clockid_t, clock_id, struct timespec*, res);  #else +libc_hidden_proto(sysconf) +  int clock_getres(clockid_t clock_id, struct timespec* res)  {  	long clk_tck; diff --git a/libc/sysdeps/linux/common/clock_gettime.c b/libc/sysdeps/linux/common/clock_gettime.c index 33863a828..e72432b3c 100644 --- a/libc/sysdeps/linux/common/clock_gettime.c +++ b/libc/sysdeps/linux/common/clock_gettime.c @@ -20,8 +20,6 @@   *   */ -#define gettimeofday __gettimeofday -  #define _GNU_SOURCE  #include "syscalls.h"  #include <time.h> @@ -30,6 +28,8 @@  #ifdef __NR_clock_gettime  _syscall2(int, clock_gettime, clockid_t, clock_id, struct timespec*, tp);  #else +libc_hidden_proto(gettimeofday) +  int clock_gettime(clockid_t clock_id, struct timespec* tp)  {  	struct timeval tv; diff --git a/libc/sysdeps/linux/common/clock_settime.c b/libc/sysdeps/linux/common/clock_settime.c index e2ec03f78..88d5df93e 100644 --- a/libc/sysdeps/linux/common/clock_settime.c +++ b/libc/sysdeps/linux/common/clock_settime.c @@ -19,8 +19,6 @@   *   */ -#define settimeofday __settimeofday -  #define _GNU_SOURCE  #include "syscalls.h"  #include <time.h> @@ -29,6 +27,8 @@  #ifdef __NR_clock_settime  _syscall2(int, clock_settime, clockid_t, clock_id, const struct timespec*, tp);  #else +libc_hidden_proto(settimeofday) +  int clock_settime(clockid_t clock_id, const struct timespec* tp)  {  	struct timeval tv; diff --git a/libc/sysdeps/linux/common/close.c b/libc/sysdeps/linux/common/close.c index 2e9c2073d..38381a223 100644 --- a/libc/sysdeps/linux/common/close.c +++ b/libc/sysdeps/linux/common/close.c @@ -10,7 +10,8 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___close __NR_close -attribute_hidden _syscall1(int, __close, int, fd); -strong_alias(__close,close) -weak_alias(__close,__libc_close) +#define __NR___libc_close __NR_close +_syscall1(int, __libc_close, int, fd); +strong_alias(__libc_close,close) +libc_hidden_proto(close) +libc_hidden_def(close) diff --git a/libc/sysdeps/linux/common/cmsg_nxthdr.c b/libc/sysdeps/linux/common/cmsg_nxthdr.c index 771f5172b..a2352efe4 100644 --- a/libc/sysdeps/linux/common/cmsg_nxthdr.c +++ b/libc/sysdeps/linux/common/cmsg_nxthdr.c @@ -21,8 +21,8 @@  #include <features.h>  #include <sys/socket.h> -struct cmsghdr attribute_hidden * -__cmsg_nxthdr_internal (struct msghdr *mhdr, struct cmsghdr *cmsg) +struct cmsghdr * +__cmsg_nxthdr (struct msghdr *mhdr, struct cmsghdr *cmsg)  {    if ((size_t) cmsg->cmsg_len < sizeof (struct cmsghdr))      /* The kernel header does this so there may be a reason.  */ @@ -38,4 +38,5 @@ __cmsg_nxthdr_internal (struct msghdr *mhdr, struct cmsghdr *cmsg)      return NULL;    return cmsg;  } -strong_alias(__cmsg_nxthdr_internal,__cmsg_nxthdr) +libc_hidden_proto(__cmsg_nxthdr) +libc_hidden_def(__cmsg_nxthdr) diff --git a/libc/sysdeps/linux/common/creat64.c b/libc/sysdeps/linux/common/creat64.c index 759f5bed8..0bf20f175 100644 --- a/libc/sysdeps/linux/common/creat64.c +++ b/libc/sysdeps/linux/common/creat64.c @@ -16,8 +16,6 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ -#define open64 __open64 -  #include <features.h>  #include <fcntl.h>  #include <sys/types.h> @@ -37,7 +35,7 @@  # undef __USE_FILE_OFFSET64  #endif -#undef	creat +libc_hidden_proto(open64)  /* Create FILE with protections MODE.  */  int creat64 (const char *file, mode_t mode) diff --git a/libc/sysdeps/linux/common/dl-osinfo.h b/libc/sysdeps/linux/common/dl-osinfo.h index b4108cc53..cd791306e 100644 --- a/libc/sysdeps/linux/common/dl-osinfo.h +++ b/libc/sysdeps/linux/common/dl-osinfo.h @@ -7,8 +7,6 @@  #ifndef _DL_OSINFO_H  #define _DL_OSINFO_H 1 -#define gettimeofday __gettimeofday -  #include <features.h>  #ifdef __UCLIBC_HAS_SSP__ @@ -22,9 +20,14 @@  #  include <sys/time.h>  #  ifdef IS_IN_libc -#   define OPEN __open -#   define READ __read -#   define CLOSE __close +#include <fcntl.h> +libc_hidden_proto(open) +libc_hidden_proto(read) +libc_hidden_proto(close) +libc_hidden_proto(gettimeofday) +#   define OPEN open +#   define READ read +#   define CLOSE close  #   define GETTIMEOFDAY gettimeofday  #  else  #   define OPEN _dl_open diff --git a/libc/sysdeps/linux/common/dup2.c b/libc/sysdeps/linux/common/dup2.c index 71164aa0b..c7bd115aa 100644 --- a/libc/sysdeps/linux/common/dup2.c +++ b/libc/sysdeps/linux/common/dup2.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___dup2 __NR_dup2 -attribute_hidden _syscall2(int, __dup2, int, oldfd, int, newfd); -strong_alias(__dup2,dup2) +_syscall2(int, dup2, int, oldfd, int, newfd); +libc_hidden_proto(dup2) +libc_hidden_def(dup2) diff --git a/libc/sysdeps/linux/common/execve.c b/libc/sysdeps/linux/common/execve.c index 8a95746ee..bbc7b1dec 100644 --- a/libc/sysdeps/linux/common/execve.c +++ b/libc/sysdeps/linux/common/execve.c @@ -16,8 +16,9 @@  static inline _syscall3(int, __syscall_execve, const char *, filename,  		  char *const *, argv, char *const *, envp); -int attribute_hidden __execve(const char * filename, char *const * argv, char *const * envp) +int execve(const char * filename, char *const * argv, char *const * envp)  {  	return __syscall_execve(filename, argv, envp);  } -strong_alias(__execve,execve) +libc_hidden_proto(execve) +libc_hidden_def(execve) diff --git a/libc/sysdeps/linux/common/fchdir.c b/libc/sysdeps/linux/common/fchdir.c index f4692cc2c..3da6e1d58 100644 --- a/libc/sysdeps/linux/common/fchdir.c +++ b/libc/sysdeps/linux/common/fchdir.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___fchdir __NR_fchdir -attribute_hidden _syscall1(int, __fchdir, int, fd); -strong_alias(__fchdir,fchdir) +_syscall1(int, fchdir, int, fd); +libc_hidden_proto(fchdir) +libc_hidden_def(fchdir) diff --git a/libc/sysdeps/linux/common/fork.c b/libc/sysdeps/linux/common/fork.c index 899cbaf63..23c6fedff 100644 --- a/libc/sysdeps/linux/common/fork.c +++ b/libc/sysdeps/linux/common/fork.c @@ -12,9 +12,10 @@  #ifdef __ARCH_HAS_MMU__  #ifdef __NR_fork -#define __NR___fork __NR_fork -attribute_hidden _syscall0(pid_t, __fork); -strong_alias(__fork,fork) -weak_alias(__fork,__libc_fork) +#define __NR___libc_fork __NR_fork +_syscall0(pid_t, __libc_fork); +strong_alias(__libc_fork,fork) +libc_hidden_proto(fork) +libc_hidden_def(fork)  #endif  #endif diff --git a/libc/sysdeps/linux/common/fstat.c b/libc/sysdeps/linux/common/fstat.c index af3f9a13b..0a8c81df6 100644 --- a/libc/sysdeps/linux/common/fstat.c +++ b/libc/sysdeps/linux/common/fstat.c @@ -10,7 +10,6 @@  /* need to hide the 64bit prototype or the weak_alias()   * will fail when __NR_fstat64 doesnt exist */  #define fstat64 __hidefstat64 -#define __fstat64 __hide__fstat64  #include "syscalls.h"  #include <unistd.h> @@ -18,14 +17,12 @@  #include "xstatconv.h"  #undef fstat64 -#undef __fstat64  #define __NR___syscall_fstat __NR_fstat -#undef __fstat  #undef fstat  static inline _syscall2(int, __syscall_fstat, int, fd, struct kernel_stat *, buf); -int attribute_hidden __fstat(int fd, struct stat *buf) +int fstat(int fd, struct stat *buf)  {  	int result;  	struct kernel_stat kbuf; @@ -36,9 +33,11 @@ int attribute_hidden __fstat(int fd, struct stat *buf)  	}  	return result;  } -strong_alias(__fstat,fstat) +libc_hidden_proto(fstat) +libc_hidden_def(fstat)  #if ! defined __NR_fstat64 && defined __UCLIBC_HAS_LFS__ -hidden_strong_alias(__fstat,__fstat64) -weak_alias(__fstat,fstat64) +strong_alias(fstat,fstat64) +libc_hidden_proto(fstat64) +libc_hidden_def(fstat64)  #endif diff --git a/libc/sysdeps/linux/common/fstat64.c b/libc/sysdeps/linux/common/fstat64.c index 0d8bbdb43..fc91cbaf9 100644 --- a/libc/sysdeps/linux/common/fstat64.c +++ b/libc/sysdeps/linux/common/fstat64.c @@ -18,8 +18,7 @@  static inline _syscall2(int, __syscall_fstat64,  		int, filedes, struct kernel_stat64 *, buf); -#undef fstat64 -int attribute_hidden __fstat64(int fd, struct stat64 *buf) +int fstat64(int fd, struct stat64 *buf)  {  	int result;  	struct kernel_stat64 kbuf; @@ -30,6 +29,7 @@ int attribute_hidden __fstat64(int fd, struct stat64 *buf)  	}  	return result;  } -strong_alias(__fstat64,fstat64) +libc_hidden_proto(fstat64) +libc_hidden_def(fstat64)  #endif							/* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/fstatfs.c b/libc/sysdeps/linux/common/fstatfs.c index 9a7cf303b..c88162e6d 100644 --- a/libc/sysdeps/linux/common/fstatfs.c +++ b/libc/sysdeps/linux/common/fstatfs.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <sys/vfs.h> -#define __NR___fstatfs __NR_fstatfs -attribute_hidden _syscall2(int, __fstatfs, int, fd, struct statfs *, buf); -strong_alias(__fstatfs,fstatfs) +_syscall2(int, fstatfs, int, fd, struct statfs *, buf); +libc_hidden_proto(fstatfs) +libc_hidden_def(fstatfs) diff --git a/libc/sysdeps/linux/common/fsync.c b/libc/sysdeps/linux/common/fsync.c index e6f610751..ab382bd87 100644 --- a/libc/sysdeps/linux/common/fsync.c +++ b/libc/sysdeps/linux/common/fsync.c @@ -12,4 +12,4 @@  #define __NR___libc_fsync __NR_fsync  _syscall1(int, __libc_fsync, int, fd); -weak_alias(__libc_fsync, fsync) +strong_alias(__libc_fsync, fsync) diff --git a/libc/sysdeps/linux/common/ftruncate.c b/libc/sysdeps/linux/common/ftruncate.c index a25fd0285..1d4e62d26 100644 --- a/libc/sysdeps/linux/common/ftruncate.c +++ b/libc/sysdeps/linux/common/ftruncate.c @@ -10,4 +10,5 @@  #include "syscalls.h"  #include <unistd.h>  _syscall2(int, ftruncate, int, fd, __off_t, length); -hidden_strong_alias(ftruncate, __ftruncate) +libc_hidden_proto(ftruncate) +libc_hidden_def(ftruncate) diff --git a/libc/sysdeps/linux/common/ftruncate64.c b/libc/sysdeps/linux/common/ftruncate64.c index 51392a1aa..5516f3b6f 100644 --- a/libc/sysdeps/linux/common/ftruncate64.c +++ b/libc/sysdeps/linux/common/ftruncate64.c @@ -12,8 +12,6 @@   * the main directory of this archive for more details.   */ -#define ftruncate __ftruncate -  #include <features.h>  #include <unistd.h>  #include <errno.h> @@ -65,6 +63,8 @@ int ftruncate64 (int fd, __off64_t length)  #else  /* __NR_ftruncate64 */ +libc_hidden_proto(ftruncate) +  int ftruncate64 (int fd, __off64_t length)  {  	__off_t x = (__off_t) length; diff --git a/libc/sysdeps/linux/common/getcwd.c b/libc/sysdeps/linux/common/getcwd.c index a44647d67..63b195ec2 100644 --- a/libc/sysdeps/linux/common/getcwd.c +++ b/libc/sysdeps/linux/common/getcwd.c @@ -1,8 +1,10 @@ -/* These functions find the absolute path to the current working directory.  */ +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */ -#define opendir __opendir -#define closedir __closedir -#define readdir __readdir +/* These functions find the absolute path to the current working directory.  */  #include <stdlib.h>  #include <errno.h> @@ -11,6 +13,15 @@  #include <string.h>  #include <sys/syscall.h> +libc_hidden_proto(strcat) +libc_hidden_proto(strcpy) +libc_hidden_proto(strncpy) +libc_hidden_proto(strlen) +libc_hidden_proto(opendir) +libc_hidden_proto(readdir) +libc_hidden_proto(closedir) +libc_hidden_proto(stat) +  #ifdef __NR_getcwd  #define __NR___syscall_getcwd __NR_getcwd @@ -43,7 +54,7 @@ static char *search_dir(dev_t this_dev, ino_t this_ino, char *path_buf, int path  	int slow_search = (sizeof(ino_t) != sizeof(d->d_ino));  #endif -	if (__stat(path_buf, &st) < 0) { +	if (stat(path_buf, &st) < 0) {  		goto oops;  	}  #ifdef FAST_DIR_SEARCH_POSSIBLE @@ -51,13 +62,13 @@ static char *search_dir(dev_t this_dev, ino_t this_ino, char *path_buf, int path  		slow_search = 1;  #endif -	slen = __strlen(path_buf); +	slen = strlen(path_buf);  	ptr = path_buf + slen - 1;  	if (*ptr != '/') {  		if (slen + 2 > path_size) {  			goto oops;  		} -		__strcpy(++ptr, "/"); +		strcpy(++ptr, "/");  		slen++;  	}  	slen++; @@ -71,11 +82,11 @@ static char *search_dir(dev_t this_dev, ino_t this_ino, char *path_buf, int path  #ifdef FAST_DIR_SEARCH_POSSIBLE  		if (slow_search || this_ino == d->d_ino) {  #endif -			if (slen + __strlen(d->d_name) > path_size) { +			if (slen + strlen(d->d_name) > path_size) {  			    goto oops;  			} -			__strcpy(ptr + 1, d->d_name); -			if (__stat(path_buf, &st) < 0) +			strcpy(ptr + 1, d->d_name); +			if (stat(path_buf, &st) < 0)  				continue;  			if (st.st_ino == this_ino && st.st_dev == this_dev) {  				closedir(dp); @@ -101,7 +112,7 @@ static char *recurser(char *path_buf, int path_size, dev_t root_dev, ino_t root_  	dev_t this_dev;  	ino_t this_ino; -	if (__stat(path_buf, &st) < 0) { +	if (stat(path_buf, &st) < 0) {  	    if (errno != EFAULT)  		goto oops;  	    return 0; @@ -112,13 +123,13 @@ static char *recurser(char *path_buf, int path_size, dev_t root_dev, ino_t root_  		if (path_size < 2) {  		    goto oops;  		} -		__strcpy(path_buf, "/"); +		strcpy(path_buf, "/");  		return path_buf;  	} -	if (__strlen(path_buf) + 4 > path_size) { +	if (strlen(path_buf) + 4 > path_size) {  	    goto oops;  	} -	__strcat(path_buf, "/.."); +	strcat(path_buf, "/..");  	if (recurser(path_buf, path_size, root_dev, root_ino) == 0)  		return 0; @@ -140,16 +151,16 @@ int __syscall_getcwd(char * buf, unsigned long size)      len = -1;      /* get stat for root to have a valid parameters for the terminating condition */ -    if (__stat("/", &st) < 0) { +    if (stat("/", &st) < 0) {  	/* root dir not found! */  	return -1;      }      /* start with actual dir */ -    if (buf) __strncpy(buf, ".", size); +    if (buf) strncpy(buf, ".", size);      cwd = recurser(buf, size, st.st_dev, st.st_ino);      if (cwd) { -	len = __strlen(buf); +	len = strlen(buf);  	__set_errno(olderrno);      }      return len; @@ -157,7 +168,7 @@ int __syscall_getcwd(char * buf, unsigned long size)  #endif -char attribute_hidden *__getcwd(char *buf, size_t size) +char *getcwd(char *buf, size_t size)  {      int ret;      char *path; @@ -189,4 +200,5 @@ char attribute_hidden *__getcwd(char *buf, size_t size)  	free (path);      return NULL;  } -strong_alias(__getcwd,getcwd) +libc_hidden_proto(getcwd) +libc_hidden_def(getcwd) diff --git a/libc/sysdeps/linux/common/getdents.c b/libc/sysdeps/linux/common/getdents.c index 4db513a62..4b85d2c62 100644 --- a/libc/sysdeps/linux/common/getdents.c +++ b/libc/sysdeps/linux/common/getdents.c @@ -28,6 +28,9 @@  #include <sys/types.h>  #include <sys/syscall.h> +libc_hidden_proto(memcpy) +libc_hidden_proto(lseek) +  #ifndef offsetof  #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)  #endif @@ -75,7 +78,7 @@ ssize_t attribute_hidden __getdents (int fd, char *buf, size_t nbytes)  	    /* Our heuristic failed.  We read too many entries.  Reset  	       the stream.  */  	    assert (last_offset != -1); -	    __lseek(fd, last_offset, SEEK_SET); +	    lseek(fd, last_offset, SEEK_SET);  	    if ((char *) dp == buf) {  		/* The buffer the user passed in is too small to hold even @@ -91,7 +94,7 @@ ssize_t attribute_hidden __getdents (int fd, char *buf, size_t nbytes)  	dp->d_off = kdp->d_off;  	dp->d_reclen = new_reclen;  	dp->d_type = DT_UNKNOWN; -	__memcpy (dp->d_name, kdp->d_name, +	memcpy (dp->d_name, kdp->d_name,  		kdp->d_reclen - offsetof (struct kernel_dirent, d_name));  	dp = (struct dirent *) ((char *) dp + new_reclen);  	kdp = (struct kernel_dirent *) (((char *) kdp) + kdp->d_reclen); diff --git a/libc/sysdeps/linux/common/getdents64.c b/libc/sysdeps/linux/common/getdents64.c index f65e9e70b..c734fbbb6 100644 --- a/libc/sysdeps/linux/common/getdents64.c +++ b/libc/sysdeps/linux/common/getdents64.c @@ -29,6 +29,9 @@  #include <sys/types.h>  #include <sys/syscall.h> +libc_hidden_proto(memcpy) +libc_hidden_proto(lseek64) +  #if defined __UCLIBC_HAS_LFS__ && defined __NR_getdents64   #ifndef offsetof @@ -80,7 +83,7 @@ ssize_t attribute_hidden __getdents64 (int fd, char *buf, size_t nbytes)  	    /* Our heuristic failed.  We read too many entries.  Reset  	       the stream.  */  	    assert (last_offset != -1); -	    __lseek64(fd, last_offset, SEEK_SET); +	    lseek64(fd, last_offset, SEEK_SET);  	    if ((char *) dp == buf) {  		/* The buffer the user passed in is too small to hold even @@ -96,7 +99,7 @@ ssize_t attribute_hidden __getdents64 (int fd, char *buf, size_t nbytes)  	dp->d_off = kdp->d_off;  	dp->d_reclen = new_reclen;  	dp->d_type = DT_UNKNOWN; -	__memcpy (dp->d_name, kdp->d_name, +	memcpy (dp->d_name, kdp->d_name,  		kdp->d_reclen - offsetof (struct kernel_dirent64, d_name));  	dp = (struct dirent64 *) ((char *) dp + new_reclen);  	kdp = (struct kernel_dirent64 *) (((char *) kdp) + kdp->d_reclen); diff --git a/libc/sysdeps/linux/common/getdirname.c b/libc/sysdeps/linux/common/getdirname.c index a4285322b..3b470db05 100644 --- a/libc/sysdeps/linux/common/getdirname.c +++ b/libc/sysdeps/linux/common/getdirname.c @@ -17,14 +17,18 @@     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>  #include <stdlib.h>  #include <string.h> +libc_hidden_proto(strdup) +libc_hidden_proto(getcwd) +libc_hidden_proto(getenv) +libc_hidden_proto(stat) +libc_hidden_proto(stat64) +  /* Return a malloc'd string containing the current directory name.     If the environment variable `PWD' is set, and its value is correct,     that value is used.  */ @@ -39,19 +43,19 @@ get_current_dir_name (void)  	struct stat dotstat, pwdstat;  #endif -	pwd = __getenv ("PWD"); +	pwd = getenv ("PWD");  	if (pwd != NULL  #if defined __UCLIBC_HAS_LFS__ -		&& __stat64 (".", &dotstat) == 0 -		&& __stat64 (pwd, &pwdstat) == 0 +		&& stat64 (".", &dotstat) == 0 +		&& stat64 (pwd, &pwdstat) == 0  #else -		&& __stat (".", &dotstat) == 0 -		&& __stat (pwd, &pwdstat) == 0 +		&& stat (".", &dotstat) == 0 +		&& stat (pwd, &pwdstat) == 0  #endif  		&& pwdstat.st_dev == dotstat.st_dev  		&& pwdstat.st_ino == dotstat.st_ino)  		/* The PWD value is correct.  Use it.  */ -		return __strdup (pwd); +		return strdup (pwd);  	return getcwd ((char *) NULL, 0);  } diff --git a/libc/sysdeps/linux/common/getdnnm.c b/libc/sysdeps/linux/common/getdnnm.c index aa4215f84..04077b197 100644 --- a/libc/sysdeps/linux/common/getdnnm.c +++ b/libc/sysdeps/linux/common/getdnnm.c @@ -1,4 +1,8 @@ -#define uname __uname +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <stdlib.h>  #include <string.h> @@ -7,9 +11,12 @@  #define __USE_GNU  #include <sys/utsname.h> +libc_hidden_proto(strlen) +libc_hidden_proto(strcpy) +libc_hidden_proto(uname) -int attribute_hidden -__getdomainname(char *name, size_t len) +int +getdomainname(char *name, size_t len)  {    struct utsname uts; @@ -20,11 +27,12 @@ __getdomainname(char *name, size_t len)    if (uname(&uts) == -1) return -1; -  if (__strlen(uts.domainname)+1 > len) { +  if (strlen(uts.domainname)+1 > len) {      __set_errno(EINVAL);      return -1;    } -  __strcpy(name, uts.domainname); +  strcpy(name, uts.domainname);    return 0;  } -strong_alias(__getdomainname,getdomainname) +libc_hidden_proto(getdomainname) +libc_hidden_def(getdomainname) diff --git a/libc/sysdeps/linux/common/getdtablesize.c b/libc/sysdeps/linux/common/getdtablesize.c index de3af63d7..4408273b7 100644 --- a/libc/sysdeps/linux/common/getdtablesize.c +++ b/libc/sysdeps/linux/common/getdtablesize.c @@ -16,18 +16,18 @@     write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,     Boston, MA 02111-1307, USA.  */ -#define getrlimit __getrlimit -  #include <stdlib.h>  #include <unistd.h>  #include <sys/resource.h>  #include <limits.h> +libc_hidden_proto(getrlimit) +  #define __LOCAL_OPEN_MAX	    256  /* Return the maximum number of file descriptors     the current process could possibly have.  */ -int attribute_hidden __getdtablesize (void) +int getdtablesize (void)  {    struct rlimit ru; @@ -36,4 +36,5 @@ int attribute_hidden __getdtablesize (void)       returns -1.  */    return getrlimit (RLIMIT_NOFILE, &ru) < 0 ? __LOCAL_OPEN_MAX : ru.rlim_cur;  } -strong_alias(__getdtablesize,getdtablesize) +libc_hidden_proto(getdtablesize) +libc_hidden_def(getdtablesize) diff --git a/libc/sysdeps/linux/common/getegid.c b/libc/sysdeps/linux/common/getegid.c index bed60f052..4379ddd0b 100644 --- a/libc/sysdeps/linux/common/getegid.c +++ b/libc/sysdeps/linux/common/getegid.c @@ -7,22 +7,23 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define getgid __getgid -  #include "syscalls.h"  #include <unistd.h>  #ifdef	__NR_getegid  #define __NR___syscall_getegid __NR_getegid  static inline _syscall0(int, __syscall_getegid); -gid_t attribute_hidden __getegid(void) +gid_t getegid(void)  {  	return (__syscall_getegid());  }  #else -gid_t attribute_hidden __getegid(void) +libc_hidden_proto(getgid) + +gid_t getegid(void)  {  	return (getgid());  }  #endif -strong_alias(__getegid,getegid) +libc_hidden_proto(getegid) +libc_hidden_def(getegid) diff --git a/libc/sysdeps/linux/common/geteuid.c b/libc/sysdeps/linux/common/geteuid.c index 3936739b3..c267d1483 100644 --- a/libc/sysdeps/linux/common/geteuid.c +++ b/libc/sysdeps/linux/common/geteuid.c @@ -7,22 +7,23 @@   * 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 attribute_hidden __geteuid(void) +uid_t geteuid(void)  {  	return (__syscall_geteuid());  }  #else -uid_t attribute_hidden __geteuid(void) +libc_hidden_proto(getuid) + +uid_t geteuid(void)  {  	return (getuid());  }  #endif -strong_alias(__geteuid,geteuid) +libc_hidden_proto(geteuid) +libc_hidden_def(geteuid) diff --git a/libc/sysdeps/linux/common/getgid.c b/libc/sysdeps/linux/common/getgid.c index eba29afa2..48c9af17c 100644 --- a/libc/sysdeps/linux/common/getgid.c +++ b/libc/sysdeps/linux/common/getgid.c @@ -16,8 +16,9 @@  #endif  static inline _syscall0(int, __syscall_getgid); -gid_t attribute_hidden __getgid(void) +gid_t getgid(void)  {  	return (__syscall_getgid());  } -strong_alias(__getgid,getgid) +libc_hidden_proto(getgid) +libc_hidden_def(getgid) diff --git a/libc/sysdeps/linux/common/getgroups.c b/libc/sysdeps/linux/common/getgroups.c index 83d92627e..081f001f1 100644 --- a/libc/sysdeps/linux/common/getgroups.c +++ b/libc/sysdeps/linux/common/getgroups.c @@ -7,20 +7,20 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define sysconf __sysconf -  #include "syscalls.h"  #include <stdlib.h>  #include <unistd.h>  #include <grp.h> +libc_hidden_proto(sysconf) +  #define MIN(a,b) (((a)<(b))?(a):(b))  #define __NR___syscall_getgroups __NR_getgroups  static inline _syscall2(int, __syscall_getgroups,  		int, size, __kernel_gid_t *, list); -int attribute_hidden __getgroups(int size, gid_t groups[]) +int getgroups(int size, gid_t groups[])  {  	if (unlikely(size < 0)) {  ret_error: @@ -47,4 +47,5 @@ ret_error:  		return ngids;  	}  } -strong_alias(__getgroups,getgroups) +libc_hidden_proto(getgroups) +libc_hidden_def(getgroups) diff --git a/libc/sysdeps/linux/common/gethstnm.c b/libc/sysdeps/linux/common/gethstnm.c index cb6e5efce..c932d239c 100644 --- a/libc/sysdeps/linux/common/gethstnm.c +++ b/libc/sysdeps/linux/common/gethstnm.c @@ -1,12 +1,20 @@ -#define uname __uname +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <string.h>  #include <unistd.h>  #include <sys/utsname.h>  #include <errno.h> -int attribute_hidden -__gethostname(char *name, size_t len) +libc_hidden_proto(strlen) +libc_hidden_proto(strcpy) +libc_hidden_proto(uname) + +int +gethostname(char *name, size_t len)  {    struct utsname uts; @@ -17,11 +25,12 @@ __gethostname(char *name, size_t len)    if (uname(&uts) == -1) return -1; -  if (__strlen(uts.nodename)+1 > len) { +  if (strlen(uts.nodename)+1 > len) {      __set_errno(EINVAL);      return -1;    } -  __strcpy(name, uts.nodename); +  strcpy(name, uts.nodename);    return 0;  } -strong_alias(__gethostname,gethostname) +libc_hidden_proto(gethostname) +libc_hidden_def(gethostname) diff --git a/libc/sysdeps/linux/common/getpagesize.c b/libc/sysdeps/linux/common/getpagesize.c index 517040d46..44456c0e7 100644 --- a/libc/sysdeps/linux/common/getpagesize.c +++ b/libc/sysdeps/linux/common/getpagesize.c @@ -19,14 +19,16 @@  #include <unistd.h>  #include <features.h>  #include <sys/param.h> -extern size_t __pagesize_internal attribute_hidden; + +extern size_t __pagesize; +libc_hidden_proto(__pagesize)  /* Return the system page size.  */  /* couldn't make __getpagesize hidden, because shm.h uses it in a macro */ -int attribute_hidden __getpagesize_internal(void) +int __getpagesize(void)  { -  if (__pagesize_internal != 0) -    return __pagesize_internal; +  if (__pagesize != 0) +    return __pagesize;  #ifdef	EXEC_PAGESIZE    return EXEC_PAGESIZE; @@ -41,6 +43,6 @@ int attribute_hidden __getpagesize_internal(void)  #endif	/* NBPG.  */  #endif	/* EXEC_PAGESIZE.  */  } -strong_alias(__getpagesize_internal, __getpagesize) -weak_alias(__getpagesize_internal, getpagesize) - +strong_alias(__getpagesize,getpagesize) +libc_hidden_proto(getpagesize) +libc_hidden_def(getpagesize) diff --git a/libc/sysdeps/linux/common/getpgid.c b/libc/sysdeps/linux/common/getpgid.c index 8de8516dc..adb8beb06 100644 --- a/libc/sysdeps/linux/common/getpgid.c +++ b/libc/sysdeps/linux/common/getpgid.c @@ -12,8 +12,7 @@  #define __NR___syscall_getpgid __NR_getpgid  static inline _syscall1(__kernel_pid_t, __syscall_getpgid, __kernel_pid_t, pid); -pid_t __getpgid(pid_t pid) +pid_t getpgid(pid_t pid)  {  	return (__syscall_getpgid(pid));  } -weak_alias(__getpgid, getpgid) diff --git a/libc/sysdeps/linux/common/getpid.c b/libc/sysdeps/linux/common/getpid.c index 6a6a9e129..ecb29851e 100644 --- a/libc/sysdeps/linux/common/getpid.c +++ b/libc/sysdeps/linux/common/getpid.c @@ -11,10 +11,10 @@  #include <unistd.h>  #if defined (__alpha__) -#define __NR___getpid __NR_getxpid +#define __NR_getpid __NR_getxpid  #endif -#define __NR___getpid __NR_getpid -attribute_hidden _syscall0(pid_t, __getpid); -strong_alias(__getpid, getpid) -/* not used in libpthread */ -/* weak_alias(__getpid, __libc_getpid) */ +#define __NR___libc_getpid __NR_getpid +_syscall0(pid_t, __libc_getpid); +strong_alias(__libc_getpid, getpid) +libc_hidden_proto(getpid) +libc_hidden_def(getpid) diff --git a/libc/sysdeps/linux/common/getpriority.c b/libc/sysdeps/linux/common/getpriority.c index 3f695402d..bde7a3d85 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 attribute_hidden __getpriority(enum __priority_which which, id_t who) +int getpriority(enum __priority_which which, id_t who)  {  	int res; @@ -26,4 +26,5 @@ int attribute_hidden __getpriority(enum __priority_which which, id_t who)  		res = PZERO - res;  	return res;  } -strong_alias(__getpriority,getpriority) +libc_hidden_proto(getpriority) +libc_hidden_def(getpriority) diff --git a/libc/sysdeps/linux/common/getrlimit.c b/libc/sysdeps/linux/common/getrlimit.c index fef907a03..804410b34 100644 --- a/libc/sysdeps/linux/common/getrlimit.c +++ b/libc/sysdeps/linux/common/getrlimit.c @@ -16,7 +16,7 @@  static inline  _syscall2(int, __ugetrlimit, enum __rlimit_resource, resource,  		  struct rlimit *, rlim); -int attribute_hidden __getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits) +int getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits)  {  	return (__ugetrlimit(resource, rlimits));  } @@ -28,7 +28,7 @@ int attribute_hidden __getrlimit(__rlimit_resource_t resource, struct rlimit *rl  static inline  _syscall2(int, __syscall_getrlimit, int, resource, struct rlimit *, rlim); -int attribute_hidden __getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits) +int getrlimit(__rlimit_resource_t resource, struct rlimit *rlimits)  {  	int result; @@ -47,4 +47,5 @@ int attribute_hidden __getrlimit(__rlimit_resource_t resource, struct rlimit *rl  }  #endif -strong_alias(__getrlimit,getrlimit) +libc_hidden_proto(getrlimit) +libc_hidden_def(getrlimit) diff --git a/libc/sysdeps/linux/common/getrlimit64.c b/libc/sysdeps/linux/common/getrlimit64.c index 76c3196ad..6f670c001 100644 --- a/libc/sysdeps/linux/common/getrlimit64.c +++ b/libc/sysdeps/linux/common/getrlimit64.c @@ -16,8 +16,6 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ -#define getrlimit __getrlimit -  #include <features.h>  #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64  @@ -36,6 +34,8 @@  #include <sys/types.h>  #include <sys/resource.h> +libc_hidden_proto(getrlimit) +  #if defined __UCLIBC_HAS_LFS__  /* Put the soft and hard limits for RESOURCE in *RLIMITS. diff --git a/libc/sysdeps/linux/common/getsid.c b/libc/sysdeps/linux/common/getsid.c index 3e9c2d8ba..91d327098 100644 --- a/libc/sysdeps/linux/common/getsid.c +++ b/libc/sysdeps/linux/common/getsid.c @@ -13,8 +13,9 @@  #define __NR___syscall_getsid __NR_getsid  static inline _syscall1(__kernel_pid_t, __syscall_getsid, __kernel_pid_t, pid); -pid_t attribute_hidden __getsid(pid_t pid) +pid_t getsid(pid_t pid)  {  	return (__syscall_getsid(pid));  } -strong_alias(__getsid,getsid) +libc_hidden_proto(getsid) +libc_hidden_def(getsid) diff --git a/libc/sysdeps/linux/common/gettimeofday.c b/libc/sysdeps/linux/common/gettimeofday.c index 6c2613f01..175691f89 100644 --- a/libc/sysdeps/linux/common/gettimeofday.c +++ b/libc/sysdeps/linux/common/gettimeofday.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <sys/time.h> -#define __NR___gettimeofday __NR_gettimeofday -attribute_hidden _syscall2(int, __gettimeofday, struct timeval *, tv, struct timezone *, tz); -strong_alias(__gettimeofday,gettimeofday) +_syscall2(int, gettimeofday, struct timeval *, tv, struct timezone *, tz); +libc_hidden_proto(gettimeofday) +libc_hidden_def(gettimeofday) diff --git a/libc/sysdeps/linux/common/getuid.c b/libc/sysdeps/linux/common/getuid.c index 7c81ccf48..610c34edc 100644 --- a/libc/sysdeps/linux/common/getuid.c +++ b/libc/sysdeps/linux/common/getuid.c @@ -17,8 +17,9 @@  static inline _syscall0(int, __syscall_getuid); -uid_t attribute_hidden __getuid(void) +uid_t getuid(void)  {  	return (__syscall_getuid());  } -strong_alias(__getuid,getuid) +libc_hidden_proto(getuid) +libc_hidden_def(getuid) diff --git a/libc/sysdeps/linux/common/ioctl.c b/libc/sysdeps/linux/common/ioctl.c index 29293f359..e9ea707ab 100644 --- a/libc/sysdeps/linux/common/ioctl.c +++ b/libc/sysdeps/linux/common/ioctl.c @@ -11,11 +11,13 @@  #include <stdarg.h>  #include <sys/ioctl.h> +libc_hidden_proto(ioctl) +  #define __NR___syscall_ioctl __NR_ioctl  static inline  _syscall3(int, __syscall_ioctl, int, fd, unsigned long int, request, void *, arg); -int attribute_hidden __ioctl(int fd, unsigned long int request, ...) +int ioctl(int fd, unsigned long int request, ...)  {      void *arg;      va_list list; @@ -26,4 +28,4 @@ int attribute_hidden __ioctl(int fd, unsigned long int request, ...)      va_end(list);      return __syscall_ioctl(fd, request, arg);  } -strong_alias(__ioctl,ioctl) +libc_hidden_def(ioctl) diff --git a/libc/sysdeps/linux/common/kill.c b/libc/sysdeps/linux/common/kill.c index 2d1d9ae8a..2a6bfce8e 100644 --- a/libc/sysdeps/linux/common/kill.c +++ b/libc/sysdeps/linux/common/kill.c @@ -14,8 +14,9 @@  #define __NR___syscall_kill __NR_kill  static inline _syscall2(int, __syscall_kill, __kernel_pid_t, pid, int, sig); -int attribute_hidden __kill(pid_t pid, int sig) +int kill(pid_t pid, int sig)  {  	return (__syscall_kill(pid, sig));  } -strong_alias(__kill,kill) +libc_hidden_proto(kill) +libc_hidden_def(kill) diff --git a/libc/sysdeps/linux/common/llseek.c b/libc/sysdeps/linux/common/llseek.c index a2ffd6196..b48641a1a 100644 --- a/libc/sysdeps/linux/common/llseek.c +++ b/libc/sysdeps/linux/common/llseek.c @@ -33,7 +33,6 @@  #include <sys/types.h>  #include <sys/syscall.h> -#undef lseek64  #if defined __NR__llseek && defined __UCLIBC_HAS_LFS__  #ifndef INLINE_SYSCALL @@ -43,20 +42,21 @@ static inline _syscall5(int, __syscall_llseek, int, fd, off_t, offset_hi,  		off_t, offset_lo, loff_t *, result, int, whence);  #endif -loff_t attribute_hidden __lseek64(int fd, loff_t offset, int whence) +loff_t __libc_lseek64(int fd, loff_t offset, int whence)  {  	loff_t result;  	return(loff_t)(INLINE_SYSCALL (_llseek, 5, fd, (off_t) (offset >> 32),   				(off_t) (offset & 0xffffffff), &result, whence) ?: result);  }  #else -extern __off_t __lseek(int fildes, off_t offset, int whence) attribute_hidden; -loff_t __lseek64(int fd, loff_t offset, int whence) +extern __off_t __libc_lseek(int fildes, off_t offset, int whence); +libc_hidden_proto(__libc_lseek) +loff_t __libc_lseek64(int fd, loff_t offset, int whence)  { -	return(loff_t)(__lseek(fd, (off_t) (offset), whence)); +	return(loff_t)(__libc_lseek(fd, (off_t) (offset), whence));  }  #endif -strong_alias(__lseek64,lseek64) -//strong_alias(__lseek64,_llseek) -//strong_alias(__lseek64,llseek) -weak_alias(__lseek64,__libc_lseek64) +strong_alias(__libc_lseek64,lseek64) +libc_hidden_proto(lseek64) +libc_hidden_def(lseek64) +//strong_alias(__libc_lseek64,_llseek) diff --git a/libc/sysdeps/linux/common/longjmp.c b/libc/sysdeps/linux/common/longjmp.c index 5b4eff5f5..b2fdde9c9 100644 --- a/libc/sysdeps/linux/common/longjmp.c +++ b/libc/sysdeps/linux/common/longjmp.c @@ -20,9 +20,10 @@  #include <setjmp.h>  #include <signal.h> +libc_hidden_proto(sigprocmask)  extern void __longjmp (__jmp_buf __env, int val); - +libc_hidden_proto(__longjmp)  /* Set the signal mask to the one specified in ENV, and jump     to the position specified in ENV, causing the setjmp @@ -36,14 +37,14 @@ void __libc_longjmp (sigjmp_buf env, int val)    if (env[0].__mask_was_saved)      /* Restore the saved signal mask.  */ -    (void) __sigprocmask (SIG_SETMASK, &env[0].__saved_mask, +    (void) sigprocmask (SIG_SETMASK, &env[0].__saved_mask,  			  (sigset_t *) NULL);    /* Call the machine-dependent function to restore machine state.  */    __longjmp (env[0].__jmpbuf, val ?: 1);  } -weak_alias (__libc_longjmp, longjmp) -weak_alias (__libc_longjmp, _longjmp) -weak_alias (__libc_longjmp, siglongjmp) -weak_alias (__libc_longjmp, __libc_siglongjmp) +strong_alias(__libc_longjmp,longjmp) +strong_alias(__libc_longjmp,siglongjmp) +strong_alias(__libc_longjmp,__libc_siglongjmp) +/* weak_alias (__libc_longjmp, _longjmp) */ diff --git a/libc/sysdeps/linux/common/lseek.c b/libc/sysdeps/linux/common/lseek.c index 4eb51d322..2ed5e4a14 100644 --- a/libc/sysdeps/linux/common/lseek.c +++ b/libc/sysdeps/linux/common/lseek.c @@ -10,9 +10,11 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___lseek __NR_lseek -#undef __lseek -#undef lseek -attribute_hidden _syscall3(__off_t, __lseek, int, fildes, __off_t, offset, int, whence); -strong_alias(__lseek,lseek) -weak_alias(__lseek,__libc_lseek) +#define __NR___libc_lseek __NR_lseek +_syscall3(__off_t, __libc_lseek, int, fildes, __off_t, offset, int, whence); +libc_hidden_proto(__libc_lseek) +libc_hidden_def(__libc_lseek) + +strong_alias(__libc_lseek,lseek) +libc_hidden_proto(lseek) +libc_hidden_def(lseek) diff --git a/libc/sysdeps/linux/common/lstat.c b/libc/sysdeps/linux/common/lstat.c index d7feac273..9509c489d 100644 --- a/libc/sysdeps/linux/common/lstat.c +++ b/libc/sysdeps/linux/common/lstat.c @@ -10,7 +10,6 @@  /* need to hide the 64bit prototype or the weak_alias()   * will fail when __NR_lstat64 doesnt exist */  #define lstat64 __hidelstat64 -#define __lstat64 __hide__lstat64  #include "syscalls.h"  #include <unistd.h> @@ -18,15 +17,13 @@  #include "xstatconv.h"  #undef lstat64 -#undef __lstat64  #define __NR___syscall_lstat __NR_lstat -#undef __lstat  #undef lstat  static inline _syscall2(int, __syscall_lstat,  		const char *, file_name, struct kernel_stat *, buf); -int attribute_hidden __lstat(const char *file_name, struct stat *buf) +int lstat(const char *file_name, struct stat *buf)  {  	int result;  	struct kernel_stat kbuf; @@ -37,9 +34,11 @@ int attribute_hidden __lstat(const char *file_name, struct stat *buf)  	}  	return result;  } -strong_alias(__lstat,lstat) +libc_hidden_proto(lstat) +libc_hidden_def(lstat)  #if ! defined __NR_lstat64 && defined __UCLIBC_HAS_LFS__ -hidden_strong_alias(__lstat,__lstat64) -weak_alias(lstat,lstat64) +strong_alias(lstat,lstat64) +libc_hidden_proto(lstat64) +libc_hidden_def(lstat64)  #endif diff --git a/libc/sysdeps/linux/common/lstat64.c b/libc/sysdeps/linux/common/lstat64.c index 99b655a0c..b56184f82 100644 --- a/libc/sysdeps/linux/common/lstat64.c +++ b/libc/sysdeps/linux/common/lstat64.c @@ -15,11 +15,10 @@  #include "xstatconv.h"  #define __NR___syscall_lstat64 __NR_lstat64 -#undef lstat64  static inline _syscall2(int, __syscall_lstat64, const char *, file_name,  		  struct kernel_stat64 *, buf); -int attribute_hidden __lstat64(const char *file_name, struct stat64 *buf) +int lstat64(const char *file_name, struct stat64 *buf)  {  	int result;  	struct kernel_stat64 kbuf; @@ -30,6 +29,7 @@ int attribute_hidden __lstat64(const char *file_name, struct stat64 *buf)  	}  	return result;  } -strong_alias(__lstat64,lstat64) +libc_hidden_proto(lstat64) +libc_hidden_def(lstat64)  #endif							/* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/mkdir.c b/libc/sysdeps/linux/common/mkdir.c index 5e96cf599..819793f87 100644 --- a/libc/sysdeps/linux/common/mkdir.c +++ b/libc/sysdeps/linux/common/mkdir.c @@ -14,8 +14,9 @@  static inline _syscall2(int, __syscall_mkdir, const char *, pathname,  		__kernel_mode_t, mode); -int attribute_hidden __mkdir(const char *pathname, mode_t mode) +int mkdir(const char *pathname, mode_t mode)  {  	return (__syscall_mkdir(pathname, mode));  } -strong_alias(__mkdir,mkdir) +libc_hidden_proto(mkdir) +libc_hidden_def(mkdir) diff --git a/libc/sysdeps/linux/common/mkfifo.c b/libc/sysdeps/linux/common/mkfifo.c index db7f8fc42..dddfe8c7b 100644 --- a/libc/sysdeps/linux/common/mkfifo.c +++ b/libc/sysdeps/linux/common/mkfifo.c @@ -20,13 +20,13 @@                      by Erik Andersen <andersee@debian.org>   */ -#define mknod __mknod -  #include <errno.h>  #include <stddef.h>  #include <sys/stat.h>  #include <sys/types.h> +libc_hidden_proto(mknod) +  /* Create a named pipe (FIFO) named PATH with protections MODE.  */  int  mkfifo (const char *path, mode_t mode) diff --git a/libc/sysdeps/linux/common/mknod.c b/libc/sysdeps/linux/common/mknod.c index d66747178..f914af5d7 100644 --- a/libc/sysdeps/linux/common/mknod.c +++ b/libc/sysdeps/linux/common/mknod.c @@ -15,7 +15,7 @@  static inline _syscall3(int, __syscall_mknod, const char *, path,  		__kernel_mode_t, mode, __kernel_dev_t, dev); -int attribute_hidden __mknod(const char *path, mode_t mode, dev_t dev) +int mknod(const char *path, mode_t mode, dev_t dev)  {  	/* We must convert the dev_t value to a __kernel_dev_t */  	__kernel_dev_t k_dev; @@ -23,4 +23,5 @@ int attribute_hidden __mknod(const char *path, mode_t mode, dev_t dev)  	k_dev = ((major(dev) & 0xff) << 8) | (minor(dev) & 0xff);  	return __syscall_mknod(path, mode, k_dev);  } -strong_alias(__mknod,mknod) +libc_hidden_proto(mknod) +libc_hidden_def(mknod) diff --git a/libc/sysdeps/linux/common/mmap.c b/libc/sysdeps/linux/common/mmap.c index 3cd3eee4d..eadecfeee 100644 --- a/libc/sysdeps/linux/common/mmap.c +++ b/libc/sysdeps/linux/common/mmap.c @@ -14,7 +14,7 @@  #ifdef __NR_mmap  #define __NR__mmap __NR_mmap  static inline _syscall1(__ptr_t, _mmap, unsigned long *, buffer); -attribute_hidden __ptr_t __mmap(__ptr_t addr, size_t len, int prot, +__ptr_t mmap(__ptr_t addr, size_t len, int prot,  			 int flags, int fd, __off_t offset)  {  	unsigned long buffer[6]; @@ -27,5 +27,6 @@ attribute_hidden __ptr_t __mmap(__ptr_t addr, size_t len, int prot,  	buffer[5] = (unsigned long) offset;  	return (__ptr_t) _mmap(buffer);  } -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap)  #endif diff --git a/libc/sysdeps/linux/common/mmap64.c b/libc/sysdeps/linux/common/mmap64.c index f0380b1ad..c0bc2b53a 100644 --- a/libc/sysdeps/linux/common/mmap64.c +++ b/libc/sysdeps/linux/common/mmap64.c @@ -19,14 +19,11 @@  /* Massivly hacked up for uClibc by Erik Andersen */ -#define mmap __mmap -  #include <features.h>  #include <errno.h>  #include <unistd.h>  #include <sys/mman.h> -  #if defined __UCLIBC_HAS_LFS__  #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64  @@ -45,6 +42,8 @@  #if ! defined __NR_mmap2 || ! defined _syscall6 +libc_hidden_proto(mmap) +  /*    * This version is a stub that just chops off everything at the mmap 32 bit   * mmap() address space...  You will probably need to add in an arch specific diff --git a/libc/sysdeps/linux/common/modify_ldt.c b/libc/sysdeps/linux/common/modify_ldt.c index 618681ad3..47ed7e350 100644 --- a/libc/sysdeps/linux/common/modify_ldt.c +++ b/libc/sysdeps/linux/common/modify_ldt.c @@ -11,5 +11,5 @@  #ifdef __NR_modify_ldt  _syscall3(int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount); -weak_alias(modify_ldt, __modify_ldt) +/*weak_alias(modify_ldt, __modify_ldt)*/  #endif diff --git a/libc/sysdeps/linux/common/mremap.c b/libc/sysdeps/linux/common/mremap.c index f4a4670d2..16359193b 100644 --- a/libc/sysdeps/linux/common/mremap.c +++ b/libc/sysdeps/linux/common/mremap.c @@ -10,7 +10,7 @@  #include "syscalls.h"  #include <unistd.h>  #include <sys/mman.h> -#define __NR___mremap __NR_mremap -attribute_hidden _syscall4(__ptr_t, __mremap, __ptr_t, old_address, size_t, old_size, size_t, +_syscall4(__ptr_t, mremap, __ptr_t, old_address, size_t, old_size, size_t,  		  new_size, int, may_move); -strong_alias(__mremap,mremap) +libc_hidden_proto(mremap) +libc_hidden_def(mremap) diff --git a/libc/sysdeps/linux/common/msync.c b/libc/sysdeps/linux/common/msync.c index 8de9f346e..044652720 100644 --- a/libc/sysdeps/linux/common/msync.c +++ b/libc/sysdeps/linux/common/msync.c @@ -13,4 +13,4 @@  #define __NR___libc_msync __NR_msync  _syscall3(int, __libc_msync, void *, addr, size_t, length, int, flags); -weak_alias(__libc_msync, msync) +strong_alias(__libc_msync,msync) diff --git a/libc/sysdeps/linux/common/munmap.c b/libc/sysdeps/linux/common/munmap.c index be631060a..cd76eb297 100644 --- a/libc/sysdeps/linux/common/munmap.c +++ b/libc/sysdeps/linux/common/munmap.c @@ -10,6 +10,6 @@  #include "syscalls.h"  #include <unistd.h>  #include <sys/mman.h> -#define __NR___munmap __NR_munmap -attribute_hidden _syscall2(int, __munmap, void *, start, size_t, length); -strong_alias(__munmap,munmap) +_syscall2(int, munmap, void *, start, size_t, length); +libc_hidden_proto(munmap) +libc_hidden_def(munmap) diff --git a/libc/sysdeps/linux/common/nanosleep.c b/libc/sysdeps/linux/common/nanosleep.c index 3f5ffbaa3..0032f6623 100644 --- a/libc/sysdeps/linux/common/nanosleep.c +++ b/libc/sysdeps/linux/common/nanosleep.c @@ -13,5 +13,6 @@  #define __NR___libc_nanosleep __NR_nanosleep  _syscall2(int, __libc_nanosleep, const struct timespec *, req,  		  struct timespec *, rem); -hidden_weak_alias(__libc_nanosleep,__nanosleep) -weak_alias(__libc_nanosleep,nanosleep) +strong_alias(__libc_nanosleep,nanosleep) +libc_hidden_proto(nanosleep) +libc_hidden_def(nanosleep) diff --git a/libc/sysdeps/linux/common/nice.c b/libc/sysdeps/linux/common/nice.c index 20f7996a7..75e065e65 100644 --- a/libc/sysdeps/linux/common/nice.c +++ b/libc/sysdeps/linux/common/nice.c @@ -8,13 +8,12 @@   * 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> +libc_hidden_proto(getpriority) +  #ifdef __NR_nice  #define __NR___syscall_nice __NR_nice @@ -24,6 +23,8 @@ static inline _syscall1(int, __syscall_nice, int, incr);  #include <limits.h> +libc_hidden_proto(setpriority) +  static inline int int_add_no_wrap(int a, int b)  {  	int s = a + b; diff --git a/libc/sysdeps/linux/common/ntp_gettime.c b/libc/sysdeps/linux/common/ntp_gettime.c index 0c4d1549f..f32e05444 100644 --- a/libc/sysdeps/linux/common/ntp_gettime.c +++ b/libc/sysdeps/linux/common/ntp_gettime.c @@ -16,17 +16,17 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ -#define adjtimex __adjtimex -  #include <sys/timex.h> +libc_hidden_proto(adjtimex) +  int ntp_gettime(struct ntptimeval *ntv)  {      struct timex tntx;      int result;      tntx.modes = 0; -    result = __adjtimex(&tntx); +    result = adjtimex(&tntx);      ntv->time = tntx.time;      ntv->maxerror = tntx.maxerror;      ntv->esterror = tntx.esterror; diff --git a/libc/sysdeps/linux/common/open.c b/libc/sysdeps/linux/common/open.c index 648f7d053..14cf65750 100644 --- a/libc/sysdeps/linux/common/open.c +++ b/libc/sysdeps/linux/common/open.c @@ -14,13 +14,11 @@  #include <string.h>  #include <sys/param.h> -#undef __open -#undef open  #define __NR___syscall_open __NR_open  static inline _syscall3(int, __syscall_open, const char *, file,  		int, flags, __kernel_mode_t, mode); -int attribute_hidden __open(const char *file, int flags, ...) +int __libc_open(const char *file, int flags, ...)  {  	/* gcc may warn about mode being uninitialized.  	 * Just ignore that, since gcc is wrong. */ @@ -35,10 +33,14 @@ int attribute_hidden __open(const char *file, int flags, ...)  	}  	return __syscall_open(file, flags, mode);  } -strong_alias(__open,open) -weak_alias(__open,__libc_open) +libc_hidden_proto(__libc_open) +libc_hidden_def(__libc_open) + +strong_alias(__libc_open,open) +libc_hidden_proto(open) +libc_hidden_def(open)  int creat(const char *file, mode_t mode)  { -	return __open(file, O_WRONLY | O_CREAT | O_TRUNC, mode); +	return __libc_open(file, O_WRONLY | O_CREAT | O_TRUNC, mode);  } diff --git a/libc/sysdeps/linux/common/open64.c b/libc/sysdeps/linux/common/open64.c index f577d9507..fbe99b0d9 100644 --- a/libc/sysdeps/linux/common/open64.c +++ b/libc/sysdeps/linux/common/open64.c @@ -26,10 +26,12 @@  #endif  #ifdef __UCLIBC_HAS_LFS__ +extern int __libc_open (__const char *__file, int __oflag, ...) __nonnull ((1)); +libc_hidden_proto(__libc_open) +  /* Open FILE with access OFLAG.  If OFLAG includes O_CREAT,     a third argument is the file protection.  */ -#undef open64 -int attribute_hidden __open64 (const char *file, int oflag, ...) +int __libc_open64 (const char *file, int oflag, ...)  {    int mode = 0; @@ -41,8 +43,10 @@ int attribute_hidden __open64 (const char *file, int oflag, ...)        va_end (arg);      } -  return __open(file, oflag | O_LARGEFILE, mode); +  return __libc_open(file, oflag | O_LARGEFILE, mode);  } -strong_alias(__open64,open64) -weak_alias(__open64,__libc_open64) + +strong_alias(__libc_open64,open64) +libc_hidden_proto(open64) +libc_hidden_def(open64)  #endif /* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/pause.c b/libc/sysdeps/linux/common/pause.c index a017ef611..1028a7a63 100644 --- a/libc/sysdeps/linux/common/pause.c +++ b/libc/sysdeps/linux/common/pause.c @@ -7,9 +7,6 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define __sigpause __sigpause_internal -#define sigblock __sigblock -  #include "syscalls.h"  #include <unistd.h> @@ -18,9 +15,12 @@  _syscall0(int, __libc_pause);  #else  #include <signal.h> +libc_hidden_proto(__sigpause) +libc_hidden_proto(sigblock) +  int __libc_pause(void)  {  	return (__sigpause(sigblock(0), 0));  }  #endif -weak_alias(__libc_pause, pause) +strong_alias(__libc_pause,pause) diff --git a/libc/sysdeps/linux/common/pipe.c b/libc/sysdeps/linux/common/pipe.c index 2045b8d64..93d52b88f 100644 --- a/libc/sysdeps/linux/common/pipe.c +++ b/libc/sysdeps/linux/common/pipe.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___pipe __NR_pipe -attribute_hidden _syscall1(int, __pipe, int *, filedes); -strong_alias(__pipe,pipe) +_syscall1(int, pipe, int *, filedes); +libc_hidden_proto(pipe) +libc_hidden_def(pipe) diff --git a/libc/sysdeps/linux/common/poll.c b/libc/sysdeps/linux/common/poll.c index c957f1edf..c76df966f 100644 --- a/libc/sysdeps/linux/common/poll.c +++ b/libc/sysdeps/linux/common/poll.c @@ -17,15 +17,11 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ -#define getdtablesize __getdtablesize -#define select __select -  #include "syscalls.h"  #include <sys/poll.h>  #ifdef __NR_poll -#define __NR___poll __NR_poll -attribute_hidden _syscall3(int, __poll, struct pollfd *, fds, +_syscall3(int, poll, struct pollfd *, fds,  	unsigned long int, nfds, int, timeout);  #else @@ -37,6 +33,11 @@ attribute_hidden _syscall3(int, __poll, struct pollfd *, fds,  #include <sys/param.h>  #include <unistd.h> +libc_hidden_proto(memcpy) +libc_hidden_proto(memset) +libc_hidden_proto(getdtablesize) +libc_hidden_proto(select) +  /* uClinux 2.0 doesn't have poll, emulate it using select */  /* Poll the file descriptors described by the NFDS structures starting at @@ -45,7 +46,7 @@ attribute_hidden _syscall3(int, __poll, struct pollfd *, fds,     Returns the number of file descriptors with events, zero if timed out,     or -1 for errors.  */ -int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout) +int poll(struct pollfd *fds, nfds_t nfds, int timeout)  {      static int max_fd_size;      struct timeval tv; @@ -65,9 +66,9 @@ int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout)      /* We can't call FD_ZERO, since FD_ZERO only works with sets         of exactly __FD_SETSIZE size.  */ -    __memset (rset, 0, bytes); -    __memset (wset, 0, bytes); -    __memset (xset, 0, bytes); +    memset (rset, 0, bytes); +    memset (wset, 0, bytes); +    memset (xset, 0, bytes);      for (f = fds; f < &fds[nfds]; ++f)      { @@ -89,13 +90,13 @@ int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout)  		nwset = alloca (nbytes);  		nxset = alloca (nbytes); -		__memset ((char *) nrset + bytes, 0, nbytes - bytes); -		__memset ((char *) nwset + bytes, 0, nbytes - bytes); -		__memset ((char *) nxset + bytes, 0, nbytes - bytes); +		memset ((char *) nrset + bytes, 0, nbytes - bytes); +		memset ((char *) nwset + bytes, 0, nbytes - bytes); +		memset ((char *) nxset + bytes, 0, nbytes - bytes); -		rset = __memcpy (nrset, rset, bytes); -		wset = __memcpy (nwset, wset, bytes); -		xset = __memcpy (nxset, xset, bytes); +		rset = memcpy (nrset, rset, bytes); +		wset = memcpy (nwset, wset, bytes); +		xset = memcpy (nxset, xset, bytes);  		bytes = nbytes;  	    } @@ -129,9 +130,9 @@ int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout)  	    struct timeval sngl_tv;  	    /* Clear the original set.  */ -	    __memset (rset, 0, bytes); -	    __memset (wset, 0, bytes); -	    __memset (xset, 0, bytes); +	    memset (rset, 0, bytes); +	    memset (wset, 0, bytes); +	    memset (xset, 0, bytes);  	    /* This means we don't wait for input.  */  	    sngl_tv.tv_sec = 0; @@ -148,9 +149,9 @@ int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout)  		{  		    int n; -		    __memset (sngl_rset, 0, bytes); -		    __memset (sngl_wset, 0, bytes); -		    __memset (sngl_xset, 0, bytes); +		    memset (sngl_rset, 0, bytes); +		    memset (sngl_wset, 0, bytes); +		    memset (sngl_xset, 0, bytes);  		    if (f->events & POLLIN)  			FD_SET (f->fd, sngl_rset); @@ -204,4 +205,5 @@ int attribute_hidden __poll(struct pollfd *fds, nfds_t nfds, int timeout)  }  #endif -strong_alias(__poll,poll) +libc_hidden_proto(poll) +libc_hidden_def(poll) diff --git a/libc/sysdeps/linux/common/posix_fadvise.c b/libc/sysdeps/linux/common/posix_fadvise.c index 5662a440c..72419be7b 100644 --- a/libc/sysdeps/linux/common/posix_fadvise.c +++ b/libc/sysdeps/linux/common/posix_fadvise.c @@ -8,12 +8,8 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -/* need to hide the posix_fadvise64 prototype or the weak_alias() - * will fail when __NR_fadvise64_64 doesnt exist */ -#define posix_fadvise64 __hide_posix_fadvise64  #include "syscalls.h"  #include <fcntl.h> -#undef posix_fadvise64  #ifdef __NR_fadvise64  #define __NR_posix_fadvise __NR_fadvise64 @@ -21,7 +17,7 @@ _syscall4(int, posix_fadvise, int, fd, off_t, offset,            off_t, len, int, advice);  #if defined __UCLIBC_HAS_LFS__ && (!defined __NR_fadvise64_64 || !defined _syscall6) -weak_alias(posix_fadvise, posix_fadvise64) +strong_alias(posix_fadvise,posix_fadvise64)  #endif  #else diff --git a/libc/sysdeps/linux/common/posix_fadvise64.c b/libc/sysdeps/linux/common/posix_fadvise64.c index 5c5cf9906..e5f23d509 100644 --- a/libc/sysdeps/linux/common/posix_fadvise64.c +++ b/libc/sysdeps/linux/common/posix_fadvise64.c @@ -52,7 +52,7 @@ int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice)  #endif  #elif !defined __NR_fadvise64 -/* This is declared as a weak alias in posix_fadvise.c if __NR_fadvise64 +/* This is declared as a strong alias in posix_fadvise.c if __NR_fadvise64   * is defined.   */  int posix_fadvise64(int fd, __off64_t offset, __off64_t len, int advice) diff --git a/libc/sysdeps/linux/common/pread_write.c b/libc/sysdeps/linux/common/pread_write.c index 7183ac9a7..c622b22d2 100644 --- a/libc/sysdeps/linux/common/pread_write.c +++ b/libc/sysdeps/linux/common/pread_write.c @@ -40,6 +40,12 @@  #include <unistd.h>  #include <stdint.h> +#ifdef __UCLIBC_HAS_LFS__ +libc_hidden_proto(lseek64) +#else +libc_hidden_proto(lseek) +#endif +  #ifdef __NR_pread  #define __NR___syscall_pread __NR_pread  @@ -50,7 +56,7 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {   	return(__syscall_pread(fd,buf,count,__LONG_LONG_PAIR (offset >> 31, offset)));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) @@ -59,7 +65,7 @@ ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pread(fd, buf, count, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pread */ @@ -75,7 +81,7 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  {   	return(__syscall_pwrite(fd,buf,count,__LONG_LONG_PAIR (offset >> 31, offset)));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset) @@ -84,7 +90,7 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pwrite(fd, buf, count, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pwrite */ @@ -100,11 +106,11 @@ static ssize_t __fake_pread_write(int fd, void *buf,  	/* Since we must not change the file pointer preserve the   	 * value so that we can restore it later.  */ -	if ((old_offset=__lseek(fd, 0, SEEK_CUR)) == (off_t) -1) +	if ((old_offset=lseek(fd, 0, SEEK_CUR)) == (off_t) -1)  		return -1;  	/* Set to wanted position.  */ -	if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) +	if (lseek (fd, offset, SEEK_SET) == (off_t) -1)  		return -1;  	if (do_pwrite==1) { @@ -118,7 +124,7 @@ static ssize_t __fake_pread_write(int fd, void *buf,  	/* Now we have to restore the position.  If this fails we   	 * have to return this as an error.  */  	save_errno = errno; -	if (__lseek(fd, old_offset, SEEK_SET) == (off_t) -1) +	if (lseek(fd, old_offset, SEEK_SET) == (off_t) -1)  	{  		if (result == -1)  			__set_errno(save_errno); @@ -138,11 +144,11 @@ static ssize_t __fake_pread_write64(int fd, void *buf,  	/* Since we must not change the file pointer preserve the   	 * value so that we can restore it later.  */ -	if ((old_offset=__lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1) +	if ((old_offset=lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1)  		return -1;  	/* Set to wanted position.  */ -	if (__lseek64(fd, offset, SEEK_SET) == (off64_t) -1)  +	if (lseek64(fd, offset, SEEK_SET) == (off64_t) -1)   		return -1;                                 	if (do_pwrite==1) { @@ -155,7 +161,7 @@ static ssize_t __fake_pread_write64(int fd, void *buf,  	/* Now we have to restore the position. */  	save_errno = errno; -	if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { +	if (lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) {  		if (result == -1)  			__set_errno (save_errno);  		return -1; @@ -171,14 +177,14 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {  	return(__fake_pread_write(fd, buf, count, offset, 0));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)  {   	return(__fake_pread_write64(fd, buf, count, offset, 0));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* ! __NR_pread */ @@ -190,14 +196,13 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  	 *just cast it to get rid of warnings */  	return(__fake_pread_write(fd, (void*)buf, count, offset, 1));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)  {   	return(__fake_pread_write64(fd, (void*)buf, count, offset, 1));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* ! __NR_pwrite */ - diff --git a/libc/sysdeps/linux/common/read.c b/libc/sysdeps/linux/common/read.c index 6490bccbc..912533e55 100644 --- a/libc/sysdeps/linux/common/read.c +++ b/libc/sysdeps/linux/common/read.c @@ -10,7 +10,8 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___read __NR_read -attribute_hidden _syscall3(ssize_t, __read, int, fd, __ptr_t, buf, size_t, count); -strong_alias(__read,read) -weak_alias(__read,__libc_read) +#define __NR___libc_read __NR_read +_syscall3(ssize_t, __libc_read, int, fd, __ptr_t, buf, size_t, count); +strong_alias(__libc_read,read) +libc_hidden_proto(read) +libc_hidden_def(read) diff --git a/libc/sysdeps/linux/common/readlink.c b/libc/sysdeps/linux/common/readlink.c index 45db1a64f..d1587154d 100644 --- a/libc/sysdeps/linux/common/readlink.c +++ b/libc/sysdeps/linux/common/readlink.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___readlink __NR_readlink -attribute_hidden _syscall3(int, __readlink, const char *, path, char *, buf, size_t, bufsiz); -strong_alias(__readlink,readlink) +_syscall3(int, readlink, const char *, path, char *, buf, size_t, bufsiz); +libc_hidden_proto(readlink) +libc_hidden_def(readlink) diff --git a/libc/sysdeps/linux/common/rmdir.c b/libc/sysdeps/linux/common/rmdir.c index 2f2c8a335..706fa0fd3 100644 --- a/libc/sysdeps/linux/common/rmdir.c +++ b/libc/sysdeps/linux/common/rmdir.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___rmdir __NR_rmdir -attribute_hidden _syscall1(int, __rmdir, const char *, pathname); -strong_alias(__rmdir,rmdir) +_syscall1(int, rmdir, const char *, pathname); +libc_hidden_proto(rmdir) +libc_hidden_def(rmdir) diff --git a/libc/sysdeps/linux/common/sbrk.c b/libc/sysdeps/linux/common/sbrk.c index d8507335b..bdc8c68a7 100644 --- a/libc/sysdeps/linux/common/sbrk.c +++ b/libc/sysdeps/linux/common/sbrk.c @@ -19,29 +19,31 @@  #include <unistd.h>  #include <errno.h> +libc_hidden_proto(brk) +  /* Defined in brk.c.  */  extern void *__curbrk; -extern int __brk (void *addr) attribute_hidden;  /* Extend the process's data space by INCREMENT.     If INCREMENT is negative, shrink data space by - INCREMENT.     Return start of new space allocated, or -1 for errors.  */ -void attribute_hidden * __sbrk (intptr_t increment) +void * sbrk (intptr_t increment)  {      void *oldbrk;      if (__curbrk == NULL) -	if (__brk (0) < 0)		/* Initialize the break.  */ +	if (brk (0) < 0)		/* Initialize the break.  */  	    return (void *) -1;      if (increment == 0)  	return __curbrk;      oldbrk = __curbrk; -    if (__brk (oldbrk + increment) < 0) +    if (brk (oldbrk + increment) < 0)  	return (void *) -1;      return oldbrk;  } -strong_alias(__sbrk,sbrk) +libc_hidden_proto(sbrk) +libc_hidden_def(sbrk) diff --git a/libc/sysdeps/linux/common/select.c b/libc/sysdeps/linux/common/select.c index 36f88229a..19e14b99a 100644 --- a/libc/sysdeps/linux/common/select.c +++ b/libc/sysdeps/linux/common/select.c @@ -11,10 +11,10 @@  #include <unistd.h>  #ifdef __NR__newselect -#define __NR___select __NR__newselect -#else -#define __NR___select __NR_select +#undef __NR_select +#define __NR_select __NR__newselect  #endif -attribute_hidden _syscall5(int, __select, int, n, fd_set *, readfds, fd_set *, writefds, +_syscall5(int, select, int, n, fd_set *, readfds, fd_set *, writefds,  		  fd_set *, exceptfds, struct timeval *, timeout); -strong_alias(__select,select) +libc_hidden_proto(select) +libc_hidden_def(select) diff --git a/libc/sysdeps/linux/common/setegid.c b/libc/sysdeps/linux/common/setegid.c index d3175dad5..dcd207132 100644 --- a/libc/sysdeps/linux/common/setegid.c +++ b/libc/sysdeps/linux/common/setegid.c @@ -1,5 +1,8 @@ -#define setresgid __setresgid -#define setregid __setregid +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #define _GNU_SOURCE  #include <unistd.h> @@ -9,6 +12,9 @@  #include <sys/types.h>  #include <sys/syscall.h> +libc_hidden_proto(setresgid) +libc_hidden_proto(setregid) +  int setegid(gid_t gid)  {      int result; diff --git a/libc/sysdeps/linux/common/seteuid.c b/libc/sysdeps/linux/common/seteuid.c index f5ed35743..aeb6356e5 100644 --- a/libc/sysdeps/linux/common/seteuid.c +++ b/libc/sysdeps/linux/common/seteuid.c @@ -1,5 +1,8 @@ -#define setresuid __setresuid -#define setreuid __setreuid +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #define _GNU_SOURCE  #include <unistd.h> @@ -9,7 +12,10 @@  #include <sys/types.h>  #include <sys/syscall.h> -int attribute_hidden __seteuid(uid_t uid) +libc_hidden_proto(setresuid) +libc_hidden_proto(setreuid) + +int seteuid(uid_t uid)  {      int result; @@ -29,4 +35,4 @@ int attribute_hidden __seteuid(uid_t uid)      return result;  } -strong_alias(__seteuid,seteuid) +libc_hidden_proto(seteuid) diff --git a/libc/sysdeps/linux/common/setgroups.c b/libc/sysdeps/linux/common/setgroups.c index 49d85156f..a41578d62 100644 --- a/libc/sysdeps/linux/common/setgroups.c +++ b/libc/sysdeps/linux/common/setgroups.c @@ -7,18 +7,18 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define sysconf __sysconf -  #include "syscalls.h"  #include <stdlib.h>  #include <unistd.h>  #include <grp.h> +libc_hidden_proto(sysconf) +  #define __NR___syscall_setgroups __NR_setgroups  static inline _syscall2(int, __syscall_setgroups,  		size_t, size, const __kernel_gid_t *, list); -int attribute_hidden __setgroups(size_t size, const gid_t *groups) +int setgroups(size_t size, const gid_t *groups)  {  	if (size > (size_t) sysconf(_SC_NGROUPS_MAX)) {  ret_error: @@ -47,4 +47,5 @@ ret_error:  		return i;  	}  } -strong_alias(__setgroups,setgroups) +libc_hidden_proto(setgroups) +libc_hidden_def(setgroups) diff --git a/libc/sysdeps/linux/common/setitimer.c b/libc/sysdeps/linux/common/setitimer.c index be51cb5c5..f34a9f39c 100644 --- a/libc/sysdeps/linux/common/setitimer.c +++ b/libc/sysdeps/linux/common/setitimer.c @@ -9,7 +9,7 @@  #include "syscalls.h"  #include <sys/time.h> -#define __NR___setitimer __NR_setitimer -attribute_hidden _syscall3(int, __setitimer, __itimer_which_t, which, +_syscall3(int, setitimer, __itimer_which_t, which,  		  const struct itimerval *, new, struct itimerval *, old); -strong_alias(__setitimer,setitimer) +libc_hidden_proto(setitimer) +libc_hidden_def(setitimer) diff --git a/libc/sysdeps/linux/common/setpgid.c b/libc/sysdeps/linux/common/setpgid.c index 6d73f08ec..0453fbdfb 100644 --- a/libc/sysdeps/linux/common/setpgid.c +++ b/libc/sysdeps/linux/common/setpgid.c @@ -14,8 +14,9 @@  static inline _syscall2(int, __syscall_setpgid,  		__kernel_pid_t, pid, __kernel_pid_t, pgid); -int attribute_hidden __setpgid(pid_t pid, pid_t pgid) +int setpgid(pid_t pid, pid_t pgid)  {  	return (__syscall_setpgid(pid, pgid));  } -strong_alias(__setpgid,setpgid) +libc_hidden_proto(setpgid) +libc_hidden_def(setpgid) diff --git a/libc/sysdeps/linux/common/setpgrp.c b/libc/sysdeps/linux/common/setpgrp.c index 966bb4da6..38300dc2e 100644 --- a/libc/sysdeps/linux/common/setpgrp.c +++ b/libc/sysdeps/linux/common/setpgrp.c @@ -1,8 +1,14 @@ -#define setpgid __setpgid +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <syscall.h>  #include <unistd.h> +libc_hidden_proto(setpgid) +  int setpgrp(void)  {  	return setpgid(0,0); diff --git a/libc/sysdeps/linux/common/setpriority.c b/libc/sysdeps/linux/common/setpriority.c index 06476d88f..7347786af 100644 --- a/libc/sysdeps/linux/common/setpriority.c +++ b/libc/sysdeps/linux/common/setpriority.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <sys/resource.h> -#define __NR___setpriority __NR_setpriority -attribute_hidden _syscall3(int, __setpriority, __priority_which_t, which, id_t, who, int, prio); -strong_alias(__setpriority,setpriority) +_syscall3(int, setpriority, __priority_which_t, which, id_t, who, int, prio); +libc_hidden_proto(setpriority) +libc_hidden_def(setpriority) diff --git a/libc/sysdeps/linux/common/setregid.c b/libc/sysdeps/linux/common/setregid.c index cfd375744..043afffc9 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 attribute_hidden __setregid(gid_t rgid, gid_t egid) +int 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,4 +23,4 @@ int attribute_hidden __setregid(gid_t rgid, gid_t egid)  	}  	return (__syscall_setregid(rgid, egid));  } -strong_alias(__setregid,setregid) +libc_hidden_proto(setregid) diff --git a/libc/sysdeps/linux/common/setresgid.c b/libc/sysdeps/linux/common/setresgid.c index fbfa98be3..82087d1c1 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 attribute_hidden __setresgid(gid_t rgid, gid_t egid, gid_t sgid) +int 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,5 +24,6 @@ int attribute_hidden __setresgid(gid_t rgid, gid_t egid, gid_t sgid)  	}  	return (__syscall_setresgid(rgid, egid, sgid));  } -strong_alias(__setresgid,setresgid) +libc_hidden_proto(setresgid) +libc_hidden_def(setresgid)  #endif diff --git a/libc/sysdeps/linux/common/setresuid.c b/libc/sysdeps/linux/common/setresuid.c index 6ed1423f5..7d34c4027 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 attribute_hidden __setresuid(uid_t ruid, uid_t euid, uid_t suid) +int 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,5 +24,6 @@ int attribute_hidden __setresuid(uid_t ruid, uid_t euid, uid_t suid)  	}  	return (__syscall_setresuid(ruid, euid, suid));  } -strong_alias(__setresuid,setresuid) +libc_hidden_proto(setresuid) +libc_hidden_def(setresuid)  #endif diff --git a/libc/sysdeps/linux/common/setreuid.c b/libc/sysdeps/linux/common/setreuid.c index 15ab5c01a..93684d047 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 attribute_hidden __setreuid(uid_t ruid, uid_t euid) +int 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,4 +23,5 @@ int attribute_hidden __setreuid(uid_t ruid, uid_t euid)  	}  	return (__syscall_setreuid(ruid, euid));  } -strong_alias(__setreuid,setreuid) +libc_hidden_proto(setreuid) +libc_hidden_def(setreuid) diff --git a/libc/sysdeps/linux/common/setrlimit.c b/libc/sysdeps/linux/common/setrlimit.c index 9c5466a09..08e955e05 100644 --- a/libc/sysdeps/linux/common/setrlimit.c +++ b/libc/sysdeps/linux/common/setrlimit.c @@ -18,7 +18,7 @@  #define RMIN(x, y) ((x) < (y) ? (x) : (y))  static inline  _syscall2(int, __syscall_setrlimit, int, resource, const struct rlimit *, rlim); -int attribute_hidden __setrlimit(__rlimit_resource_t resource, const struct rlimit *rlimits) +int setrlimit(__rlimit_resource_t resource, const struct rlimit *rlimits)  {  	struct rlimit rlimits_small; @@ -37,9 +37,9 @@ int attribute_hidden __setrlimit(__rlimit_resource_t resource, const struct rlim  #include <unistd.h>  struct rlimit; -#define __NR___setrlimit __NR_setrlimit -attribute_hidden _syscall2(int, __setrlimit, unsigned int, resource, +_syscall2(int, setrlimit, unsigned int, resource,  		const struct rlimit *, rlim);  #endif -strong_alias(__setrlimit,setrlimit) +libc_hidden_proto(setrlimit) +libc_hidden_def(setrlimit) diff --git a/libc/sysdeps/linux/common/setrlimit64.c b/libc/sysdeps/linux/common/setrlimit64.c index d59057c90..b0d84de53 100644 --- a/libc/sysdeps/linux/common/setrlimit64.c +++ b/libc/sysdeps/linux/common/setrlimit64.c @@ -16,8 +16,6 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ -#define setrlimit __setrlimit -  #include <features.h>  #if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS != 64  @@ -38,6 +36,8 @@  #if defined __UCLIBC_HAS_LFS__ +libc_hidden_proto(setrlimit) +  /* Set the soft and hard limits for RESOURCE to *RLIMITS.     Only the super-user can increase hard limits.     Return 0 if successful, -1 if not (and sets errno).  */ diff --git a/libc/sysdeps/linux/common/setsid.c b/libc/sysdeps/linux/common/setsid.c index b3e1e8706..6b63e3a31 100644 --- a/libc/sysdeps/linux/common/setsid.c +++ b/libc/sysdeps/linux/common/setsid.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___setsid __NR_setsid -attribute_hidden _syscall0(pid_t, __setsid); -strong_alias(__setsid,setsid) +_syscall0(pid_t, setsid); +libc_hidden_proto(setsid) +libc_hidden_def(setsid) diff --git a/libc/sysdeps/linux/common/settimeofday.c b/libc/sysdeps/linux/common/settimeofday.c index 4e88b3edb..7f4c336a2 100644 --- a/libc/sysdeps/linux/common/settimeofday.c +++ b/libc/sysdeps/linux/common/settimeofday.c @@ -9,7 +9,7 @@  #include "syscalls.h"  #include <sys/time.h> -#define __NR___settimeofday __NR_settimeofday -attribute_hidden _syscall2(int, __settimeofday, const struct timeval *, tv, +attribute_hidden _syscall2(int, settimeofday, const struct timeval *, tv,  		  const struct timezone *, tz); -strong_alias(__settimeofday,settimeofday) +libc_hidden_proto(settimeofday) +libc_hidden_def(settimeofday) diff --git a/libc/sysdeps/linux/common/sigprocmask.c b/libc/sysdeps/linux/common/sigprocmask.c index 7a18648e8..6ca040c59 100644 --- a/libc/sysdeps/linux/common/sigprocmask.c +++ b/libc/sysdeps/linux/common/sigprocmask.c @@ -19,7 +19,7 @@ static inline  _syscall4(int, __rt_sigprocmask, int, how, const sigset_t *, set,  		  sigset_t *, oldset, size_t, size); -int attribute_hidden __sigprocmask(int how, const sigset_t * set, sigset_t * oldset) +int sigprocmask(int how, const sigset_t * set, sigset_t * oldset)  {  	if (set &&  #if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) @@ -44,7 +44,7 @@ static inline  _syscall3(int, __syscall_sigprocmask, int, how, const sigset_t *, set,  		  sigset_t *, oldset); -int attribute_hidden __sigprocmask(int how, const sigset_t * set, sigset_t * oldset) +int sigprocmask(int how, const sigset_t * set, sigset_t * oldset)  {  	if (set &&  #if (SIG_BLOCK == 0) && (SIG_UNBLOCK == 1) && (SIG_SETMASK == 2) @@ -62,4 +62,5 @@ int attribute_hidden __sigprocmask(int how, const sigset_t * set, sigset_t * old  }  #endif -strong_alias(__sigprocmask,sigprocmask) +libc_hidden_proto(sigprocmask) +libc_hidden_def(sigprocmask) diff --git a/libc/sysdeps/linux/common/sigsuspend.c b/libc/sysdeps/linux/common/sigsuspend.c index be69c62c2..be90d7e87 100644 --- a/libc/sysdeps/linux/common/sigsuspend.c +++ b/libc/sysdeps/linux/common/sigsuspend.c @@ -15,7 +15,7 @@  #define __NR___rt_sigsuspend __NR_rt_sigsuspend  static inline _syscall2(int, __rt_sigsuspend, const sigset_t *, mask, size_t, size); -int attribute_hidden __sigsuspend(const sigset_t * mask) +int sigsuspend(const sigset_t * mask)  {  	return __rt_sigsuspend(mask, _NSIG / 8);  } @@ -24,9 +24,10 @@ int attribute_hidden __sigsuspend(const sigset_t * mask)  static inline _syscall3(int, __syscall_sigsuspend, int, a, unsigned long int, b,  		  unsigned long int, c); -int attribute_hidden __sigsuspend(const sigset_t * set) +int sigsuspend(const sigset_t * set)  {  	return __syscall_sigsuspend(0, 0, set->__val[0]);  }  #endif -strong_alias(__sigsuspend,sigsuspend) +libc_hidden_proto(sigsuspend) +libc_hidden_def(sigsuspend) diff --git a/libc/sysdeps/linux/common/ssp.c b/libc/sysdeps/linux/common/ssp.c index ecd9dd8d7..33d84e5eb 100644 --- a/libc/sysdeps/linux/common/ssp.c +++ b/libc/sysdeps/linux/common/ssp.c @@ -26,19 +26,25 @@  # define SSP_SIGTYPE SIGABRT  #endif -#define openlog __openlog -#define syslog __syslog -#define closelog __closelog -#define sigfillset __sigfillset_internal -#define sigdelset __sigdelset_internal -#define sigaction __sigaction -#define kill __kill -  #include <string.h>  #include <unistd.h>  #include <signal.h>  #include <sys/syslog.h> +libc_hidden_proto(memset) +libc_hidden_proto(strlen) +libc_hidden_proto(sigaction) +libc_hidden_proto(sigfillset) +libc_hidden_proto(sigdelset) +libc_hidden_proto(sigprocmask) +libc_hidden_proto(write) +libc_hidden_proto(openlog) +libc_hidden_proto(syslog) +libc_hidden_proto(closelog) +libc_hidden_proto(kill) +libc_hidden_proto(getpid) +libc_hidden_proto(_exit) +  static void block_signals(void)  {  	struct sigaction sa; @@ -47,10 +53,10 @@ static void block_signals(void)  	sigfillset(&mask);  	sigdelset(&mask, SSP_SIGTYPE);	/* Block all signal handlers */ -	__sigprocmask(SIG_BLOCK, &mask, NULL);	/* except SSP_SIGTYPE */ +	sigprocmask(SIG_BLOCK, &mask, NULL);	/* except SSP_SIGTYPE */  	/* Make the default handler associated with the signal handler */ -	__memset(&sa, 0, sizeof(struct sigaction)); +	memset(&sa, 0, sizeof(struct sigaction));  	sigfillset(&sa.sa_mask);	/* Block all signals */  	sa.sa_flags = 0;  	sa.sa_handler = SIG_DFL; @@ -59,10 +65,10 @@ static void block_signals(void)  static void ssp_write(int fd, const char *msg1, const char *msg2, const char *msg3)  { -	__write(fd, msg1, __strlen(msg1)); -	__write(fd, msg2, __strlen(msg2)); -	__write(fd, msg3, __strlen(msg3)); -	__write(fd, "()\n", 3); +	write(fd, msg1, strlen(msg1)); +	write(fd, msg2, strlen(msg2)); +	write(fd, msg3, strlen(msg3)); +	write(fd, "()\n", 3);  	openlog("ssp", LOG_CONS | LOG_PID, LOG_USER);  	syslog(LOG_INFO, "%s%s%s()", msg1, msg2, msg3);  	closelog(); @@ -70,8 +76,8 @@ static void ssp_write(int fd, const char *msg1, const char *msg2, const char *ms  static attribute_noreturn void terminate(void)  { -	(void) kill(__getpid(), SSP_SIGTYPE); -	_exit_internal(127); +	(void) kill(getpid(), SSP_SIGTYPE); +	_exit(127);  }  void attribute_noreturn __stack_smash_handler(char func[], int damaged __attribute__ ((unused))); diff --git a/libc/sysdeps/linux/common/stat.c b/libc/sysdeps/linux/common/stat.c index 7cc6131b3..51e353f96 100644 --- a/libc/sysdeps/linux/common/stat.c +++ b/libc/sysdeps/linux/common/stat.c @@ -10,7 +10,6 @@  /* need to hide the 64bit prototype or the weak_alias()   * will fail when __NR_stat64 doesnt exist */  #define stat64 __hidestat64 -#define __stat64 __hide__stat64  #include "syscalls.h"  #include <unistd.h> @@ -18,15 +17,13 @@  #include "xstatconv.h"  #undef stat64 -#undef __stat64  #define __NR___syscall_stat __NR_stat -#undef __stat  #undef stat  static inline _syscall2(int, __syscall_stat,  		const char *, file_name, struct kernel_stat *, buf); -int attribute_hidden __stat(const char *file_name, struct stat *buf) +int stat(const char *file_name, struct stat *buf)  {  	int result;  	struct kernel_stat kbuf; @@ -37,9 +34,11 @@ int attribute_hidden __stat(const char *file_name, struct stat *buf)  	}  	return result;  } -strong_alias(__stat,stat) +libc_hidden_proto(stat) +libc_hidden_def(stat)  #if ! defined __NR_stat64 && defined __UCLIBC_HAS_LFS__ -hidden_strong_alias(__stat,__stat64) -weak_alias(__stat,stat64) +strong_alias(stat,stat64) +libc_hidden_proto(stat64) +libc_hidden_def(stat64)  #endif diff --git a/libc/sysdeps/linux/common/stat64.c b/libc/sysdeps/linux/common/stat64.c index dcd9163fb..e46cf8a25 100644 --- a/libc/sysdeps/linux/common/stat64.c +++ b/libc/sysdeps/linux/common/stat64.c @@ -18,8 +18,7 @@  static inline _syscall2(int, __syscall_stat64,  		const char *, file_name, struct kernel_stat64 *, buf); -#undef stat64 -int attribute_hidden __stat64(const char *file_name, struct stat64 *buf) +int stat64(const char *file_name, struct stat64 *buf)  {  	int result;  	struct kernel_stat64 kbuf; @@ -30,6 +29,7 @@ int attribute_hidden __stat64(const char *file_name, struct stat64 *buf)  	}  	return result;  } -strong_alias(__stat64,stat64) +libc_hidden_proto(stat64) +libc_hidden_def(stat64)  #endif							/* __UCLIBC_HAS_LFS__ */ diff --git a/libc/sysdeps/linux/common/statfs.c b/libc/sysdeps/linux/common/statfs.c index f8aa9d3ba..d931707f4 100644 --- a/libc/sysdeps/linux/common/statfs.c +++ b/libc/sysdeps/linux/common/statfs.c @@ -16,8 +16,9 @@  static inline _syscall2(int, __syscall_statfs,  		const char *, path, struct statfs *, buf); -int attribute_hidden __statfs(const char *path, struct statfs * buf) +int statfs(const char *path, struct statfs * buf)  {  	return __syscall_statfs(path, buf);  } -strong_alias(__statfs,statfs) +libc_hidden_proto(statfs) +libc_hidden_def(statfs) diff --git a/libc/sysdeps/linux/common/time.c b/libc/sysdeps/linux/common/time.c index 02ebd5570..a4dc1c742 100644 --- a/libc/sysdeps/linux/common/time.c +++ b/libc/sysdeps/linux/common/time.c @@ -7,16 +7,15 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define gettimeofday __gettimeofday -  #include "syscalls.h"  #include <time.h>  #include <sys/time.h>  #ifdef __NR_time -#define __NR___time __NR_time -attribute_hidden _syscall1(time_t, __time, time_t *, t); +_syscall1(time_t, time, time_t *, t);  #else -time_t attribute_hidden __time(time_t * t) +libc_hidden_proto(gettimeofday) + +time_t time(time_t * t)  {  	time_t result;  	struct timeval tv; @@ -32,4 +31,5 @@ time_t attribute_hidden __time(time_t * t)  	return result;  }  #endif -strong_alias(__time,time) +libc_hidden_proto(time) +libc_hidden_def(time) diff --git a/libc/sysdeps/linux/common/times.c b/libc/sysdeps/linux/common/times.c index 0fefdca10..fa751a03b 100644 --- a/libc/sysdeps/linux/common/times.c +++ b/libc/sysdeps/linux/common/times.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <sys/times.h> -#define __NR___times __NR_times -attribute_hidden _syscall1(clock_t, __times, struct tms *, buf); -strong_alias(__times,times) +_syscall1(clock_t, times, struct tms *, buf); +libc_hidden_proto(times) +libc_hidden_def(times) diff --git a/libc/sysdeps/linux/common/truncate.c b/libc/sysdeps/linux/common/truncate.c index dd69bcb3e..d0b04ebee 100644 --- a/libc/sysdeps/linux/common/truncate.c +++ b/libc/sysdeps/linux/common/truncate.c @@ -10,4 +10,5 @@  #include "syscalls.h"  #include <unistd.h>  _syscall2(int, truncate, const char *, path, __off_t, length); -hidden_strong_alias(truncate, __truncate) +libc_hidden_proto(truncate) +libc_hidden_def(truncate) diff --git a/libc/sysdeps/linux/common/truncate64.c b/libc/sysdeps/linux/common/truncate64.c index 06b076c4f..df6c9e4d5 100644 --- a/libc/sysdeps/linux/common/truncate64.c +++ b/libc/sysdeps/linux/common/truncate64.c @@ -12,8 +12,6 @@   * the main directory of this archive for more details.   */ -#define truncate __truncate -  #include <features.h>  #include <unistd.h>  #include <errno.h> @@ -66,6 +64,8 @@ int truncate64 (const char * path, __off64_t length)  #else  /* __NR_truncate64 */ +libc_hidden_proto(truncate) +  int truncate64 (const char * path, __off64_t length)  {  	__off_t x = (__off_t) length; @@ -82,4 +82,3 @@ int truncate64 (const char * path, __off64_t length)  #endif /* __NR_truncate64 */  #endif /* __UCLIBC_HAS_LFS__ */ - diff --git a/libc/sysdeps/linux/common/ulimit.c b/libc/sysdeps/linux/common/ulimit.c index b8e09fc8f..64bb45515 100644 --- a/libc/sysdeps/linux/common/ulimit.c +++ b/libc/sysdeps/linux/common/ulimit.c @@ -18,10 +18,6 @@   *   */ -#define sysconf __sysconf -#define getrlimit __getrlimit -#define setrlimit __setrlimit -  #define _GNU_SOURCE  #define _LARGEFILE64_SOURCE  #include <features.h> @@ -48,6 +44,10 @@ _syscall2(long, ulimit, int, cmd, int, arg);  #include <errno.h>  #include <sys/resource.h> +libc_hidden_proto(sysconf) +libc_hidden_proto(getrlimit) +libc_hidden_proto(setrlimit) +  long int ulimit(int cmd, ...)  {  	va_list va; diff --git a/libc/sysdeps/linux/common/uname.c b/libc/sysdeps/linux/common/uname.c index 3d252edc7..936b862c0 100644 --- a/libc/sysdeps/linux/common/uname.c +++ b/libc/sysdeps/linux/common/uname.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <sys/utsname.h> -#define __NR___uname __NR_uname -attribute_hidden _syscall1(int, __uname, struct utsname *, buf); -strong_alias(__uname,uname) +_syscall1(int, uname, struct utsname *, buf); +libc_hidden_proto(uname) +libc_hidden_def(uname) diff --git a/libc/sysdeps/linux/common/unlink.c b/libc/sysdeps/linux/common/unlink.c index 4d9c3cda9..37c145226 100644 --- a/libc/sysdeps/linux/common/unlink.c +++ b/libc/sysdeps/linux/common/unlink.c @@ -9,6 +9,6 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___unlink __NR_unlink -attribute_hidden _syscall1(int, __unlink, const char *, pathname); -strong_alias(__unlink,unlink) +_syscall1(int, unlink, const char *, pathname); +libc_hidden_proto(unlink) +libc_hidden_def(unlink) diff --git a/libc/sysdeps/linux/common/utime.c b/libc/sysdeps/linux/common/utime.c index 8087863f7..a01da3697 100644 --- a/libc/sysdeps/linux/common/utime.c +++ b/libc/sysdeps/linux/common/utime.c @@ -7,18 +7,18 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define utimes __utimes -#define gettimeofday __gettimeofday -  #include "syscalls.h"  #include <utime.h>  #ifdef __NR_utime -#define __NR___utime __NR_utime -attribute_hidden _syscall2(int, __utime, const char *, file, const struct utimbuf *, times); +attribute_hidden _syscall2(int, utime, const char *, file, const struct utimbuf *, times);  #else  #include <stdlib.h>  #include <sys/time.h> -int attribute_hidden __utime(const char *file, const struct utimbuf *times) + +libc_hidden_proto(utimes) +libc_hidden_proto(gettimeofday) + +int utime(const char *file, const struct utimbuf *times)  {  	struct timeval timevals[2]; @@ -36,4 +36,5 @@ int attribute_hidden __utime(const char *file, const struct utimbuf *times)  	return utimes(file, timevals);  }  #endif -strong_alias(__utime,utime) +libc_hidden_proto(utime) +libc_hidden_def(utime) diff --git a/libc/sysdeps/linux/common/utimes.c b/libc/sysdeps/linux/common/utimes.c index ca45204c7..4dfcfb30a 100644 --- a/libc/sysdeps/linux/common/utimes.c +++ b/libc/sysdeps/linux/common/utimes.c @@ -7,17 +7,17 @@   * GNU Library General Public License (LGPL) version 2 or later.   */ -#define utime __utime -  #include "syscalls.h"  #include <utime.h>  #ifdef __NR_utimes -#define __NR___utimes __NR_utimes -attribute_hidden _syscall2(int, __utimes, const char *, file, const struct timeval *, tvp); +_syscall2(int, utimes, const char *, file, const struct timeval *, tvp);  #else  #include <stdlib.h>  #include <sys/time.h> -int attribute_hidden __utimes(const char *file, const struct timeval tvp[2]) + +libc_hidden_proto(utime) + +int utimes(const char *file, const struct timeval tvp[2])  {  	struct utimbuf buf, *times; @@ -31,4 +31,5 @@ int attribute_hidden __utimes(const char *file, const struct timeval tvp[2])  	return utime(file, times);  }  #endif -strong_alias(__utimes,utimes) +libc_hidden_proto(utimes) +libc_hidden_def(utimes) diff --git a/libc/sysdeps/linux/common/vfork.c b/libc/sysdeps/linux/common/vfork.c index d0a4d9a0e..df00b27c3 100644 --- a/libc/sysdeps/linux/common/vfork.c +++ b/libc/sysdeps/linux/common/vfork.c @@ -2,10 +2,11 @@  #include <unistd.h>  #include <sys/types.h> -extern __pid_t __fork (void) __THROW attribute_hidden; +libc_hidden_proto(fork) -pid_t attribute_hidden __vfork(void) +pid_t vfork(void)  { -    return __fork(); +    return fork();  } -strong_alias(__vfork,vfork) +libc_hidden_proto(vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/common/wait.c b/libc/sysdeps/linux/common/wait.c index b2a6d2295..471650e04 100644 --- a/libc/sysdeps/linux/common/wait.c +++ b/libc/sysdeps/linux/common/wait.c @@ -1,4 +1,8 @@ -#define wait4 __wait4 +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <stdlib.h>  #include <syscall.h> @@ -6,10 +10,12 @@  #include <sys/wait.h>  #include <sys/resource.h> +libc_hidden_proto(wait4) +  /* Wait for a child to die.  When one does, put its status in *STAT_LOC   * and return its process ID.  For errors, return (pid_t) -1.  */ -__pid_t wait (__WAIT_STATUS_DEFN stat_loc) +__pid_t __libc_wait (__WAIT_STATUS_DEFN stat_loc)  { -      return __wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL); +      return wait4 (WAIT_ANY, stat_loc, 0, (struct rusage *) NULL);  } -weak_alias(wait,__libc_wait) +strong_alias(__libc_wait,wait) diff --git a/libc/sysdeps/linux/common/wait3.c b/libc/sysdeps/linux/common/wait3.c index 4b4d6aef1..5de975c25 100644 --- a/libc/sysdeps/linux/common/wait3.c +++ b/libc/sysdeps/linux/common/wait3.c @@ -1,10 +1,15 @@ -#define wait4 __wait4 +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <syscall.h>  #include <sys/types.h>  #include <sys/wait.h>  #include <sys/resource.h> +libc_hidden_proto(wait4)  /* Wait for a child to exit.  When one does, put its status in *STAT_LOC and   * return its process ID.  For errors return (pid_t) -1.  If USAGE is not nil, diff --git a/libc/sysdeps/linux/common/wait4.c b/libc/sysdeps/linux/common/wait4.c index b5a2c5933..9acca8ff8 100644 --- a/libc/sysdeps/linux/common/wait4.c +++ b/libc/sysdeps/linux/common/wait4.c @@ -14,8 +14,9 @@  static inline _syscall4(int, __syscall_wait4, __kernel_pid_t, pid,  		int *, status, int, opts, struct rusage *, rusage); -pid_t attribute_hidden __wait4(pid_t pid, int *status, int opts, struct rusage *rusage) +pid_t wait4(pid_t pid, int *status, int opts, struct rusage *rusage)  {  	return (__syscall_wait4(pid, status, opts, rusage));  } -strong_alias(__wait4,wait4) +libc_hidden_proto(wait4) +libc_hidden_def(wait4) diff --git a/libc/sysdeps/linux/common/waitpid.c b/libc/sysdeps/linux/common/waitpid.c index 612917fcf..aeeafc7c5 100644 --- a/libc/sysdeps/linux/common/waitpid.c +++ b/libc/sysdeps/linux/common/waitpid.c @@ -1,4 +1,8 @@ -#define wait4 __wait4 +/* + * Copyright (C) 2000-2006 Erik Andersen <andersen@uclibc.org> + * + * Licensed under the LGPL v2.1, see the file COPYING.LIB in this tarball. + */  #include <stdlib.h>  #include <sys/types.h> @@ -6,9 +10,12 @@  #include <sys/wait.h>  #include <sys/resource.h> -__pid_t attribute_hidden __waitpid(__pid_t pid, int *wait_stat, int options) +libc_hidden_proto(wait4) + +__pid_t __libc_waitpid(__pid_t pid, int *wait_stat, int options)  { -    return __wait4(pid, wait_stat, options, NULL); +    return wait4(pid, wait_stat, options, NULL);  } -strong_alias(__waitpid,waitpid) -weak_alias(__waitpid,__libc_waitpid) +strong_alias(__libc_waitpid,waitpid) +libc_hidden_proto(waitpid) +libc_hidden_def(waitpid) diff --git a/libc/sysdeps/linux/common/write.c b/libc/sysdeps/linux/common/write.c index 8a1d57a82..814e68cc6 100644 --- a/libc/sysdeps/linux/common/write.c +++ b/libc/sysdeps/linux/common/write.c @@ -10,12 +10,13 @@  #include "syscalls.h"  #include <unistd.h> -#define __NR___write __NR_write -attribute_hidden _syscall3(ssize_t, __write, int, fd, const __ptr_t, buf, size_t, count); -strong_alias(__write,write) -weak_alias(__write,__libc_write) +#define __NR___libc_write __NR_write +_syscall3(ssize_t, __libc_write, int, fd, const __ptr_t, buf, size_t, count); +strong_alias(__libc_write,write) +libc_hidden_proto(write) +libc_hidden_def(write)  #if 0  /* Stupid libgcc.a from gcc 2.95.x uses __write in pure.o   * which is a blatent GNU libc-ism... */ -weak_alias(__libc_write, __write) +strong_alias(__libc_write,__write)  #endif diff --git a/libc/sysdeps/linux/cris/brk.c b/libc/sysdeps/linux/cris/brk.c index 10965d3b9..8b5aa680c 100644 --- a/libc/sysdeps/linux/cris/brk.c +++ b/libc/sysdeps/linux/cris/brk.c @@ -7,7 +7,7 @@ extern void * __curbrk;  extern int __init_brk (void); -int attribute_hidden __brk(void * end_data_seg) +int brk(void * end_data_seg)  {  	if (__init_brk () == 0) {  		/* @@ -29,4 +29,5 @@ int attribute_hidden __brk(void * end_data_seg)  	return -1;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/cris/clone.S b/libc/sysdeps/linux/cris/clone.S index 19ba71996..046073b58 100644 --- a/libc/sysdeps/linux/cris/clone.S +++ b/libc/sysdeps/linux/cris/clone.S @@ -25,7 +25,7 @@  	.syntax no_register_prefix          .text -ENTRY (__clone) +ENTRY (clone)  	/* Sanity check arguments: No NULL function pointers.  Allow a NULL  	   stack pointer though; it makes the kernel allocate stack.  */  	test.d	r10 @@ -69,7 +69,7 @@ ENTRY (__clone)  	jsr	r0  	SETUP_PIC -	PLTCALL	(_exit_internal) +	PLTCALL	(HIDDEN_JUMPTARGET(_exit))  	/* Die horribly.  */  	test.d	[6809] @@ -83,7 +83,4 @@ ENTRY (__clone)  1:  	movs.w	-EINVAL,r10  	/* Drop through into the ordinary error handler.  */ -PSEUDO_END (__clone) - -.globl clone -	clone = __clone +PSEUDO_END (clone) diff --git a/libc/sysdeps/linux/cris/fork.c b/libc/sysdeps/linux/cris/fork.c index 4dd8e0269..11b546127 100644 --- a/libc/sysdeps/linux/cris/fork.c +++ b/libc/sysdeps/linux/cris/fork.c @@ -8,4 +8,6 @@ SYSCALL__ (__libc_fork, 0)  	   R0&-1==R0, and the child gets R0&0==0.  */       /* i dunno what the blurb above is useful for. we just return. */  __asm__("ret\n\tnop"); -weak_alias(__libc_fork, fork) +strong_alias(__libc_fork,fork) +libc_hidden_proto(fork) +libc_hidden_def(fork) diff --git a/libc/sysdeps/linux/cris/sbrk.c b/libc/sysdeps/linux/cris/sbrk.c index 3683435bf..9eb9a2a0e 100644 --- a/libc/sysdeps/linux/cris/sbrk.c +++ b/libc/sysdeps/linux/cris/sbrk.c @@ -9,8 +9,8 @@ extern void * __curbrk;  extern int __init_brk (void); -void attribute_hidden * -__sbrk(intptr_t increment) +void * +sbrk(intptr_t increment)  {  	if (__init_brk () == 0) {  		void * tmp = __curbrk + increment; @@ -34,4 +34,5 @@ __sbrk(intptr_t increment)  	}  	return ((void *) -1);  } -strong_alias(__sbrk,sbrk) +libc_hidden_proto(sbrk) +libc_hidden_def(sbrk) diff --git a/libc/sysdeps/linux/cris/setjmp.S b/libc/sysdeps/linux/cris/setjmp.S index a5ea0e2d8..2d959cbed 100644 --- a/libc/sysdeps/linux/cris/setjmp.S +++ b/libc/sysdeps/linux/cris/setjmp.S @@ -65,12 +65,3 @@ weak_extern (__setjmp)  weak_extern (_setjmp)  weak_extern (setjmp)  */ - - - - - - - - - diff --git a/libc/sysdeps/linux/e1/longjmp.c b/libc/sysdeps/linux/e1/longjmp.c index 89d6b76d9..306638937 100644 --- a/libc/sysdeps/linux/e1/longjmp.c +++ b/libc/sysdeps/linux/e1/longjmp.c @@ -40,10 +40,12 @@ void longjmp(jmp_buf state, int value )  #undef _state_  } +libc_hidden_proto(sigprocmask) +  void siglongjmp(sigjmp_buf state, int value )  {  	if( state->__mask_was_saved ) -		__sigprocmask(SIG_SETMASK, &state->__saved_mask, NULL); +		sigprocmask(SIG_SETMASK, &state->__saved_mask, NULL);  	if(!value)  		state->__jmpbuf->ReturnValue = 1; diff --git a/libc/sysdeps/linux/frv/brk.c b/libc/sysdeps/linux/frv/brk.c index d6063fc27..443c03b25 100644 --- a/libc/sysdeps/linux/frv/brk.c +++ b/libc/sysdeps/linux/frv/brk.c @@ -9,7 +9,7 @@ extern void * __curbrk;  extern int __init_brk (void);  extern void *_brk(void *ptr) attribute_hidden; -int attribute_hidden __brk(void * end_data_seg) +int brk(void * end_data_seg)  {      if (__init_brk () == 0)      { @@ -20,4 +20,5 @@ int attribute_hidden __brk(void * end_data_seg)      }      return -1;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/frv/clone.S b/libc/sysdeps/linux/frv/clone.S index b714b45b1..eff281499 100644 --- a/libc/sysdeps/linux/frv/clone.S +++ b/libc/sysdeps/linux/frv/clone.S @@ -25,10 +25,10 @@  #include <bits/errno.h>  	.text -	.globl	__clone -	.type __clone,@function +	.globl	clone +	.type clone,@function  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */ -__clone: +clone:  	/* Sanity check arguments.  */  	cmp.p	gr8, gr0, icc0  	cmp	gr9, gr0, icc1 @@ -75,11 +75,8 @@ __clone:  	   breakpoints work.*/  	mov.p	gr17, gr15 -	call	_exit_internal +	call	HIDDEN_JUMPTARGET(_exit)  	/* Should never get here.  */  	jmpl	@(gr0, gr0) -	.size	__clone,.-__clone - -.weak	clone -	clone = __clone +	.size	clone,.-clone diff --git a/libc/sysdeps/linux/frv/fstat.c b/libc/sysdeps/linux/frv/fstat.c index ce6b68e66..bf031bbbc 100644 --- a/libc/sysdeps/linux/frv/fstat.c +++ b/libc/sysdeps/linux/frv/fstat.c @@ -41,5 +41,7 @@  #include <bits/stat.h>  #define __NR___syscall_fstat __NR_fstat -_syscall2(int, __syscall_fstat, int, fd, struct stat *, buf); -strong_alias(__syscall_fstat, fstat) +attribute_hidden _syscall2(int, __syscall_fstat, int, fd, struct stat *, buf); +strong_alias(__syscall_fstat,fstat) +libc_hidden_proto(fstat) +libc_hidden_def(fstat) diff --git a/libc/sysdeps/linux/frv/fstat64.c b/libc/sysdeps/linux/frv/fstat64.c index 27000bf83..744c5915a 100644 --- a/libc/sysdeps/linux/frv/fstat64.c +++ b/libc/sysdeps/linux/frv/fstat64.c @@ -42,6 +42,8 @@  #if defined __UCLIBC_HAS_LFS__  #define __NR___syscall_fstat64 __NR_fstat64 -_syscall2(int, __syscall_fstat64, int, fd, struct stat64 *, buf); -strong_alias(__syscall_fstat64, fstat64) +attribute_hidden _syscall2(int, __syscall_fstat64, int, fd, struct stat64 *, buf); +strong_alias(__syscall_fstat64,fstat64) +libc_hidden_proto(fstat64) +libc_hidden_def(fstat64)  #endif diff --git a/libc/sysdeps/linux/frv/lstat.c b/libc/sysdeps/linux/frv/lstat.c index b9f0350c4..63c547c1b 100644 --- a/libc/sysdeps/linux/frv/lstat.c +++ b/libc/sysdeps/linux/frv/lstat.c @@ -41,5 +41,7 @@  #include <bits/stat.h>  #define __NR___syscall_lstat __NR_lstat -_syscall2(int, __syscall_lstat, const char *, file_name, struct stat *, buf); -strong_alias(__syscall_lstat, lstat) +attribute_hidden _syscall2(int, __syscall_lstat, const char *, file_name, struct stat *, buf); +strong_alias(__syscall_lstat,lstat) +libc_hidden_proto(lstat) +libc_hidden_def(lstat) diff --git a/libc/sysdeps/linux/frv/lstat64.c b/libc/sysdeps/linux/frv/lstat64.c index 8f9413a8d..ea8abf892 100644 --- a/libc/sysdeps/linux/frv/lstat64.c +++ b/libc/sysdeps/linux/frv/lstat64.c @@ -42,6 +42,8 @@  #if defined __UCLIBC_HAS_LFS__  #define __NR___syscall_lstat64 __NR_lstat64 -_syscall2(int, __syscall_lstat64, const char *, file_name, struct stat64 *, buf); -strong_alias(__syscall_lstat64, lstat64) +attribute_hidden _syscall2(int, __syscall_lstat64, const char *, file_name, struct stat64 *, buf); +strong_alias(__syscall_lstat64,lstat64) +libc_hidden_proto(lstat64) +libc_hidden_def(lstat64)  #endif diff --git a/libc/sysdeps/linux/frv/mmap.c b/libc/sysdeps/linux/frv/mmap.c index fa801bb5f..01dcfb627 100644 --- a/libc/sysdeps/linux/frv/mmap.c +++ b/libc/sysdeps/linux/frv/mmap.c @@ -38,7 +38,7 @@ static inline _syscall6(__ptr_t, __syscall_mmap2, __ptr_t, addr,  #  define MMAP2_PAGE_SHIFT 12  # endif -__ptr_t attribute_hidden __mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset) +__ptr_t mmap(__ptr_t addr, size_t len, int prot, int flags, int fd, __off_t offset)  {      if (offset & ((1 << MMAP2_PAGE_SHIFT) - 1)) {  	__set_errno (EINVAL); @@ -46,4 +46,5 @@ __ptr_t attribute_hidden __mmap(__ptr_t addr, size_t len, int prot, int flags, i      }      return(__syscall_mmap2(addr, len, prot, flags, fd, (off_t) (offset >> MMAP2_PAGE_SHIFT)));  } -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/frv/sbrk.c b/libc/sysdeps/linux/frv/sbrk.c index e9faf7db0..7ccefdf58 100644 --- a/libc/sysdeps/linux/frv/sbrk.c +++ b/libc/sysdeps/linux/frv/sbrk.c @@ -9,8 +9,8 @@ extern void * __curbrk;  extern int __init_brk (void);  extern void *_brk(void *ptr) attribute_hidden; -void attribute_hidden * -__sbrk(intptr_t increment) +void * +sbrk(intptr_t increment)  {      if (__init_brk () == 0)      { @@ -23,4 +23,5 @@ __sbrk(intptr_t increment)      }      return ((void *) -1);  } -strong_alias(__sbrk,sbrk) +libc_hidden_proto(sbrk) +libc_hidden_def(sbrk) diff --git a/libc/sysdeps/linux/frv/stat.c b/libc/sysdeps/linux/frv/stat.c index 4a54b130f..0d531e998 100644 --- a/libc/sysdeps/linux/frv/stat.c +++ b/libc/sysdeps/linux/frv/stat.c @@ -41,5 +41,7 @@  #include <bits/stat.h>  #define __NR___syscall_stat __NR_stat -_syscall2(int, __syscall_stat, const char *, file_name, struct stat *, buf); -strong_alias(__syscall_stat, stat) +attribute_hidden _syscall2(int, __syscall_stat, const char *, file_name, struct stat *, buf); +strong_alias(__syscall_stat,stat) +libc_hidden_proto(stat) +libc_hidden_def(stat) diff --git a/libc/sysdeps/linux/frv/stat64.c b/libc/sysdeps/linux/frv/stat64.c index ecfe808cc..3c702d885 100644 --- a/libc/sysdeps/linux/frv/stat64.c +++ b/libc/sysdeps/linux/frv/stat64.c @@ -42,6 +42,8 @@  #if defined __UCLIBC_HAS_LFS__  #define __NR___syscall_stat64 __NR_stat64 -_syscall2(int, __syscall_stat64, const char *, file_name, struct stat64 *, buf); -strong_alias(__syscall_stat64, stat64) +attribute_hidden _syscall2(int, __syscall_stat64, const char *, file_name, struct stat64 *, buf); +strong_alias(__syscall_stat64,stat64) +libc_hidden_proto(stat64) +libc_hidden_def(stat64)  #endif diff --git a/libc/sysdeps/linux/frv/vfork.S b/libc/sysdeps/linux/frv/vfork.S index b5ecc09af..9a70e22ac 100644 --- a/libc/sysdeps/linux/frv/vfork.S +++ b/libc/sysdeps/linux/frv/vfork.S @@ -24,11 +24,10 @@  #include <bits/errno.h>         .text -       .globl	__vfork -       .hidden	__vfork -       .type	__vfork,@function +       .globl	vfork +       .type	vfork,@function  /* int vfork(void) */ -__vfork: +vfork:  	setlos.p #__NR_vfork, gr7  	setlos	#-4096, gr4  	tra	gr0, gr0 @@ -41,6 +40,6 @@ __vfork:  	ldd	@(gr14, gr15), gr14  	jmpl	@(gr14, gr0) -       .size   __vfork,.-__vfork +       .size   vfork,.-vfork -strong_alias(__vfork,vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/h8300/brk.c b/libc/sysdeps/linux/h8300/brk.c index d69f9a2d3..0bba5de99 100644 --- a/libc/sysdeps/linux/h8300/brk.c +++ b/libc/sysdeps/linux/h8300/brk.c @@ -9,7 +9,7 @@  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk; @@ -31,4 +31,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/h8300/clone.S b/libc/sysdeps/linux/h8300/clone.S index 7d100b6c4..554a29703 100644 --- a/libc/sysdeps/linux/h8300/clone.S +++ b/libc/sysdeps/linux/h8300/clone.S @@ -19,9 +19,7 @@  .text  .globl	_clone -.globl	___clone  _clone: -___clone:  	/* Sanity check arguments.  */  	mov.l	#-EINVAL,er3  	mov.l	er0,er0			/* no NULL function pointers */ @@ -68,11 +66,3 @@ thread_start:  	mov.l	er0,er1  	mov.l	#__NR_exit,er0  	trapa	#0 - -#if defined(__HAVE_ELF__) -	.weak clone -	clone = __clone -#else -	.set clone,__clone -#endif - diff --git a/libc/sysdeps/linux/h8300/vfork.S b/libc/sysdeps/linux/h8300/vfork.S index e101bf5ed..94e946912 100644 --- a/libc/sysdeps/linux/h8300/vfork.S +++ b/libc/sysdeps/linux/h8300/vfork.S @@ -38,3 +38,4 @@ fix_errno:  	dec.l	#1,er0  	jmp	@er1                     /* don't return,  just jmp directly */ +libc_hidden_def(_vork) diff --git a/libc/sysdeps/linux/hppa/__longjmp.S b/libc/sysdeps/linux/hppa/__longjmp.S index 62026635f..750863e95 100644 --- a/libc/sysdeps/linux/hppa/__longjmp.S +++ b/libc/sysdeps/linux/hppa/__longjmp.S @@ -17,6 +17,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #define _SETJMP_H  #define _ASM  #include <bits/setjmp.h> @@ -69,3 +70,5 @@ __longjmp:  	bv,n	%r0(%r2)  	.procend + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/hppa/brk.c b/libc/sysdeps/linux/hppa/brk.c index f50360aa5..0ac8236c8 100644 --- a/libc/sysdeps/linux/hppa/brk.c +++ b/libc/sysdeps/linux/hppa/brk.c @@ -23,8 +23,8 @@  /* This must be initialized data because commons can't have aliases.  */  void *__curbrk = 0; -int attribute_hidden -__brk (void *addr) +int +brk (void *addr)  {    void *newbrk; @@ -38,4 +38,5 @@ __brk (void *addr)    return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/hppa/clone.S b/libc/sysdeps/linux/hppa/clone.S index 8395cdada..f6e5568d0 100644 --- a/libc/sysdeps/linux/hppa/clone.S +++ b/libc/sysdeps/linux/hppa/clone.S @@ -29,9 +29,9 @@  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */  .text -.global __clone -.type   __clone,%function -__clone: +.global clone +.type   clone,%function +clone:  	/* FIXME: I have no idea how profiling works on hppa. */  	/* Sanity check arguments.  */ @@ -90,13 +90,10 @@ thread_start:  	bl	$$dyncall,%r31  	copy	%r31,%rp -	bl	_exit_internal,%rp +	bl	HIDDEN_JUMPTARGET(_exit),%rp  	copy	%ret0,%arg0  	/* Die horribly.  */  	iitlbp	%r0,(%r0) -.size __clone,.-__clone - -.weak clone -	clone = __clone +.size clone,.-clone diff --git a/libc/sysdeps/linux/hppa/mmap.c b/libc/sysdeps/linux/hppa/mmap.c index f14f1b6f9..b69f0a2f2 100644 --- a/libc/sysdeps/linux/hppa/mmap.c +++ b/libc/sysdeps/linux/hppa/mmap.c @@ -13,7 +13,7 @@  #include <sys/mman.h>  #include <sys/syscall.h> -#define __NR___mmap __NR_mmap -attribute_hidden _syscall6(void *, __mmap, void *, start, size_t, length, int, prot, +_syscall6(void *, mmap, void *, start, size_t, length, int, prot,            int, flags, int, fd, off_t, offset); -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/i386/__longjmp.S b/libc/sysdeps/linux/i386/__longjmp.S index 52f53bb68..d73a7cda2 100644 --- a/libc/sysdeps/linux/i386/__longjmp.S +++ b/libc/sysdeps/linux/i386/__longjmp.S @@ -17,6 +17,7 @@     write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,     Boston, MA 02111-1307, USA.  */ +#include <features.h>  #define _ASM  #define _SETJMP_H  #include <bits/setjmp.h> @@ -38,3 +39,5 @@ __longjmp:  	/* Jump to saved PC.  */  	jmp *%edx  .size __longjmp,.-__longjmp + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/i386/brk.c b/libc/sysdeps/linux/i386/brk.c index 5790e2fca..cf7e19be8 100644 --- a/libc/sysdeps/linux/i386/brk.c +++ b/libc/sysdeps/linux/i386/brk.c @@ -25,7 +25,7 @@  /* This must be initialized data because commons can't have aliases.  */  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *__unbounded newbrk, *__unbounded scratch; @@ -46,4 +46,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/i386/clone.S b/libc/sysdeps/linux/i386/clone.S index 35a4e5b7f..14fc25ca1 100644 --- a/libc/sysdeps/linux/i386/clone.S +++ b/libc/sysdeps/linux/i386/clone.S @@ -42,9 +42,9 @@  #define CTID        TLS+PTR_SIZE  .text -.global __clone -.type   __clone,%function -__clone: +.global clone +.type   clone,%function +clone:  	/* Sanity check arguments.  */  	movl	$-EINVAL,%eax @@ -120,7 +120,4 @@ __clone:  __error:  	jmp __syscall_error -.size __clone,.-__clone - -.weak clone -	clone = __clone +.size clone,.-clone diff --git a/libc/sysdeps/linux/i386/mmap.S b/libc/sysdeps/linux/i386/mmap.S index 4c4723dff..fe7a7986c 100644 --- a/libc/sysdeps/linux/i386/mmap.S +++ b/libc/sysdeps/linux/i386/mmap.S @@ -21,13 +21,10 @@  #include <bits/errno.h>  #include <sys/syscall.h> -.global mmap -.set mmap,__mmap  .text -.global __mmap -.hidden __mmap -.type   __mmap,%function -__mmap: +.global mmap +.type   mmap,%function +mmap:  	/* Save registers.  */  	movl %ebx, %edx @@ -49,4 +46,6 @@ __mmap:  	/* Successful; return the syscall's value.  */  	ret -.size __mmap,.-__mmap +.size mmap,.-mmap + +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/i386/sigaction.c b/libc/sysdeps/linux/i386/sigaction.c index 335fc9a27..e3162ab46 100644 --- a/libc/sysdeps/linux/i386/sigaction.c +++ b/libc/sysdeps/linux/i386/sigaction.c @@ -29,6 +29,8 @@  #if defined __NR_rt_sigaction +libc_hidden_proto(memcpy) +  extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;  extern void restore (void) asm ("__restore") attribute_hidden; @@ -48,7 +50,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa      if (act) {  	kact.k_sa_handler = act->sa_handler; -	__memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask)); +	memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));  	kact.sa_flags = act->sa_flags;  	kact.sa_flags = act->sa_flags | SA_RESTORER; @@ -63,7 +65,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa      if (oact && result >= 0) {  	oact->sa_handler = koact.k_sa_handler; -	__memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (oact->sa_mask)); +	memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (oact->sa_mask));  	oact->sa_flags = koact.sa_flags;  	oact->sa_restorer = koact.sa_restorer;      } @@ -121,8 +123,9 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa  #endif  #ifndef LIBC_SIGACTION -hidden_weak_alias(__libc_sigaction,__sigaction) -weak_alias(__libc_sigaction,sigaction) +strong_alias(__libc_sigaction,sigaction) +libc_hidden_proto(sigaction) +libc_hidden_def(sigaction)  #endif diff --git a/libc/sysdeps/linux/i386/vfork.S b/libc/sysdeps/linux/i386/vfork.S index 18a8e5dfa..1f0e9d8ab 100644 --- a/libc/sysdeps/linux/i386/vfork.S +++ b/libc/sysdeps/linux/i386/vfork.S @@ -9,18 +9,17 @@  #ifndef __NR_vfork  /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) +strong_alias(fork,vfork) +strong_alias(vfork,__libc_fork)  #else  .text -.global __vfork -.hidden __vfork -.type   __vfork,%function +.global vfork +.type   vfork,%function  .align 1<<4 -__vfork: +vfork:  	popl %ecx  	movl $__NR_vfork,%eax  	int $0x80 @@ -29,6 +28,6 @@ __vfork:  	jae __syscall_error  	ret -.size __vfork,.-__vfork +.size vfork,.-vfork  #endif -strong_alias(__vfork,vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/m68k/__longjmp.S b/libc/sysdeps/linux/m68k/__longjmp.S index d218f2ef5..81079f48c 100644 --- a/libc/sysdeps/linux/m68k/__longjmp.S +++ b/libc/sysdeps/linux/m68k/__longjmp.S @@ -22,3 +22,4 @@ __longjmp:  	movel	%a0@(JB_PC), %sp@  	rts +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/m68k/brk.c b/libc/sysdeps/linux/m68k/brk.c index 4c33549cc..5204c7493 100644 --- a/libc/sysdeps/linux/m68k/brk.c +++ b/libc/sysdeps/linux/m68k/brk.c @@ -7,7 +7,7 @@  /* This must be initialized data because commons can't have aliases.  */  void * __curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk; @@ -28,4 +28,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/m68k/clone.S b/libc/sysdeps/linux/m68k/clone.S index 916488146..1c4176c3f 100644 --- a/libc/sysdeps/linux/m68k/clone.S +++ b/libc/sysdeps/linux/m68k/clone.S @@ -13,9 +13,9 @@  .text  .align 4 -.type	__clone,@function -.globl	__clone; -__clone: +.type	clone,@function +.globl	clone; +clone:  	/* Sanity check arguments.  */  	movel   #-EINVAL, %d0  	movel   4(%sp), %d1             /* no NULL function pointers */ @@ -73,10 +73,3 @@ thread_start:  	movel	#__NR_exit, %d0  	trap	#0  	/*jsr    exit*/ - -#if defined(__HAVE_ELF__) -	.weak clone -	clone = __clone -#else -	.set clone,__clone -#endif diff --git a/libc/sysdeps/linux/m68k/vfork.S b/libc/sysdeps/linux/m68k/vfork.S index e58b9e949..d5e26ddd2 100644 --- a/libc/sysdeps/linux/m68k/vfork.S +++ b/libc/sysdeps/linux/m68k/vfork.S @@ -11,13 +11,12 @@  	.text  	.align 2  	.globl errno -	.globl	__vfork +	.globl	vfork  #ifdef __HAVE_ELF__ -	.hidden	__vfork -	.type	__vfork,@function +	.type	vfork,@function  #endif -__vfork: +vfork:  	movl	%sp@+, %a1               /* save the return address for later */  	movl	IMM __NR_vfork,%d0  	trap	#0 @@ -36,5 +35,5 @@ fix_errno:  	movl	IMM -1, %d0  	jmp		%a1@                     /* don't return,  just jmp directly */ -.size __vfork,.-__vfork -strong_alias(__vfork,vfork) +.size vfork,.-vfork +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/microblaze/__longjmp.S b/libc/sysdeps/linux/microblaze/__longjmp.S index e87a6f6a3..a58418ae9 100644 --- a/libc/sysdeps/linux/microblaze/__longjmp.S +++ b/libc/sysdeps/linux/microblaze/__longjmp.S @@ -45,3 +45,5 @@ C_END(__longjmp)  .weak C_SYMBOL_NAME(__sigprocmask)  C_SYMBOL_NAME(__sigprocmask) = C_SYMBOL_NAME(sigprocmask) + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/microblaze/longjmp.S b/libc/sysdeps/linux/microblaze/longjmp.S index 2d9adebe5..1d0b9b2b6 100644 --- a/libc/sysdeps/linux/microblaze/longjmp.S +++ b/libc/sysdeps/linux/microblaze/longjmp.S @@ -51,3 +51,5 @@ C_SYMBOL_NAME(siglongjmp) = C_SYMBOL_NAME(__longjmp)  .weak C_SYMBOL_NAME(__sigprocmask)  C_SYMBOL_NAME(__sigprocmask) = C_SYMBOL_NAME(sigprocmask) + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/microblaze/mmap.c b/libc/sysdeps/linux/microblaze/mmap.c index fbfcca3a8..592161789 100644 --- a/libc/sysdeps/linux/microblaze/mmap.c +++ b/libc/sysdeps/linux/microblaze/mmap.c @@ -7,3 +7,5 @@  _syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot,  	   int, flags, int, fd, __off_t, offset); +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/microblaze/vfork.S b/libc/sysdeps/linux/microblaze/vfork.S index e264d36f9..b641fedf1 100644 --- a/libc/sysdeps/linux/microblaze/vfork.S +++ b/libc/sysdeps/linux/microblaze/vfork.S @@ -27,7 +27,7 @@  .global C_SYMBOL_NAME(errno) -C_ENTRY (__vfork): +C_ENTRY (vfork):  	addi	r12, r0, SYS_vfork  	bralid	r17, 0x08;  	nop @@ -39,7 +39,6 @@ C_ENTRY (__vfork):  	swi	r3, r0, C_SYMBOL_NAME(errno);  	rtsd	r15, 8			// error return  	nop -C_END(__vfork) +C_END(vfork) -.weak	C_SYMBOL_NAME(vfork) -C_SYMBOL_NAME(vfork) = C_SYMBOL_NAME(__vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/mips/__longjmp.c b/libc/sysdeps/linux/mips/__longjmp.c index 5be2e974b..fb042218b 100644 --- a/libc/sysdeps/linux/mips/__longjmp.c +++ b/libc/sysdeps/linux/mips/__longjmp.c @@ -82,3 +82,5 @@ void __longjmp (__jmp_buf env, int val_arg)      /* Avoid `volatile function does return' warnings.  */      for (;;);  } +libc_hidden_proto(__longjmp) +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/mips/brk.c b/libc/sysdeps/linux/mips/brk.c index ba6765ca7..29479f621 100644 --- a/libc/sysdeps/linux/mips/brk.c +++ b/libc/sysdeps/linux/mips/brk.c @@ -23,7 +23,7 @@  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {    void *newbrk; @@ -48,4 +48,5 @@ int attribute_hidden __brk (void *addr)    return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/mips/clone.S b/libc/sysdeps/linux/mips/clone.S index 9c12075b3..f3b3aadb2 100644 --- a/libc/sysdeps/linux/mips/clone.S +++ b/libc/sysdeps/linux/mips/clone.S @@ -29,12 +29,12 @@  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg) */  	.text -.globl   __clone ; +.globl   clone ;  	.align       2; -	.type         __clone,@function; -	.ent        __clone, 0; +	.type         clone,@function; +	.ent        clone, 0; -__clone: +clone:  	.frame	    sp, 4*SZREG, sp  #ifdef __PIC__  	.set		noreorder @@ -106,8 +106,5 @@ __thread_start:  	/* Call _exit rather than doing it inline for breakpoint purposes.  */  	move		a0,v0 -	jal		_exit_internal +	jal		HIDDEN_JUMPTARGET(_exit)  	.end  __thread_start - -.weak clone; -	clone = __clone diff --git a/libc/sysdeps/linux/mips/mmap.c b/libc/sysdeps/linux/mips/mmap.c index 25a3ef5bd..125523eef 100644 --- a/libc/sysdeps/linux/mips/mmap.c +++ b/libc/sysdeps/linux/mips/mmap.c @@ -14,7 +14,7 @@  #endif  #endif -#define __NR___mmap __NR_mmap -attribute_hidden _syscall6 (__ptr_t, __mmap, __ptr_t, addr, size_t, len, int, prot, +_syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot,  	   int, flags, int, fd, __off_t, offset); -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/mips/pipe.S b/libc/sysdeps/linux/mips/pipe.S index fb8f7ef7f..b5664f791 100644 --- a/libc/sysdeps/linux/mips/pipe.S +++ b/libc/sysdeps/linux/mips/pipe.S @@ -8,10 +8,8 @@  #include <asm/regdef.h>  	.globl	pipe -        .globl  __pipe -	.hidden	__pipe -        .ent    __pipe, 0 -__pipe: +        .ent    pipe, 0 +pipe:          addiu   sp,sp,-24          sw      a0,16(sp)          li      v0,__NR_pipe @@ -29,6 +27,5 @@ __pipe:  2:          addiu   sp,sp,24          j       ra -        .end    __pipe -        .size   __pipe,.-__pipe -	.weak	pipe; pipe = __pipe +        .end    pipe +        .size   pipe,.-pipe diff --git a/libc/sysdeps/linux/mips/pipe.c b/libc/sysdeps/linux/mips/pipe.c index fbc73b489..65e335964 100644 --- a/libc/sysdeps/linux/mips/pipe.c +++ b/libc/sysdeps/linux/mips/pipe.c @@ -6,7 +6,7 @@  #include <unistd.h>  #include <syscall.h> -int attribute_hidden __pipe(int *fd) +int pipe(int *fd)  {      register long int res __asm__ ("$2"); // v0      register long int res2 __asm__ ("$3"); // v1 @@ -21,4 +21,3 @@ int attribute_hidden __pipe(int *fd)  	fd[1] = res2;  	return(0);  } -strong_alias(__pipe,pipe) diff --git a/libc/sysdeps/linux/mips/pread_write.c b/libc/sysdeps/linux/mips/pread_write.c index 5baba30d2..4ee81d4d9 100644 --- a/libc/sysdeps/linux/mips/pread_write.c +++ b/libc/sysdeps/linux/mips/pread_write.c @@ -60,7 +60,7 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {   	return(__syscall_pread(fd,buf,count,0,__LONG_LONG_PAIR(offset>>31,offset)));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) @@ -69,7 +69,7 @@ ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* !__mips64 */ @@ -97,7 +97,7 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  {   	return(__syscall_pwrite(fd,buf,count,0,__LONG_LONG_PAIR(offset>>31,offset)));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset) @@ -106,7 +106,7 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* !__mips64 */  #endif /* __NR_pwrite */ diff --git a/libc/sysdeps/linux/mips/sigaction.c b/libc/sysdeps/linux/mips/sigaction.c index b2982678b..5e2d6ccde 100644 --- a/libc/sysdeps/linux/mips/sigaction.c +++ b/libc/sysdeps/linux/mips/sigaction.c @@ -30,6 +30,8 @@  #if defined __NR_rt_sigaction +libc_hidden_proto(memcpy) +  /* If ACT is not NULL, change the action for SIG to *ACT.     If OACT is not NULL, put the old action for SIG in *OACT.  */  int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact) @@ -39,7 +41,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa      if (act) {  	kact.k_sa_handler = act->sa_handler; -	__memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask)); +	memcpy (&kact.sa_mask, &act->sa_mask, sizeof (kact.sa_mask));  	kact.sa_flags = act->sa_flags;  # ifdef HAVE_SA_RESTORER  #  if _MIPS_SIM == _ABIO32 @@ -57,7 +59,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa      if (oact && result >= 0) {  	oact->sa_handler = koact.k_sa_handler; -	__memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (oact->sa_mask)); +	memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (oact->sa_mask));  	oact->sa_flags = koact.sa_flags;  # ifdef HAVE_SA_RESTORER  	oact->sa_restorer = koact.sa_restorer; @@ -112,6 +114,7 @@ int __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oa  #endif  #ifndef LIBC_SIGACTION -hidden_weak_alias(__libc_sigaction,__sigaction) -weak_alias(__libc_sigaction,sigaction) +strong_alias(__libc_sigaction,sigaction) +libc_hidden_proto(sigaction) +libc_hidden_def(sigaction)  #endif diff --git a/libc/sysdeps/linux/nios/__longjmp.S b/libc/sysdeps/linux/nios/__longjmp.S index 1b4fa6a56..d7d1cdd86 100644 --- a/libc/sysdeps/linux/nios/__longjmp.S +++ b/libc/sysdeps/linux/nios/__longjmp.S @@ -100,10 +100,4 @@ __longjmp_done:  	jmp	%o7		; and kinda return there.  	mov	%o0,%g1		; (delay slot) return value - - - - - - - +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/nios/brk.c b/libc/sysdeps/linux/nios/brk.c index 2e785b734..9c9f2d80f 100644 --- a/libc/sysdeps/linux/nios/brk.c +++ b/libc/sysdeps/linux/nios/brk.c @@ -25,7 +25,7 @@  /* This must be initialized data because commons can't have aliases.  */  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk;      register int g1 asm("%g1") = __NR_brk; @@ -42,4 +42,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/nios/clone.S b/libc/sysdeps/linux/nios/clone.S index c4799c5b2..39eb54035 100644 --- a/libc/sysdeps/linux/nios/clone.S +++ b/libc/sysdeps/linux/nios/clone.S @@ -28,10 +28,10 @@  	.text  	.align	2 -	.globl	__clone -	.type	__clone,@function +	.globl	clone +	.type	clone,@function -__clone: +clone:  	save	%sp,-16  	MOVIP	%l0, -EINVAL @@ -74,7 +74,7 @@ CLONE_ERROR_LABEL:  	ret  	 restore -	.size	__clone, .-__clone +	.size	clone, .-clone  	.type	__thread_start,@function @@ -86,6 +86,3 @@ __thread_start:  	 nop  	.size	__thread_start, .-__thread_start - -.weak clone -    clone = __clone diff --git a/libc/sysdeps/linux/nios/vfork.S b/libc/sysdeps/linux/nios/vfork.S index cf95c5a34..3ac3da9b3 100644 --- a/libc/sysdeps/linux/nios/vfork.S +++ b/libc/sysdeps/linux/nios/vfork.S @@ -22,11 +22,11 @@     .text     .align 2 -   .globl __vfork +   .globl vfork  #if defined __HAVE_ELF__ -   .type    __vfork,@function +   .type  vfork,@function  #endif -__vfork: +vfork:  	MOVIP	%g1, __NR_vfork  	trap	63 @@ -50,5 +50,5 @@ fix_errno:  	ret  	restore -.size __vfork,.-__vfork -strong_alias(__vfork,vfork) +.size vfork,.-vfork +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/nios2/__longjmp.S b/libc/sysdeps/linux/nios2/__longjmp.S index 96eeaadc0..4b6508e5d 100644 --- a/libc/sysdeps/linux/nios2/__longjmp.S +++ b/libc/sysdeps/linux/nios2/__longjmp.S @@ -47,3 +47,4 @@ __longjmp:      ret  .size __longjmp,.-__longjmp +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/nios2/brk.c b/libc/sysdeps/linux/nios2/brk.c index e5a4c5d07..921cd771b 100644 --- a/libc/sysdeps/linux/nios2/brk.c +++ b/libc/sysdeps/linux/nios2/brk.c @@ -26,7 +26,7 @@  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk;      register int r2 asm("r2") = TRAP_ID_SYSCALL; @@ -44,4 +44,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/nios2/clone.S b/libc/sysdeps/linux/nios2/clone.S index ba514c40b..4afcb7d75 100644 --- a/libc/sysdeps/linux/nios2/clone.S +++ b/libc/sysdeps/linux/nios2/clone.S @@ -18,10 +18,10 @@  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */  .text -.global __clone -.type __clone,%function +.global clone +.type   clone,%function  .align 4 -__clone: +clone:  	addi    sp,sp,-8  	mov     r8,r4  	stw     ra,4(sp) @@ -65,9 +65,6 @@ CLONE_OK:  	addi    sp,sp,8  	ret -.size __clone,.-__clone - -.weak clone -	clone = __clone +.size clone,.-clone  #endif diff --git a/libc/sysdeps/linux/nios2/vfork.S b/libc/sysdeps/linux/nios2/vfork.S index fa7ff9916..f8b3179d0 100644 --- a/libc/sysdeps/linux/nios2/vfork.S +++ b/libc/sysdeps/linux/nios2/vfork.S @@ -18,11 +18,10 @@  #ifdef __NR_fork  .text -.global	__vfork -.hidden	__vfork -.type	__vfork,%function +.global	vfork +.type	vfork,%function  .align 4 -__vfork: +vfork:      movui   r2, TRAP_ID_SYSCALL      movui   r3, __NR_vfork      trap @@ -48,6 +47,6 @@ fix_errno:      addi  sp, sp, 8      ret -.size __vfork,.-__vfork -strong_alias(__vfork,vfork) +.size vfork,.-vfork +libc_hidden_def(vfork)  #endif diff --git a/libc/sysdeps/linux/powerpc/__longjmp.S b/libc/sysdeps/linux/powerpc/__longjmp.S index 874354e5a..83f094c15 100644 --- a/libc/sysdeps/linux/powerpc/__longjmp.S +++ b/libc/sysdeps/linux/powerpc/__longjmp.S @@ -80,3 +80,5 @@ FP(	lfd fp31,((JB_FPRS+17*2)*4)(r3))  	mr r3,r4  	blr  .size     __longjmp,.-__longjmp + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/powerpc/brk.S b/libc/sysdeps/linux/powerpc/brk.S index b718c0de4..bf42784cb 100644 --- a/libc/sysdeps/linux/powerpc/brk.S +++ b/libc/sysdeps/linux/powerpc/brk.S @@ -17,6 +17,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #include "ppc_asm.h"  #define _ERRNO_H	1  #include <bits/errno.h> @@ -25,12 +26,11 @@  #ifdef __NR_brk  	.comm	__curbrk,4,4  	.text -	.globl	__brk -	.hidden	__brk -	.type	__brk,@function +	.globl	brk +	.type	brk,@function  	.align	2 -__brk: +brk:  	stwu    r1,-16(r1)  	stw	r3,8(r1)  	li 0, __NR_brk;    @@ -55,8 +55,7 @@ __brk:  	b	__syscall_error -	.size __brk,.-__brk +	.size brk,.-brk -	.weak brk -	brk=__brk         +libc_hidden_def(brk)  #endif	 diff --git a/libc/sysdeps/linux/powerpc/clone.S b/libc/sysdeps/linux/powerpc/clone.S index 9e8a1ca53..b5b4d17a2 100644 --- a/libc/sysdeps/linux/powerpc/clone.S +++ b/libc/sysdeps/linux/powerpc/clone.S @@ -30,11 +30,11 @@     		  int flags [r5], void *arg [r6]); */  #ifdef __NR_clone -	.globl __clone -	.type __clone,@function +	.globl clone +	.type clone,@function  	.align 2 -__clone: +clone:  	/* Check for child_stack == NULL || fn == NULL.  */  	cmpwi	cr0,r4,0  	cmpwi	cr1,r3,0 @@ -78,7 +78,7 @@ __clone:  	mr	r3,r31  	bctrl  	/* Call _exit with result from procedure.  */ -	b	_exit_internal +	b	HIDDEN_JUMPTARGET(_exit)  .Lparent:  	/* Parent.  Restore registers & return.  */ @@ -93,7 +93,5 @@ __clone:  	b	__syscall_error -	.size __clone,.-__clone -	.weak clone -	clone=__clone +	.size clone,.-clone  #endif diff --git a/libc/sysdeps/linux/powerpc/ioctl.c b/libc/sysdeps/linux/powerpc/ioctl.c index bb8842bb6..211bb3b25 100644 --- a/libc/sysdeps/linux/powerpc/ioctl.c +++ b/libc/sysdeps/linux/powerpc/ioctl.c @@ -16,15 +16,15 @@     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>  #include <sys/ioctl.h>  #include <sys/syscall.h> +libc_hidden_proto(tcsetattr) +libc_hidden_proto(tcgetattr) +  /* The user-visible size of struct termios has changed.  Catch ioctl calls     using the new-style struct termios, and translate them to old-style.  */ @@ -33,7 +33,7 @@ static inline  _syscall3(int, __syscall_ioctl, int, fd, unsigned long int, request, void *, arg); -int attribute_hidden __ioctl (int fd, unsigned long int request, ...) +int ioctl (int fd, unsigned long int request, ...)  {      void *arg;      va_list ap; @@ -69,4 +69,5 @@ int attribute_hidden __ioctl (int fd, unsigned long int request, ...)      return result;  } -strong_alias(__ioctl,ioctl) +libc_hidden_proto(ioctl) +libc_hidden_def(ioctl) diff --git a/libc/sysdeps/linux/powerpc/mmap.c b/libc/sysdeps/linux/powerpc/mmap.c index cac08ba65..8003c8bbc 100644 --- a/libc/sysdeps/linux/powerpc/mmap.c +++ b/libc/sysdeps/linux/powerpc/mmap.c @@ -10,7 +10,7 @@  	return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0), \  	       (type) __sc_ret -void attribute_hidden * __mmap(void *start, size_t length, int prot, int flags, int fd, +void * mmap(void *start, size_t length, int prot, int flags, int fd,  	off_t offset)  {  	unsigned long __sc_ret, __sc_err; @@ -45,4 +45,5 @@ void attribute_hidden * __mmap(void *start, size_t length, int prot, int flags,  	__syscall_return (void *);  } -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/powerpc/pread_write.c b/libc/sysdeps/linux/powerpc/pread_write.c index 8115d4d01..1cf7f690b 100644 --- a/libc/sysdeps/linux/powerpc/pread_write.c +++ b/libc/sysdeps/linux/powerpc/pread_write.c @@ -33,7 +33,6 @@  # undef __USE_FILE_OFFSET64  #endif -  #include <errno.h>  #include <sys/types.h>  #include <sys/syscall.h> @@ -52,14 +51,14 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {   	return(__syscall_pread(fd, buf, count, (off64_t)offset));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)  {   	return(__syscall_pread(fd, buf, count, offset));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pread */ @@ -73,20 +72,25 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  {   	return(__syscall_pwrite(fd, buf, count, (off64_t)offset));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)  {   	return(__syscall_pwrite(fd, buf, count, offset));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pwrite */  #if ! defined __NR_pread || ! defined __NR_pwrite +libc_hidden_proto(lseek) +libc_hidden_proto(lseek64) +libc_hidden_proto(read) +libc_hidden_proto(write) +  static ssize_t __fake_pread_write(int fd, void *buf,   		size_t count, off_t offset, int do_pwrite)  { @@ -96,11 +100,11 @@ static ssize_t __fake_pread_write(int fd, void *buf,  	/* Since we must not change the file pointer preserve the   	 * value so that we can restore it later.  */ -	if ((old_offset=__lseek(fd, 0, SEEK_CUR)) == (off_t) -1) +	if ((old_offset=lseek(fd, 0, SEEK_CUR)) == (off_t) -1)  		return -1;  	/* Set to wanted position.  */ -	if (__lseek (fd, offset, SEEK_SET) == (off_t) -1) +	if (lseek (fd, offset, SEEK_SET) == (off_t) -1)  		return -1;  	if (do_pwrite==1) { @@ -114,7 +118,7 @@ static ssize_t __fake_pread_write(int fd, void *buf,  	/* Now we have to restore the position.  If this fails we   	 * have to return this as an error.  */  	save_errno = errno; -	if (__lseek(fd, old_offset, SEEK_SET) == (off_t) -1) +	if (lseek(fd, old_offset, SEEK_SET) == (off_t) -1)  	{  		if (result == -1)  			__set_errno(save_errno); @@ -134,11 +138,11 @@ static ssize_t __fake_pread_write64(int fd, void *buf,  	/* Since we must not change the file pointer preserve the   	 * value so that we can restore it later.  */ -	if ((old_offset=__lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1) +	if ((old_offset=lseek64(fd, 0, SEEK_CUR)) == (off64_t) -1)  		return -1;  	/* Set to wanted position.  */ -	if (__lseek64(fd, offset, SEEK_SET) == (off64_t) -1)  +	if (lseek64(fd, offset, SEEK_SET) == (off64_t) -1)   		return -1;                                 	if (do_pwrite==1) { @@ -151,7 +155,7 @@ static ssize_t __fake_pread_write64(int fd, void *buf,  	/* Now we have to restore the position. */  	save_errno = errno; -	if (__lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) { +	if (lseek64 (fd, old_offset, SEEK_SET) == (off64_t) -1) {  		if (result == -1)  			__set_errno (save_errno);  		return -1; @@ -167,14 +171,14 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {  	return(__fake_pread_write(fd, buf, count, offset, 0));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)  {   	return(__fake_pread_write64(fd, buf, count, offset, 0));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* ! __NR_pread */ @@ -184,14 +188,13 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  {  	return(__fake_pread_write(fd, buf, count, offset, 1));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)  {   	return(__fake_pread_write64(fd, (void*)buf, count, offset, 1));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* ! __NR_pwrite */ - diff --git a/libc/sysdeps/linux/powerpc/vfork.S b/libc/sysdeps/linux/powerpc/vfork.S index 7cf5eaa16..5b4bcc069 100644 --- a/libc/sysdeps/linux/powerpc/vfork.S +++ b/libc/sysdeps/linux/powerpc/vfork.S @@ -4,23 +4,22 @@  #ifndef __NR_vfork  /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) +strong_alias(fork,vfork) +strong_alias(vfork,__libc_fork)  #else  .text -.global __vfork -.hidden	__vfork -.type   __vfork,@function +.global vfork +.type   vfork,@function  .type   __syscall_error,@function -__vfork: +vfork:  	li	0, __NR_vfork  	sc  	bnslr+  	b	__syscall_error -.size __vfork,.-__vfork +.size vfork,.-vfork  #endif -strong_alias(__vfork,vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/powerpc/vfork.c b/libc/sysdeps/linux/powerpc/vfork.c index 39f992513..92e9f8d63 100644 --- a/libc/sysdeps/linux/powerpc/vfork.c +++ b/libc/sysdeps/linux/powerpc/vfork.c @@ -9,7 +9,7 @@  	return (__sc_err & 0x10000000 ? errno = __sc_ret, __sc_ret = -1 : 0), \  	       (type) __sc_ret -pid_t attribute_hidden __vfork(void) +pid_t vfork(void)  {  	unsigned long __sc_ret, __sc_err;  	register unsigned long __sc_0 __asm__ ("r0"); @@ -46,4 +46,5 @@ pid_t attribute_hidden __vfork(void)  	__syscall_return (pid_t);  } -strong_alias(__vfork,vfork) +libc_hidden_proto(vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/sh/__longjmp.S b/libc/sysdeps/linux/sh/__longjmp.S index 9e310a283..a9a7cba8a 100644 --- a/libc/sysdeps/linux/sh/__longjmp.S +++ b/libc/sysdeps/linux/sh/__longjmp.S @@ -61,7 +61,8 @@ __longjmp:  	rts  	 ldc.l	@r4+, gbr  #endif		 -.size __longjmp,.-__longjmp; +.size __longjmp,.-__longjmp +libc_hidden_def(__longjmp)  .weak __sigprocmask  __sigprocmask = sigprocmask diff --git a/libc/sysdeps/linux/sh/brk.c b/libc/sysdeps/linux/sh/brk.c index d6063fc27..443c03b25 100644 --- a/libc/sysdeps/linux/sh/brk.c +++ b/libc/sysdeps/linux/sh/brk.c @@ -9,7 +9,7 @@ extern void * __curbrk;  extern int __init_brk (void);  extern void *_brk(void *ptr) attribute_hidden; -int attribute_hidden __brk(void * end_data_seg) +int brk(void * end_data_seg)  {      if (__init_brk () == 0)      { @@ -20,4 +20,5 @@ int attribute_hidden __brk(void * end_data_seg)      }      return -1;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/sh/clone.S b/libc/sysdeps/linux/sh/clone.S index 7824d4771..80c623b81 100644 --- a/libc/sysdeps/linux/sh/clone.S +++ b/libc/sysdeps/linux/sh/clone.S @@ -38,9 +38,9 @@  .text  .align 4 -.type	__clone,@function -.globl	__clone; -__clone: +.type	clone,@function +.globl	clone; +clone:  	/* sanity check arguments.  */  	tst	r4, r4  	bt	0f @@ -118,10 +118,7 @@ __clone:  #endif  	.align	2  .L1: -	.long	PLTJMP(_exit_internal) -.size __clone,.-__clone; - -.globl  clone; -    clone = __clone +	.long	PLTJMP( HIDDEN_JUMPTARGET(_exit)) +.size clone,.-clone;  #include "syscall_error.S" diff --git a/libc/sysdeps/linux/sh/longjmp.c b/libc/sysdeps/linux/sh/longjmp.c index ee3afcd74..7c729564a 100644 --- a/libc/sysdeps/linux/sh/longjmp.c +++ b/libc/sysdeps/linux/sh/longjmp.c @@ -25,6 +25,7 @@  #include <signal.h>  extern int __longjmp(char *env, int val); +libc_hidden_proto(__longjmp)  /* Set the signal mask to the one specified in ENV, and jump     to the position specified in ENV, causing the setjmp diff --git a/libc/sysdeps/linux/sh/mmap.c b/libc/sysdeps/linux/sh/mmap.c index 5424942b6..cefc532a2 100644 --- a/libc/sysdeps/linux/sh/mmap.c +++ b/libc/sysdeps/linux/sh/mmap.c @@ -31,6 +31,6 @@  #include <sys/syscall.h> -#define __NR___mmap __NR_mmap -attribute_hidden _syscall6(__ptr_t, __mmap, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, offset); -strong_alias(__mmap,mmap) +_syscall6(__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot, int, flags, int, fd, __off_t, offset); +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/sh/pipe.c b/libc/sysdeps/linux/sh/pipe.c index a15034599..bfa54b7c9 100644 --- a/libc/sysdeps/linux/sh/pipe.c +++ b/libc/sysdeps/linux/sh/pipe.c @@ -5,7 +5,7 @@  #include <unistd.h>  #include <syscall.h> -int attribute_hidden __pipe(int *fd) +int pipe(int *fd)  {  	long __res, __res2;  	__asm__ __volatile__ ( @@ -27,4 +27,3 @@ int attribute_hidden __pipe(int *fd)  	fd[1] = __res2;  	return(0);  } -strong_alias(__pipe,pipe) diff --git a/libc/sysdeps/linux/sh/pread_write.c b/libc/sysdeps/linux/sh/pread_write.c index 55b234855..23454e035 100644 --- a/libc/sysdeps/linux/sh/pread_write.c +++ b/libc/sysdeps/linux/sh/pread_write.c @@ -58,7 +58,7 @@ ssize_t __libc_pread(int fd, void *buf, size_t count, off_t offset)  {   	return(__syscall_pread(fd,buf,count,0,__LONG_LONG_PAIR((off_t)0,offset)));  } -weak_alias (__libc_pread, pread) +strong_alias(__libc_pread,pread)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset) @@ -67,7 +67,7 @@ ssize_t __libc_pread64(int fd, void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pread(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pread64, pread64) +strong_alias(__libc_pread64,pread64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pread */ @@ -91,7 +91,7 @@ ssize_t __libc_pwrite(int fd, const void *buf, size_t count, off_t offset)  {   	return(__syscall_pwrite(fd,buf,count,0,__LONG_LONG_PAIR((off_t)0,offset)));  } -weak_alias (__libc_pwrite, pwrite) +strong_alias(__libc_pwrite,pwrite)  #if defined __UCLIBC_HAS_LFS__   ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset) @@ -100,7 +100,7 @@ ssize_t __libc_pwrite64(int fd, const void *buf, size_t count, off64_t offset)      uint32_t high = offset >> 32;  	return(__syscall_pwrite(fd, buf, count, 0, __LONG_LONG_PAIR (high, low)));  } -weak_alias (__libc_pwrite64, pwrite64) +strong_alias(__libc_pwrite64,pwrite64)  #endif /* __UCLIBC_HAS_LFS__  */  #endif /* __NR_pwrite */ diff --git a/libc/sysdeps/linux/sh/sbrk.c b/libc/sysdeps/linux/sh/sbrk.c index e9faf7db0..7ccefdf58 100644 --- a/libc/sysdeps/linux/sh/sbrk.c +++ b/libc/sysdeps/linux/sh/sbrk.c @@ -9,8 +9,8 @@ extern void * __curbrk;  extern int __init_brk (void);  extern void *_brk(void *ptr) attribute_hidden; -void attribute_hidden * -__sbrk(intptr_t increment) +void * +sbrk(intptr_t increment)  {      if (__init_brk () == 0)      { @@ -23,4 +23,5 @@ __sbrk(intptr_t increment)      }      return ((void *) -1);  } -strong_alias(__sbrk,sbrk) +libc_hidden_proto(sbrk) +libc_hidden_def(sbrk) diff --git a/libc/sysdeps/linux/sh/vfork.S b/libc/sysdeps/linux/sh/vfork.S index f3c20a9d6..5c6a356e6 100644 --- a/libc/sysdeps/linux/sh/vfork.S +++ b/libc/sysdeps/linux/sh/vfork.S @@ -32,12 +32,11 @@     and the process ID of the new process to the old process.  */  .text -.globl	__vfork -.hidden	__vfork -.type	__vfork,@function +.globl	vfork +.type	vfork,@function  .align 4 -__vfork: +vfork:  	mov.w	.L2, r3  	trapa	#0x10  	mov     r0, r1 @@ -107,8 +106,7 @@ __vfork:  .L3:  	.word	__NR_fork -.size   __vfork, .-__vfork -strong_alias(__vfork,vfork) +.size   vfork, .-vfork +libc_hidden_def(vfork)  #include "syscall_error.S" - diff --git a/libc/sysdeps/linux/sh64/brk.c b/libc/sysdeps/linux/sh64/brk.c index d6063fc27..443c03b25 100644 --- a/libc/sysdeps/linux/sh64/brk.c +++ b/libc/sysdeps/linux/sh64/brk.c @@ -9,7 +9,7 @@ extern void * __curbrk;  extern int __init_brk (void);  extern void *_brk(void *ptr) attribute_hidden; -int attribute_hidden __brk(void * end_data_seg) +int brk(void * end_data_seg)  {      if (__init_brk () == 0)      { @@ -20,4 +20,5 @@ int attribute_hidden __brk(void * end_data_seg)      }      return -1;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/sparc/__longjmp.S b/libc/sysdeps/linux/sparc/__longjmp.S index 06828e61e..fa60264ef 100644 --- a/libc/sysdeps/linux/sparc/__longjmp.S +++ b/libc/sysdeps/linux/sparc/__longjmp.S @@ -16,6 +16,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #include <sys/syscall.h>  #define _ASM 1 @@ -83,3 +84,5 @@ __longjmp:  	 mov %g2, %o0		/* Delay slot: set return value.  */  .size __longjmp,.-__longjmp + +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/sparc/brk.c b/libc/sysdeps/linux/sparc/brk.c index 9e178e34f..21464f740 100644 --- a/libc/sysdeps/linux/sparc/brk.c +++ b/libc/sysdeps/linux/sparc/brk.c @@ -26,7 +26,7 @@  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {      void *newbrk; @@ -47,4 +47,5 @@ int attribute_hidden __brk (void *addr)      return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/sparc/clone.S b/libc/sysdeps/linux/sparc/clone.S index e9e6b17dd..0e41ee0cb 100644 --- a/libc/sysdeps/linux/sparc/clone.S +++ b/libc/sysdeps/linux/sparc/clone.S @@ -20,16 +20,17 @@  /* clone() is even more special than fork() as it mucks with stacks     and invokes a function in the right context after its all over.  */ +#include <features.h>  #include <asm/unistd.h>  /* int clone(int (*fn)(void *arg), void *child_stack, int flags, void *arg); */  .text -.global __clone -.type   __clone,%function +.global clone +.type   clone,%function  .align 4 -__clone: +clone:  	save	%sp,-96,%sp  	/* sanity check arguments */ @@ -52,17 +53,14 @@ __clone:  __error:  	jmp __syscall_error -.size __clone,.-__clone +.size clone,.-clone  .type __thread_start,%function  __thread_start:  	call	%i0  	mov	%i3,%o0 -	call	_exit_internal,0 +	call	HIDDEN_JUMPTARGET(_exit),0  	nop  .size __thread_start,.-__thread_start - -.weak clone -	clone = __clone diff --git a/libc/sysdeps/linux/sparc/fork.S b/libc/sysdeps/linux/sparc/fork.S index dfa109dcd..f726e5aef 100644 --- a/libc/sysdeps/linux/sparc/fork.S +++ b/libc/sysdeps/linux/sparc/fork.S @@ -23,12 +23,11 @@  #include <sys/syscall.h>  .text -.global	__fork -.hidden	__fork -.type	__fork,%function +.global	fork +.type	fork,%function  .align 4 -__fork: +fork:  	mov __NR_fork, %g1  	ta	0x10  	bcc,a	9000f @@ -45,6 +44,6 @@ __fork:  	retl  	and	%o0, %o1, %o0 -.size __fork,.-__fork -strong_alias(__fork,fork) -weak_alias(fork,__libc_fork) +.size fork,.-fork +libc_hidden_def(fork) +strong_alias(fork,__libc_fork) diff --git a/libc/sysdeps/linux/sparc/vfork.S b/libc/sysdeps/linux/sparc/vfork.S index ad6b97e96..b509f65a4 100644 --- a/libc/sysdeps/linux/sparc/vfork.S +++ b/libc/sysdeps/linux/sparc/vfork.S @@ -25,18 +25,17 @@  #ifndef __NR_vfork  /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) +strong_alias(fork,vfork) +strong_alias(vfork,__libc_fork)  #else  .text -.global	__vfork -.hidden	__vfork -.type	__vfork,%function +.global	vfork +.type	vfork,%function  .align 4 -__vfork: +vfork:  	mov __NR_vfork, %g1  	ta	0x10  	bcc,a	9000f @@ -53,6 +52,6 @@ __vfork:  	retl  	and	%o0, %o1, %o0 -.size __vfork,.-__vfork +.size vfork,.-vfork  #endif /* __NR_vfork */ -strong_alias(__vfork,vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/v850/__longjmp.S b/libc/sysdeps/linux/v850/__longjmp.S index f91086189..98d99bc1e 100644 --- a/libc/sysdeps/linux/v850/__longjmp.S +++ b/libc/sysdeps/linux/v850/__longjmp.S @@ -11,6 +11,7 @@   * Written by Miles Bader <miles@gnu.org>   */ +#include <features.h>  #define _SETJMP_H  #define _ASM  #include <bits/setjmp.h> @@ -40,3 +41,4 @@ C_END(__longjmp)  .weak C_SYMBOL_NAME(__sigprocmask)  C_SYMBOL_NAME(__sigprocmask) = C_SYMBOL_NAME(sigprocmask) +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/v850/mmap.c b/libc/sysdeps/linux/v850/mmap.c index a9cb0bcab..f075ac77c 100644 --- a/libc/sysdeps/linux/v850/mmap.c +++ b/libc/sysdeps/linux/v850/mmap.c @@ -7,3 +7,5 @@  _syscall6 (__ptr_t, mmap, __ptr_t, addr, size_t, len, int, prot,  	   int, flags, int, fd, __off_t, offset); +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/v850/vfork.S b/libc/sysdeps/linux/v850/vfork.S index e5058a49a..ace1bd16b 100644 --- a/libc/sysdeps/linux/v850/vfork.S +++ b/libc/sysdeps/linux/v850/vfork.S @@ -11,6 +11,7 @@   * Written by Miles Bader <miles@gnu.org>   */ +#include <features.h>  #define _ERRNO_H	1  #include <bits/errno.h>  #define _SYSCALL_H @@ -25,7 +26,7 @@  .global C_SYMBOL_NAME(errno) -C_ENTRY (__vfork): +C_ENTRY (vfork):  	addi	SYS_vfork, r0, r12  	trap	0  	addi	-125, r0, r11		// minimum err value @@ -36,7 +37,6 @@ C_ENTRY (__vfork):  	subr	r0, r10  	st.w	r10, 0[r11]  	jmp	[lp]			// error return -C_END(__vfork) +C_END(vfork) -.weak	C_SYMBOL_NAME(vfork) -C_SYMBOL_NAME(vfork) = C_SYMBOL_NAME(__vfork) +libc_hidden_def(vfork) diff --git a/libc/sysdeps/linux/x86_64/__longjmp.S b/libc/sysdeps/linux/x86_64/__longjmp.S index aa47b7233..1ff6e0169 100644 --- a/libc/sysdeps/linux/x86_64/__longjmp.S +++ b/libc/sysdeps/linux/x86_64/__longjmp.S @@ -16,6 +16,7 @@     Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA     02111-1307 USA.  */ +#include <features.h>  #define _ASM  #define _SETJMP_H  #include <bits/setjmp.h> @@ -43,3 +44,4 @@ __longjmp:  	movq (JB_RSP*8)(%rdi),%rsp  	jmpq *%rdx  .size __longjmp,.-__longjmp +libc_hidden_def(__longjmp) diff --git a/libc/sysdeps/linux/x86_64/brk.c b/libc/sysdeps/linux/x86_64/brk.c index a00e2361e..8d85bcb3d 100644 --- a/libc/sysdeps/linux/x86_64/brk.c +++ b/libc/sysdeps/linux/x86_64/brk.c @@ -24,7 +24,7 @@  /* This must be initialized data because commons can't have aliases.  */  void *__curbrk = 0; -int attribute_hidden __brk (void *addr) +int brk (void *addr)  {  	void *__unbounded newbrk; @@ -42,4 +42,5 @@ int attribute_hidden __brk (void *addr)  	return 0;  } -strong_alias(__brk,brk) +libc_hidden_proto(brk) +libc_hidden_def(brk) diff --git a/libc/sysdeps/linux/x86_64/clone.S b/libc/sysdeps/linux/x86_64/clone.S index 0ae999722..bea2e3a7a 100644 --- a/libc/sysdeps/linux/x86_64/clone.S +++ b/libc/sysdeps/linux/x86_64/clone.S @@ -50,10 +50,10 @@  .text -.global __clone -.type   __clone,%function +.global clone +.type   clone,%function  .align 4 -__clone: +clone:  	/* Sanity check arguments.  */  	movq	$-EINVAL,%rax  	testq	%rdi,%rdi		/* no NULL function pointers */ @@ -109,9 +109,6 @@ __clone:  	call	*%rax  	/* Call exit with return value from function call. */  	movq	%rax, %rdi -	call	_exit_internal +	call	HIDDEN_JUMPTARGET(_exit) -.size __clone,.-__clone - -.weak clone -	clone = __clone +.size clone,.-clone diff --git a/libc/sysdeps/linux/x86_64/mmap.c b/libc/sysdeps/linux/x86_64/mmap.c index f14f1b6f9..b69f0a2f2 100644 --- a/libc/sysdeps/linux/x86_64/mmap.c +++ b/libc/sysdeps/linux/x86_64/mmap.c @@ -13,7 +13,7 @@  #include <sys/mman.h>  #include <sys/syscall.h> -#define __NR___mmap __NR_mmap -attribute_hidden _syscall6(void *, __mmap, void *, start, size_t, length, int, prot, +_syscall6(void *, mmap, void *, start, size_t, length, int, prot,            int, flags, int, fd, off_t, offset); -strong_alias(__mmap,mmap) +libc_hidden_proto(mmap) +libc_hidden_def(mmap) diff --git a/libc/sysdeps/linux/x86_64/sigaction.c b/libc/sysdeps/linux/x86_64/sigaction.c index 250c8b5c6..7a2d1ce28 100644 --- a/libc/sysdeps/linux/x86_64/sigaction.c +++ b/libc/sysdeps/linux/x86_64/sigaction.c @@ -23,11 +23,8 @@  #include <signal.h>  #include <string.h> -  #include <sys/syscall.h> - -  /* The difference here is that the sigaction structure used in the     kernel is not the same as we use in the libc.  Therefore we must     translate it here.  */ @@ -42,6 +39,8 @@  extern void restore_rt (void) asm ("__restore_rt") attribute_hidden;  extern void restore (void) asm ("__restore") attribute_hidden; +libc_hidden_proto(memcpy) +  /* If ACT is not NULL, change the action for SIG to *ACT.     If OACT is not NULL, put the old action for SIG in *OACT.  */  /* psm: couldn't use __sigaction, if building w/ disabled hidden, @@ -54,7 +53,7 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)  	if (act) {  		kact.k_sa_handler = act->sa_handler; -		__memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t)); +		memcpy (&kact.sa_mask, &act->sa_mask, sizeof (sigset_t));  		kact.sa_flags = act->sa_flags | SA_RESTORER;  		kact.sa_restorer = &restore_rt; @@ -67,7 +66,7 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)  	                         oact ? __ptrvalue (&koact) : NULL, _NSIG / 8);  	if (oact && result >= 0) {  		oact->sa_handler = koact.k_sa_handler; -		__memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t)); +		memcpy (&oact->sa_mask, &koact.sa_mask, sizeof (sigset_t));  		oact->sa_flags = koact.sa_flags;  		oact->sa_restorer = koact.sa_restorer;  	} @@ -121,8 +120,9 @@ __libc_sigaction (int sig, const struct sigaction *act, struct sigaction *oact)  #endif  #ifndef LIBC_SIGACTION -hidden_weak_alias(__libc_sigaction,__sigaction) -weak_alias(__libc_sigaction,sigaction) +strong_alias(__libc_sigaction,sigaction) +libc_hidden_proto(sigaction) +libc_hidden_def(sigaction)  #endif  /* NOTE: Please think twice before making any changes to the bits of diff --git a/libc/sysdeps/linux/x86_64/vfork.S b/libc/sysdeps/linux/x86_64/vfork.S index 996f1289e..3315e337a 100644 --- a/libc/sysdeps/linux/x86_64/vfork.S +++ b/libc/sysdeps/linux/x86_64/vfork.S @@ -26,18 +26,17 @@  #ifndef __NR_vfork  /* No vfork so use fork instead */ -hidden_strong_alias(__fork,__vfork) -weak_alias(vfork,__libc_fork) +strong_alias(fork,vfork) +strong_alias(vfork,__libc_fork)  #else  .text -.global __vfork -.hidden __vfork -.type	__vfork,%function +.global vfork +.type	vfork,%function  .align 16 -__vfork: +vfork:  	/* Pop the return PC value into RDI.  We need a register that  	   is preserved by the syscall and that we're allowed to destroy. */ @@ -56,7 +55,7 @@ __vfork:  	/* Normal return.  */  	ret -.size __vfork,.-__vfork +.size vfork,.-vfork  #endif /* __NR_vfork */ -strong_alias(__vfork,vfork) +libc_hidden_def(vfork)  | 
