diff --git a/include/sys/wait.h b/include/sys/wait.h
index 2239501..9a38e61 100644
--- a/include/sys/wait.h
+++ b/include/sys/wait.h
@@ -8,7 +8,6 @@ extern __pid_t __waitpid (__pid_t __pid, int *__stat_loc,
 libc_hidden_proto (__waitpid)
 extern int __waitid (idtype_t idtype, id_t id, siginfo_t *infop, int options);
 
-extern __pid_t __libc_waitpid (pid_t __pid, int *__stat_loc, int __options);
 extern __pid_t __libc_wait (int *__stat_loc);
 extern __pid_t __wait (__WAIT_STATUS __stat_loc);
 extern __pid_t __wait3 (__WAIT_STATUS __stat_loc,
diff --git a/posix/waitpid.c b/posix/waitpid.c
index 6815783..54a786f 100644
--- a/posix/waitpid.c
+++ b/posix/waitpid.c
@@ -33,7 +33,7 @@
    Return (pid_t) -1 for errors.  If the WUNTRACED bit is set in OPTIONS,
    return status for stopped children; otherwise don't.  */
 pid_t
-__libc_waitpid (pid_t pid, int *stat_loc, int options)
+__waitpid (pid_t pid, int *stat_loc, int options)
 {
   if ((options & ~(WNOHANG|WUNTRACED)) != 0)
     {
@@ -44,8 +44,7 @@ __libc_waitpid (pid_t pid, int *stat_loc, int options)
   __set_errno (ENOSYS);
   return (pid_t) -1;
 }
-weak_alias (__libc_waitpid, __waitpid)
-libc_hidden_weak (__waitpid)
-weak_alias (__libc_waitpid, waitpid)
+libc_hidden_def (__waitpid)
+weak_alias (__waitpid, waitpid)
 
 stub_warning (waitpid)
diff --git a/sysdeps/unix/bsd/waitpid.c b/sysdeps/unix/bsd/waitpid.c
index 321d979..34e758b 100644
--- a/sysdeps/unix/bsd/waitpid.c
+++ b/sysdeps/unix/bsd/waitpid.c
@@ -33,11 +33,10 @@
    Return (pid_t) -1 for errors.  If the WUNTRACED bit is set in OPTIONS,
    return status for stopped children; otherwise don't.  */
 pid_t
-__libc_waitpid (pid_t pid, int *stat_loc, int options)
+__waitpid (pid_t pid, int *stat_loc, int options)
 {
   return __wait4 (pid, (union wait *) stat_loc, options, NULL);
 }
 
-weak_alias (__libc_waitpid, __waitpid)
-libc_hidden_weak (__waitpid)
-weak_alias (__libc_waitpid, waitpid)
+libc_hidden_def (__waitpid)
+weak_alias (__waitpid, waitpid)
diff --git a/sysdeps/unix/sysv/linux/i386/syscalls.list b/sysdeps/unix/sysv/linux/i386/syscalls.list
index 901501a..1cebd6a 100644
--- a/sysdeps/unix/sysv/linux/i386/syscalls.list
+++ b/sysdeps/unix/sysv/linux/i386/syscalls.list
@@ -20,7 +20,7 @@ vm86old		EXTRA	vm86old		i:p	__vm86old	vm86@GLIBC_2.0
 vm86		-	vm86		i:ip	__vm86		vm86@@GLIBC_2.3.4
 oldgetrlimit	EXTRA	getrlimit	i:ip	__old_getrlimit	getrlimit@GLIBC_2.0
 setrlimit	-	setrlimit	i:ip	__setrlimit	setrlimit@GLIBC_2.0 setrlimit@@GLIBC_2.2
-waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
+waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid
 
 prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
 
diff --git a/sysdeps/unix/sysv/linux/m68k/syscalls.list b/sysdeps/unix/sysv/linux/m68k/syscalls.list
index 6ebca16..ad4ca46 100644
--- a/sysdeps/unix/sysv/linux/m68k/syscalls.list
+++ b/sysdeps/unix/sysv/linux/m68k/syscalls.list
@@ -3,7 +3,7 @@
 chown		-	chown32		i:sii	__chown		chown
 lchown		-	lchown32	i:sii	__lchown	lchown
 fchown		-	fchown32	i:iii	__fchown	fchown
-waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
+waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid
 
 getegid		-	getegid32	Ei:	__getegid	getegid
 geteuid		-	geteuid32	Ei:	__geteuid	geteuid
diff --git a/sysdeps/unix/sysv/linux/powerpc/syscalls.list b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
index a666593..4f821e9 100644
--- a/sysdeps/unix/sysv/linux/powerpc/syscalls.list
+++ b/sysdeps/unix/sysv/linux/powerpc/syscalls.list
@@ -1,3 +1,3 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
-waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
+waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid
diff --git a/sysdeps/unix/sysv/linux/sh/syscalls.list b/sysdeps/unix/sysv/linux/sh/syscalls.list
index 5fd7c9a..2f4ac65 100644
--- a/sysdeps/unix/sysv/linux/sh/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sh/syscalls.list
@@ -15,7 +15,7 @@ getgroups	-	getgroups32	i:ip	__getgroups	getgroups
 setfsgid	-	setfsgid32	Ei:i	setfsgid
 setfsuid	-	setfsuid32	Ei:i	setfsuid
 
-waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
+waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid
 
 prlimit64	EXTRA	prlimit64	i:iipp	prlimit64
 
diff --git a/sysdeps/unix/sysv/linux/sparc/syscalls.list b/sysdeps/unix/sysv/linux/sparc/syscalls.list
index a666593..4f821e9 100644
--- a/sysdeps/unix/sysv/linux/sparc/syscalls.list
+++ b/sysdeps/unix/sysv/linux/sparc/syscalls.list
@@ -1,3 +1,3 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
-waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid	__libc_waitpid
+waitpid		-	waitpid		Ci:ipi	__waitpid	waitpid
diff --git a/sysdeps/unix/sysv/linux/tile/waitpid.S b/sysdeps/unix/sysv/linux/tile/waitpid.S
index 9aa793e..22642ae 100644
--- a/sysdeps/unix/sysv/linux/tile/waitpid.S
+++ b/sysdeps/unix/sysv/linux/tile/waitpid.S
@@ -14,7 +14,5 @@ PSEUDO_END(__waitpid)
 libc_hidden_def (__waitpid)
 weak_alias (__waitpid, waitpid)
 libc_hidden_weak (waitpid)
-weak_alias (__waitpid, __libc_waitpid)
-libc_hidden_weak (__libc_waitpid)
 
 #endif
diff --git a/sysdeps/unix/sysv/linux/waitpid.c b/sysdeps/unix/sysv/linux/waitpid.c
index c0a8682..cfd7c6d 100644
--- a/sysdeps/unix/sysv/linux/waitpid.c
+++ b/sysdeps/unix/sysv/linux/waitpid.c
@@ -21,7 +21,7 @@
 #include <sys/wait.h>
 
 __pid_t
-__libc_waitpid (__pid_t pid, int *stat_loc, int options)
+__waitpid (__pid_t pid, int *stat_loc, int options)
 {
   if (SINGLE_THREAD_P)
     {
@@ -44,6 +44,5 @@ __libc_waitpid (__pid_t pid, int *stat_loc, int options)
 
   return result;
 }
-weak_alias (__libc_waitpid, __waitpid)
-libc_hidden_weak (__waitpid)
-weak_alias (__libc_waitpid, waitpid)
+libc_hidden_def (__waitpid)
+weak_alias (__waitpid, waitpid)
