This is the mail archive of the libc-hacker@sources.redhat.com mailing list for the glibc project.

Note that libc-hacker is a closed list. You may look at the archives of this list, but subscription and posting are not open.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[PATCH] PLT reducation, take 2


Hi!

I've added the configure check plus a bunch of new macros from PLT-reduce
list and converted a bunch from INTUSE/INTDEF etc. too.
Tested by make check, comparing nm -D output and readelf -r output before
and after the patch.

2002-08-02  Jakub Jelinek  <jakub@redhat.com>

	* assert/assert.c (__assert_fail): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* assert/__assert.c (__assert): Remove INTUSE.
	* elf/dl-minimal.c (__assert_fail): Replace INTDEF with
	libc_hidden_weak.
	* include/libc-symbols.h (hidden_proto, hidden_def, hidden_weak,
	hidden_ver, libc_hidden_proto, libc_hidden_def, libc_hidden_weak,
	libc_hidden_ver, rtld_hidden_proto, rtld_hidden_def, rtld_hidden_weak,
	rltd_hidden_ver, libm_hidden_proto, libm_hidden_def, libm_hidden_weak,
	libm_hiden_ver): Define.
	* include/assert.h (__assert_fail_internal): Remove.
	(__assert_fail): Add prototype.  Add hidden_proto.
	* include/libc-internal.h (__libc_freeres, __profile_frequency): Add
	libc_hidden_proto.
	* include/wchar.h (__mbrtowc_internal, __mbrlen_internal): Remove.
	(__mbrtowc, __mbrlen): Use libc_hidden_proto.  Remove macros.
	* include/string.h (__mempcpy, __stpncpy, __rawmemchr, __strcasecmp):
	Add libc_hidden_proto.
	* include/fcntl.h (__open64, __libc_open, __libc_fcntl, __open,
	__fcntl): Add libc_hidden_proto.  Remove macros.
	(__open_internal, __fcntl_internal): Remove.
	* libio/iofdopen.c (_IO_fcntl): Remove INTUSE from __fcntl.
	* malloc/set-freeres.c (__libc_freeres): Add libc_hidden_def.
	* nss/nsswitch.h (__nss_database_lookup, __nss_next): Add
	libc_hiden_proto.
	* nss/nsswitch.c (__nss_database_lookup, __nss_next): Add
	libc_hidden_def.
	* sysdeps/generic/mempcpy.c (__mempcpy): Remove undef.
	Add libc_hidden_def.
	* sysdeps/generic/open64.c (__open64): Add libc_hidden_def.
	* sysdeps/generic/open.c (__open): Remove undef.
	Add libc_hidden_def.  Remove INTDEF.
	* sysdeps/generic/fcntl.c (__fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/i386/i586/mempcpy.S (__mempcpy): Add libc_hidden_def.
	* sysdeps/i386/i686/mempcpy.S (__mempcpy): Likewise.
	* sysdeps/mach/hurd/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/mach/hurd/open.c (__libc_open, __open): Remove undef.
	(__open): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_open): Add libc_hidden_def.
	* sysdeps/posix/open64.c (__open64): Add libc_hidden_weak.
	* sysdeps/standalone/open.c (__open): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/fcntl.c (__libc_fcntl, __fcntl): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/open.c (__libc_open, __open): Remove undef.
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/fcntl.c (__libc_fcntl, __fcntl): Remove
	undef.
	(__fcntl): Remove INTDEF2.  Add libc_hidden_weak.
	(__libc_fcntl): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/syscalls.list (__fcntl_internal,
	__getpgid_internal, __chown_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___getpgid, __GI___pipe,
	__GI___sched_setscheduler, __GI___select, __GI___setpgid,
	__GI___chown): Add.
	* sysdeps/unix/syscalls.list (__close_internal, __dup2_internal,
	__getpid_internal, __open_internal, __write_internal): Remove.
	(__GI___fcntl, __GI___libc_fcntl, __GI___open, __GI___libc_open,
	__GI___chown, __GI___close, __GI___dup2, __GI___getpid,
	__GI___libc_open, __GI___open, __GI___read, __GI___libc_read,
	__GI___select, __GI___statfs, __GI___write, __GI___libc_write): Add.
	* wcsmbs/mbrlen.c (__mbrlen): Remove undef.
	Replace INTDEF with libc_hidden_def.
	* wcsmbs/mbrtowc.c (__mbrtowc): Likewise.
	* catgets/catgetsinfo.h (__open_catalog): Add libc_hidden_proto.
	* catgets/open_catalog.c (__open_catalog): Add libc_hidden_def.
	* elf/dl-profile.c (__profile_frequency): Add libc_hidden_proto.
	* include/rpc/rpc.h (__rpc_thread_svc_fdset, __rpc_thread_createerr):
	Add libc_hidden_proto.
	* include/sys/poll.h (__poll): Add libc_hidden_proto.
	* include/sys/select.h (__select): Likewise.
	* include/sys/socket.h (__send): Likewise.
	* include/sys/statfs.h (__statfs): Likewise.
	* include/unistd.h (__pwrite64, __libc_read, __pipe, __chown, __dup2,
	__getpid, __getpgid, __setpgid, __close, __read, __write,
	__getpagesize, __sbrk): Likewise.
	(__chown_internal, __dup2_internal, __getpid_internal,
	__getpgid_internal, __close_internal, __write_internal,
	__getpagesize_internal): Remove.
	(__close, __dup2, __getpagesize, __getpgid, __getpid, __libc_write):
	Remove macros.
	* include/printf.h (__printf_fp): Add libc_hidden_proto.
	* include/sched.h (__sched_setscheduler): Likewise.
	* include/resolv.h (__res_ninit, __res_randomid): Likewise.
	* include/stdlib.h (__secure_getenv): Likewise.
	* include/signal.h (__sigaction, __sigsuspend): Likewise.
	* inet/getaliasent_r.c (NSS_attribute_hidden): Remove.
	* inet/getaliasname_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbyad_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getnetent_r.c (NSS_attribute_hidden): Remove.
	* inet/getproto_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtent_r.c (NSS_attribute_hidden): Remove.
	* inet/getprtname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbyname_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcbynumber_r.c (NSS_attribute_hidden): Remove.
	* inet/getrpcent_r.c (NSS_attribute_hidden): Remove.
	* inet/getservent_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbynm_r.c (NSS_attribute_hidden): Remove.
	* inet/getsrvbypt_r.c (NSS_attribute_hidden): Remove.
	* inet/gethstbyad_r.c (DB_LOOKUP_FCT): Remove INTUSE.
	* inet/gethstbynm2_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstbynm_r.c (DB_LOOKUP_FCT): Likewise.
	* inet/gethstent_r.c (DB_LOOKUP_FCT): Likewise.
	* libio/genops.c (__overflow): Add libc_hidden_def.
	* libio/iovdprintf.c: Remove libio.h include.
	* libio/libioP.h (libc_hidden_proto, libc_hidden_def,
	libc_hidden_weak): Define to nothing if not defined.
	(__overflow, __woverflow): Add libc_hidden_proto.
	* libio/wgenops.c (__woverflow): Add libc_hidden_def.
	* nss/getXXent_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/getXXbyYY_r.c (NSS_attribute_hidden): Remove.
	(DB_LOOKUP_FCT): Add libc_hidden_proto.
	* nss/XXX-lookup.c (DB_LOOKUP_FCT): Add libc_hidden_proto
	and libc_hidden_def.
	* nss/hosts-lookup.c (__nss_hosts_lookup): Remove INTDEF.
	* posix/bsd-getpgrp.c (__getpgid_internal): Remove.
	(__getpgid): Add libc_hidden_proto. 
	(__bsd_getpgrp): Remove INTUSE.
	* resolv/res_init.c (__res_ninit, __res_randomid): Add
	libc_hidden_def.
	* shadow/getspent_r.c (NSS_attribute_hidden): Remove.
	* shadow/getspnam_r.c (NSS_attribute_hidden): Remove.
	* stdio-common/printf_fp.c (__printf_fp): Add libc_hidden_def.
	* stdlib/strfmon.c (__printf_fp): Add libc_hidden_proto.
	* stdlib/secure-getenv.c (__secure_getenv): Add libc_hidden_def.
	* sunrpc/rpc_thread.c (__rpc_thread_svc_fdset,
	__rpc_thread_createerr): Add libc_hidden_def.
	* sysdeps/alpha/alphaev67/rawmemchr.S (__rawmemchr): Add
	libc_hidden_def.
	* sysdeps/alpha/alphaev67/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/alpha/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/alpha/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/generic/chown.c (__chown): Likewise.
	* sysdeps/generic/close.c (__close): Likewise.
	* sysdeps/generic/dup2.c (__dup2): Likewise.
	* sysdeps/generic/pipe.c (__pipe): Likewise.
	* sysdeps/generic/prof-freq.c (__profile_frequency): Likewise.
	* sysdeps/generic/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/generic/rawmemchr.c (__rawmemchr): Likewise.
	* sysdeps/generic/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/generic/sbrk.c (__sbrk): Add libc_hidden_def.
	* sysdeps/generic/sched_sets.c (__sched_setscheduler: Likewise.
	* sysdeps/generic/select.c (__select): Likewise.
	* sysdeps/generic/send.c (__send): Likewise.
	* sysdeps/generic/setpgid.c (__setpgid): Likewise.
	* sysdeps/generic/sigaction.c (__sigaction): Likewise.
	* sysdeps/generic/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/generic/statfs.c (__statfs): Likewise.
	* sysdeps/generic/stpncpy.c (__stpncpy): Likewise.
	* sysdeps/generic/strcasecmp.c (__strcasecmp): Likewise.
	* sysdeps/generic/getpagesize.c (__getpagesize): Likewise.
	Remove undef and INTDEF.
	* sysdeps/generic/getpgid.c (__getpgid): Likewise.
	* sysdeps/generic/getpid.c (__getpid): Likewise.
	* sysdeps/generic/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/i386/rawmemchr.S (__rawmemchr): Add libc_hidden_def.
	* sysdeps/i386/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/m68k/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/mach/hurd/chown.c (__chown): Likewise.  Remove INTDEF.
	* sysdeps/mach/hurd/close.c (__close): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/mach/hurd/dup2.c (__dup2): Likewise.
	* sysdeps/mach/hurd/getpgid.c (__getpgid): Likewise.
	* sysdeps/mach/hurd/getpid.c (__getpid): Likewise.
	* sysdeps/mach/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/mach/hurd/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.  Remove undef and INTDEF.
	* sysdeps/mach/hurd/pipe.c: Include unistd.h.
	(__pipe): Add libc_hidden_def.
	* sysdeps/mach/hurd/dl-sysdep.c (__libc_read, __libc_write): Add
	libc_hidden_weak.
	* sysdeps/mach/hurd/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/mach/hurd/profil.c (__profile_frequency): Likewise.
	* sysdeps/mach/hurd/read.c (__libc_read): Likewise.
	(__read): Add libc_hidden_weak.
	* sysdeps/mach/hurd/pwrite64.c (__pwrite64): Likewise.
	(__libc_pwrite64): Add libc_hidden_def.
	* sysdeps/mach/hurd/sbrk.c (__sbrk): Likewise.
	* sysdeps/mach/hurd/select.c (__select): Likewise.
	* sysdeps/mach/hurd/send.c (__send): Likewise.
	* sysdeps/mach/hurd/setpgid.c (__setpgid): Likewise.
	* sysdeps/mach/hurd/sigaction.c (__sigaction): Likewise.
	* sysdeps/mach/hurd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/mach/hurd/statfs.c (__statfs): Likewise.
	* sysdeps/posix/dup2.c: Likewise.
	Remove undef and INTDEF.
	* sysdeps/posix/getpagesize.c (__getpagesize): Likewise.
	* sysdeps/posix/pwrite64.c (__libc_pwrite64): Add libc_hidden_def.
	(__pwrite64): Add libc_hidden_weak.
	* sysdeps/posix/sigsuspend.c (__sigsuspend): Add libc_hidden_def.
	* sysdeps/sparc/sparc64/rawmemchr.S (__rawmemchr): Likewise.
	* sysdeps/sparc/sparc64/stpncpy.S (__stpncpy): Likewise.
	* sysdeps/standalone/close.c (__close): Likewise.
	* sysdeps/standalone/write.c (__libc_write): Likewise.
	(__write): Add libc_hidden_weak.
	* sysdeps/standalone/read.c (__read): Likewise.
	(__libc_read): Add libc_hidden_def.
	* sysdeps/unix/grantpt.c (grantpt): Remove INTUSE.
	* sysdeps/unix/bsd/m68k/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/bsd/osf/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/vax/pipe.S (__pipe): Likewise.
	* sysdeps/unix/bsd/syscalls.list (__GI___getpagesize): Likewise.
	* sysdeps/unix/bsd/poll.c (__poll): Likewise.
	* sysdeps/unix/bsd/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/bsd/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/common/syscalls.list (__GI___getpgid, __GI___setpgid,
	__GI___sigaction): Add.
	* sysdeps/unix/i386/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/inet/syscalls.list (__GI___send): Add.
	* sysdeps/unix/mips/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sparc/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/irix4/syscalls.list (__GI___getpgid,
	__GI___setpgid): Add.
	* sysdeps/unix/sysv/aix/chown.c (__chown): Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/aix/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/aix/write.c (__write, __libc_write): Likewise.
	* sysdeps/unix/sysv/aix/close.c (__close): Add libc_hidden_def.
	* sysdeps/unix/sysv/aix/getpid.c (__getpid): Likewise.
	* sysdeps/unix/sysv/aix/pipe.c (__pipe): Likewise.
	* sysdeps/unix/sysv/aix/read.c (__read, __libc_read): Likewise.
	* sysdeps/unix/sysv/aix/poll.c (__poll): Likewise.
	* sysdeps/unix/sysv/aix/sbrk.c (__sbrk): Likewise.
	* sysdeps/unix/sysv/aix/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/aix/sigsuspend.c (__sigsuspend): Likewise.
	* sysdeps/unix/sysv/aix/statfs.c (__statfs): Likewise.
	* sysdeps/unix/sysv/aix/select.c (__select): Likewise.
	* sysdeps/unix/sysv/aix/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/linux/alpha/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/alpha/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/alpha/select.S (__select): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/alpha/sigsuspend.S (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/ia64/pipe.S (__pipe): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/syscalls.list (__GI___pwrite64,
	__GI___statfs, __GI___send): Add.
	* sysdeps/unix/sysv/linux/ia64/sigaction.c (__sigaction): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/ia64/sigsuspend.c (__sigsuspend):
	Likewise.
	* sysdeps/unix/sysv/linux/sh/pipe.S (__pipe): Likewise.
	* sysdeps/unix/sysv/linux/s390/s390-32/chown.c (__chown): Add
	libc_hidden_ver resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list (__GI___pwrite64,
	__GI___send): Add.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c (__sigaction):
	Add libc_hidden_weak.
	* sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/hppa/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/arm/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/i386/chown.c (__chown): Add libc_hidden_ver
	resp. libc_hidden_def.
	* sysdeps/unix/sysv/linux/i386/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/m68k/chown.c (__chown): Likewise.  Remove
	INTDEF.
	* sysdeps/unix/sysv/linux/m68k/getpagesize.c (__getpagesize):
	Likewise.  Remove undef.
	* sysdeps/unix/sysv/linux/mips/pwrite64.c (__pwrite64): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/mips/syscalls.list (__GI___send): Add.
	* sysdeps/unix/sysv/linux/mips/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/powerpc/chown.c (__chown): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/powerpc/pwrite64.c (__pwrite64): Likewise.
	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c (__getpagesize):
	Likewise.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S (__pipe): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list
	(__GI___pwrite64, __GI___statfs, __GI___select, __GI___send): Add.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c (__sigsuspend):
	Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/x86_64/syscalls.list (__GI___pwrite64,
	__GI___statfs): Add.
	* sysdeps/unix/sysv/linux/x86_64/send.c (__send): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/x86_64/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/linux/getpagesize.c: Add libc_hidden_def.
	Remove undef and INTDEF.
	* sysdeps/unix/sysv/linux/poll.c (__poll): Add libc_hidden_def.
	* sysdeps/unix/sysv/linux/pwrite64.c (__pwrite64): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/linux/send.S (__send): Likewise.
	* sysdeps/unix/sysv/linux/sigaction.c (__sigaction): Add
	libc_hidden_weak.
	* sysdeps/unix/sysv/linux/sigsuspend.c (__sigsuspend): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sco3.2.4/__setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sco3.2.4/sigaction.S (__sigaction): Likewise.
	* sysdeps/unix/sysv/sysv4/solaris2/syscalls.list (__GI___sigaction):
	Add.
	* sysdeps/unix/sysv/sysv4/__getpgid.c (__getpgid): Add
	libc_hidden_def.  Remove undef and INTDEF.
	* sysdeps/unix/sysv/sysv4/getpgid.c (__getpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/__setpgid.c (__setpgid): Add
	libc_hidden_def.
	* sysdeps/unix/sysv/sysv4/setpgid.c (__setpgid): Likewise.
	* sysdeps/unix/sysv/sysv4/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/sysv/sigaction.c (__sigaction): Likewise.
	* sysdeps/unix/getpagesize.c (__getpagesize): Add libc_hidden_def.
	Remove undef and INTDEF.
	* configure.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add check for
	broken visibility attribute handling.
	* configure: Rebuilt.
	* config.h.in (HAVE_BROKEN_VISIBILITY_ATTRIBUTE): Add.

--- libc/assert/assert.c.jj	2002-07-29 15:14:49.000000000 +0200
+++ libc/assert/assert.c	2002-08-02 14:24:31.000000000 +0200
@@ -42,7 +42,6 @@ extern const char *__progname;
 # include FATAL_PREPARE_INCLUDE
 #endif
 
-#undef __assert_fail
 void
 __assert_fail (const char *assertion, const char *file, unsigned int line,
 	       const char *function)
@@ -82,4 +81,4 @@ __assert_fail (const char *assertion, co
 
   abort ();
 }
-INTDEF(__assert_fail)
+libc_hidden_def(__assert_fail)
--- libc/assert/__assert.c.jj	2002-04-30 12:51:29.000000000 +0200
+++ libc/assert/__assert.c	2002-08-02 14:24:31.000000000 +0200
@@ -23,5 +23,5 @@
 void
 __assert (const char *assertion, const char *file, int line)
 {
-  INTUSE(__assert_fail) (assertion, file, line, (const char *) 0);
+  __assert_fail (assertion, file, line, (const char *) 0);
 }
--- libc/catgets/catgetsinfo.h.jj	2001-08-23 18:47:04.000000000 +0200
+++ libc/catgets/catgetsinfo.h	2002-08-02 19:18:35.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper, <drepper@gnu.ai.mit.edu>.
 
@@ -54,3 +54,4 @@ typedef struct catalog_info
 /* Prototypes for helper functions.  */
 extern int __open_catalog (const char *cat_name, const char *nlspath,
 			   const char *env_var, __nl_catd __catalog);
+libc_hidden_proto (__open_catalog)
--- libc/catgets/open_catalog.c.jj	2002-02-28 12:31:20.000000000 +0100
+++ libc/catgets/open_catalog.c	2002-08-02 15:14:41.000000000 +0200
@@ -332,3 +332,4 @@ __open_catalog (const char *cat_name, co
 
   return result;
 }
+libc_hidden_def (__open_catalog)
--- libc/elf/dl-minimal.c.jj	2002-07-29 15:14:50.000000000 +0200
+++ libc/elf/dl-minimal.c	2002-08-02 14:24:31.000000000 +0200
@@ -209,7 +209,7 @@ Inconsistency detected by ld.so: %s: %u:
 		    assertion);
 
 }
-INTDEF(__assert_fail)
+rtld_hidden_weak(__assert_fail)
 
 #endif
 
--- libc/elf/dl-profile.c.jj	2002-04-07 18:27:23.000000000 +0200
+++ libc/elf/dl-profile.c	2002-08-02 17:32:20.000000000 +0200
@@ -122,6 +122,7 @@
    entries in the call graph table and add it to the appropriate list.  */
 
 extern int __profile_frequency (void);
+libc_hidden_proto (__profile_frequency)
 
 /* We define a special type to address the elements of the arc table.
    This is basically the `gmon_cg_arc_record' format but it includes
--- libc/include/rpc/rpc.h.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/include/rpc/rpc.h	2002-08-02 18:25:45.000000000 +0200
@@ -46,6 +46,9 @@ extern void __rpc_thread_destroy (void);
 
 #define RPC_THREAD_VARIABLE(x) (__rpc_thread_variables()->x)
 
+libc_hidden_proto (__rpc_thread_svc_fdset)
+libc_hidden_proto (__rpc_thread_createerr)
+
 #endif /* _RPC_THREAD_SAFE_ */
 
 #endif
--- libc/include/sys/poll.h.jj	2000-08-22 10:12:50.000000000 +0200
+++ libc/include/sys/poll.h	2002-08-02 17:27:10.000000000 +0200
@@ -3,4 +3,6 @@
 
 extern int __poll (struct pollfd *__fds, unsigned long int __nfds,
 		   int __timeout);
+libc_hidden_proto (__poll)
+
 #endif
--- libc/include/sys/select.h.jj	2001-01-31 16:34:58.000000000 +0100
+++ libc/include/sys/select.h	2002-08-02 20:39:26.000000000 +0200
@@ -11,4 +11,6 @@ extern int __select (int __nfds, fd_set 
 		     fd_set *__restrict __writefds,
 		     fd_set *__restrict __exceptfds,
 		     struct timeval *__restrict __timeout);
+libc_hidden_proto (__select)
+
 #endif
--- libc/include/sys/socket.h.jj	2002-07-23 10:05:32.000000000 +0200
+++ libc/include/sys/socket.h	2002-08-02 18:41:44.000000000 +0200
@@ -27,6 +27,7 @@ extern int __getpeername (int __fd, __SO
 
 /* Send N bytes of BUF to socket FD.  Returns the number sent or -1.  */
 extern ssize_t __send (int __fd, __const void *__buf, size_t __n, int __flags);
+libc_hidden_proto (__send)
 
 /* Send N bytes of BUF on socket FD to peer at address ADDR (which is
    ADDR_LEN bytes long).  Returns the number sent, or -1 for errors.  */
--- libc/include/sys/statfs.h.jj	2000-04-18 08:13:13.000000000 +0200
+++ libc/include/sys/statfs.h	2002-08-02 18:42:28.000000000 +0200
@@ -3,6 +3,7 @@
 
 /* Now define the internal interfaces.  */
 extern int __statfs (__const char *__file, struct statfs *__buf);
+libc_hidden_proto (__statfs)
 extern int __fstatfs (int __fildes, struct statfs *__buf);
 extern int __statfs64 (__const char *__file, struct statfs64 *__buf);
 extern int __fstatfs64 (int __fildes, struct statfs64 *__buf);
--- libc/include/libc-symbols.h.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/include/libc-symbols.h	2002-08-02 19:03:11.000000000 +0200
@@ -381,4 +381,179 @@
 # define INTVARDEF2(name, newname)
 #endif
 
+/* The following macros are used for PLT bypassing within libc.so
+   (and if needed other libraries similarly).
+   First of all, you need to have the function prototyped somewhere,
+   say in foo/foo.h:
+
+   int foo (int __bar);
+
+   If calls to foo within libc.so should always go to foo defined in libc.so,
+   then in include/foo.h you add:
+
+   libc_hidden_proto (foo)
+
+   line and after the foo function definition:
+   
+   int foo (int __bar)
+   {
+     return __bar;
+   }
+   libc_hidden_def (foo)
+
+   or
+
+   int foo (int __bar)
+   {
+     return __bar;
+   }
+   libc_hidden_weak (foo)
+
+   If foo is normally just an alias (strong or weak) of some other function,
+   you should use the normal strong_alias first, then add libc_hidden_def
+   or libc_hidden_weak:
+
+   int baz (int __bar)
+   {
+     return __bar;
+   }
+   strong_alias (baz, foo)
+   libc_hidden_weak (foo)
+
+   If the function should be internal to multiple objects, say ld.so and
+   libc.so, the best way is to use:
+ 
+   #if !defined NOT_IN_libc || defined IS_IN_rtld
+   hidden_proto (foo)
+   #endif
+
+   in include/foo.h and the normal macros at all function definitions
+   depending on what DSO they belong to.
+
+   If versioned_symbol macro is used to define foo,
+   libc_hidden_ver macro should be used, as in:
+
+   int __real_foo (int __bar)
+   {
+     return __bar;
+   }
+   versioned_symbol (libc, __real_foo, foo, GLIBC_2_1);
+   libc_hidden_ver (__real_foo, foo)  */
+
+#if defined SHARED && defined DO_VERSIONING
+# ifndef __ASSEMBLER__
+#  ifdef HAVE_BROKEN_VISIBILITY_ATTRIBUTE
+#   define __hidden_proto_hiddenattr
+#  else
+#   define __hidden_proto_hiddenattr attribute_hidden
+#  endif
+#  define hidden_proto(name) __hidden_proto (name, __GI_##name)
+#  define __hidden_proto(name, internal) \
+  __typeof (name) internal; \
+  __typeof (name) name __asm__ (__hidden_asmname (#internal)) \
+  __hidden_proto_hiddenattr;
+#  define __hidden_asmname(name) \
+  __hidden_asmname1 (__USER_LABEL_PREFIX__, name)
+#  define __hidden_asmname1(prefix, name) __hidden_asmname2(prefix, name)
+#  define __hidden_asmname2(prefix, name) #prefix name
+#  ifdef HAVE_ASM_SET_DIRECTIVE
+#   define __hidden_def1(original, alias)			\
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP	\
+  .set C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
+#  else
+#   ifdef HAVE_ASM_GLOBAL_DOT_NAME
+#    define __hidden_def1(original, alias)			\
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP	\
+  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP	\
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP	\
+  C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
+#   else
+#    define __hidden_def1(original, alias)			\
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_NAME (alias) ASM_LINE_SEP	\
+  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
+#   endif
+#  endif
+#  define __hidden_def2(...) #__VA_ARGS__
+#  define __hidden_def3(...) __hidden_def2 (__VA_ARGS__)
+#  define hidden_def(name)					\
+  __asm__ (__hidden_def3 (__hidden_def1 (__GI_##name, name)));
+#  define hidden_ver(local, name)				\
+  __asm__ (__hidden_def3 (__hidden_def1 (local, __GI_##name)));
+#  ifdef HAVE_WEAK_SYMBOLS
+#   ifdef HAVE_ASM_WEAKEXT_DIRECTIVE
+#    define __hidden_weak1(original, alias)			\
+  .weakext C_SYMBOL_NAME (alias), C_SYMBOL_NAME (original)
+#   else /* ! HAVE_ASM_WEAKEXT_DIRECTIVE */
+#    ifdef HAVE_ASM_GLOBAL_DOT_NAME
+#     define __hidden_weak1(original, alias)			\
+  .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP			\
+  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original) ASM_LINE_SEP	\
+  ASM_GLOBAL_DIRECTIVE C_SYMBOL_DOT_NAME (alias) ASM_LINE_SEP	\
+  C_SYMBOL_DOT_NAME (alias) = C_SYMBOL_DOT_NAME (original)
+#    else
+#     define __hidden_weak1(original, alias)			\
+  .weak C_SYMBOL_NAME (alias) ASM_LINE_SEP			\
+  C_SYMBOL_NAME (alias) = C_SYMBOL_NAME (original)
+#    endif
+#   endif
+#   define hidden_weak(name)					\
+  __asm__ (__hidden_def3 (__hidden_weak1 (__GI_##name, name)));
+#  else
+#   define hidden_weak(name) hidden_def (name)
+#  endif
+# else
+/* For assembly, we need to do the opposite of what we do in C:
+   in assembly gcc __REDIRECT stuff is not in place, so functions
+   are defined by its normal name and we need to create the
+   __GI_* alias to it, in C __REDIRECT causes the function definition
+   to use __GI_* name and we need to add alias to the real name.
+   hidden_proto and hidden_weak don't make sense for assembly.  */
+#  define hidden_def(name) strong_alias (name, __GI_##name)
+#  define hidden_ver(local, name) strong_alias (local, __GI_##name)
+# endif
+#else
+# ifndef __ASSEMBLY__
+#  define hidden_proto(name)
+#  define hidden_weak(name)
+# endif
+# define hidden_def(name)
+# define hidden_ver(local, name)
+#endif
+
+#if !defined NOT_IN_libc
+# define libc_hidden_proto(name) hidden_proto (name)
+# define libc_hidden_def(name) hidden_def (name)
+# define libc_hidden_weak(name) hidden_weak (name)
+# define libc_hidden_ver(local, name) hidden_ver (local, name)
+#else
+# define libc_hidden_proto(name)
+# define libc_hidden_def(name)
+# define libc_hidden_weak(name)
+# define libc_hidden_ver(local, name)
+#endif
+
+#if defined NOT_IN_libc && defined IS_IN_rtld
+# define rtld_hidden_proto(name) hidden_proto (name)
+# define rtld_hidden_def(name) hidden_def (name)
+# define rtld_hidden_weak(name) hidden_weak (name)
+# define rtld_hidden_ver(local, name) hidden_ver (local, name)
+#else
+# define rtld_hidden_proto(name)
+# define rtld_hidden_def(name)
+# define rtld_hidden_weak(name)
+# define rtld_hidden_ver(local, name)
+#endif
+
+#if defined NOT_IN_libc && defined IS_IN_libm
+# define libm_hidden_proto(name) hidden_proto (name)
+# define libm_hidden_def(name) hidden_def (name)
+# define libm_hidden_weak(name) hidden_weak (name)
+# define libm_hidden_ver(local, name) hidden_ver (local, name)
+#else
+# define libm_hidden_proto(name)
+# define libm_hidden_def(name)
+# define libm_hidden_weak(name)
+# define libm_hidden_ver(local, name)
+#endif
+
 #endif /* libc-symbols.h */
--- libc/include/assert.h.jj	2002-07-29 15:14:50.000000000 +0200
+++ libc/include/assert.h	2002-08-02 14:24:31.000000000 +0200
@@ -1,10 +1,12 @@
 #include <assert/assert.h>
 
-extern void __assert_fail_internal (__const char *__assertion,
-				    __const char *__file,
-				    unsigned int __line,
-				    __const char *__function)
-     __attribute__ ((__noreturn__)) attribute_hidden;
-#if defined SHARED && !defined NOT_IN_libc
-# define __assert_fail __assert_fail_internal
+/* This prints an "Assertion failed" message and aborts.
+   In installed assert.h this is only conditionally declared,
+   so it has to be repeated here.  */
+extern void __assert_fail (__const char *__assertion, __const char *__file,
+			   unsigned int __line, __const char *__function)
+  __THROW __attribute__ ((__noreturn__));
+
+#if !defined NOT_IN_libc || defined IS_IN_rtld
+hidden_proto (__assert_fail)
 #endif
--- libc/include/libc-internal.h.jj	2002-03-23 11:50:27.000000000 +0100
+++ libc/include/libc-internal.h	2002-08-02 17:27:50.000000000 +0200
@@ -15,6 +15,7 @@ extern void __libc_global_ctors (void);
 /* Discover the tick frequency of the machine if something goes wrong,
    we return 0, an impossible hertz.  */
 extern int __profile_frequency (void);
+libc_hidden_proto (__profile_frequency)
 
 /* Hooks for the instrumenting functions.  */
 extern void __cyg_profile_func_enter (void *this_fn, void *call_site);
@@ -25,6 +26,7 @@ extern hp_timing_t __get_clockfreq (void
 
 /* Free all allocated resources.  */
 extern void __libc_freeres (void);
+libc_hidden_proto (__libc_freeres)
 
 /* Define and initialize `__progname' et. al.  */
 extern void __init_misc (int, char **, char **);
--- libc/include/wchar.h.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/include/wchar.h	2002-08-02 14:24:32.000000000 +0200
@@ -18,12 +18,8 @@ extern int __mbsinit (__const __mbstate_
 extern size_t __mbrtowc (wchar_t *__restrict __pwc,
 			 __const char *__restrict __s, size_t __n,
 			 __mbstate_t *__restrict __p);
-extern size_t __mbrtowc_internal (wchar_t *__restrict __pwc,
-				  __const char *__restrict __s, size_t __n,
-				  __mbstate_t *__restrict __p)
-     attribute_hidden;
-extern size_t __mbrlen_internal (__const char *__restrict __s, size_t __n,
-				 mbstate_t *__restrict __ps) attribute_hidden;
+libc_hidden_proto (__mbrtowc)
+libc_hidden_proto (__mbrlen)
 extern size_t __wcrtomb (char *__restrict __s, wchar_t __wc,
 			 __mbstate_t *__restrict __ps);
 extern size_t __mbsrtowcs (wchar_t *__restrict __dst,
@@ -68,10 +64,5 @@ extern int __vfwprintf (__FILE *__restri
 			__gnuc_va_list __arg)
      /* __attribute__ ((__format__ (__wprintf__, 3, 0))) */;
 
-#  ifndef NOT_IN_libc
-#   define __mbrlen(s, n, ps) INTUSE(__mbrlen) (s, n, ps)
-#   define __mbrtowc(pwc, s, n, p) INTUSE(__mbrtowc) (pwc, s, n, p)
-#  endif
-
 # endif
 #endif
--- libc/include/string.h.jj	2001-09-12 09:56:44.000000000 +0200
+++ libc/include/string.h	2002-08-02 20:15:29.000000000 +0200
@@ -60,3 +60,8 @@ extern char *__strerror_r (int __errnum,
       (char *) memcpy (__new, __old, __len);				      \
     }))
 #endif
+
+libc_hidden_proto (__mempcpy)
+libc_hidden_proto (__stpncpy)
+libc_hidden_proto (__rawmemchr)
+libc_hidden_proto (__strcasecmp)
--- libc/include/fcntl.h.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/include/fcntl.h	2002-08-02 14:24:32.000000000 +0200
@@ -3,23 +3,15 @@
 
 /* Now define the internal interfaces.  */
 extern int __open64 (__const char *__file, int __oflag, ...);
+libc_hidden_proto (__open64)
 extern int __libc_open64 (const char *file, int oflag, ...);
 extern int __libc_open (const char *file, int oflag, ...);
+libc_hidden_proto (__libc_open)
 extern int __libc_fcntl (int fd, int cmd, ...);
+libc_hidden_proto (__libc_fcntl)
 extern int __open (__const char *__file, int __oflag, ...);
-extern int __open_internal (__const char *__file, int __oflag, ...)
-     attribute_hidden;
+libc_hidden_proto (__open)
 extern int __fcntl (int __fd, int __cmd, ...);
-extern int __fcntl_internal (int __fd, int __cmd, ...) attribute_hidden;
-
-#ifndef NOT_IN_libc
-# define __fcntl(fd, cmd, args...) INTUSE(__fcntl) (fd, cmd, ##args)
-# define __open(file, oflag, args...) INTUSE(__open) (file, oflag, ##args)
-# ifdef SHARED
-#  define __libc_fcntl(fd, cmd, args...) __fcntl_internal (fd, cmd, ##args)
-#  define __libc_open(file, oflag, args...) \
-  __open_internal (file, oflag, ##args)
-# endif
-#endif
+libc_hidden_proto (__fcntl)
 
 #endif
--- libc/include/unistd.h.jj	2002-06-21 11:36:31.000000000 +0200
+++ libc/include/unistd.h	2002-08-02 18:40:22.000000000 +0200
@@ -22,17 +22,19 @@ extern ssize_t __libc_pwrite (int __fd, 
 			      __off_t __offset);
 extern ssize_t __pwrite64 (int __fd, __const void *__buf, size_t __n,
 			   __off64_t __offset);
+libc_hidden_proto (__pwrite64)
 extern ssize_t __libc_pwrite64 (int __fd, __const void *__buf, size_t __n,
 				__off64_t __offset);
 extern ssize_t __libc_read (int __fd, void *__buf, size_t __n);
+libc_hidden_proto (__libc_read)
 extern ssize_t __libc_write (int __fd, __const void *__buf, size_t __n);
+libc_hidden_proto (__libc_write)
 extern int __pipe (int __pipedes[2]);
+libc_hidden_proto (__pipe)
 extern unsigned int __sleep (unsigned int __seconds);
 extern int __chown (__const char *__file,
 		    __uid_t __owner, __gid_t __group);
-extern int __chown_internal (__const char *__file,
-			     __uid_t __owner, __gid_t __group)
-     attribute_hidden;
+libc_hidden_proto (__chown)
 extern int __fchown (int __fd,
 		     __uid_t __owner, __gid_t __group);
 extern int __lchown (__const char *__file, __uid_t __owner,
@@ -54,14 +56,14 @@ char *__canonicalize_directory_name_inte
 
 extern int __dup (int __fd);
 extern int __dup2 (int __fd, int __fd2);
-extern int __dup2_internal (int __fd, int __fd2) attribute_hidden;
+libc_hidden_proto (__dup2)
 extern int __execve (__const char *__path, char *__const __argv[],
 		     char *__const __envp[]);
 extern long int __pathconf (__const char *__path, int __name);
 extern long int __fpathconf (int __fd, int __name);
 extern long int __sysconf (int __name);
 extern __pid_t __getpid (void);
-extern __pid_t __getpid_internal (void) attribute_hidden;
+libc_hidden_proto (__getpid)
 extern __pid_t __getppid (void);
 extern __pid_t __setsid (void);
 extern __uid_t __getuid (void);
@@ -69,12 +71,13 @@ extern __uid_t __geteuid (void);
 extern __gid_t __getgid (void);
 extern __gid_t __getegid (void);
 extern int __getgroups (int __size, __gid_t __list[]);
-extern __pid_t __getpgid_internal (__pid_t __pid) attribute_hidden;
+libc_hidden_proto (__getpgid)
 extern int __group_member (__gid_t __gid);
 extern int __setuid (__uid_t __uid);
 extern int __setreuid (__uid_t __ruid, __uid_t __euid);
 extern int __setgid (__gid_t __gid);
 extern int __setpgid (__pid_t __pid, __pid_t __pgid);
+libc_hidden_proto (__setpgid)
 extern int __setregid (__gid_t __rgid, __gid_t __egid);
 extern __pid_t __vfork (void);
 extern int __ttyname_r (int __fd, char *__buf, size_t __buflen);
@@ -89,18 +92,18 @@ extern int __profil (unsigned short int 
 extern int __getdtablesize (void);
 extern int __brk (void *__addr);
 extern int __close (int __fd);
-extern int __close_internal (int __fd) attribute_hidden;
+libc_hidden_proto (__close)
 extern ssize_t __read (int __fd, void *__buf, size_t __nbytes);
+libc_hidden_proto (__read)
 extern ssize_t __write (int __fd, __const void *__buf, size_t __n);
-extern ssize_t __write_internal (int __fd, __const void *__buf, size_t __n)
-     attribute_hidden;
+libc_hidden_proto (__write)
 extern __pid_t __fork (void);
 extern int __getpagesize (void) __attribute__ ((__const__));
-extern int __getpagesize_internal (void)
-     __attribute__ ((__const__)) attribute_hidden;
+libc_hidden_proto (__getpagesize)
 extern int __ftruncate (int __fd, __off_t __length);
 extern int __ftruncate64 (int __fd, __off64_t __length);
 extern void *__sbrk (intptr_t __delta);
+libc_hidden_proto (__sbrk)
 
 
 /* This variable is set nonzero at startup if the process's effective
@@ -118,16 +121,4 @@ extern int __libc_enable_secure_internal
 /* Various internal function.  */
 extern void __libc_check_standard_fds (void);
 
-
-#ifndef NOT_IN_libc
-# define __close(fd) INTUSE(__close) (fd)
-# define __dup2(fd, fd2) INTUSE(__dup2) (fd, fd2)
-# define __getpagesize() INTUSE(__getpagesize) ()
-# define __getpgid(pid) INTUSE(__getpgid) (pid)
-# define __getpid() INTUSE(__getpid) ()
-# ifdef SHARED
-#  define __libc_write(fd, buf, n) INTUSE(__write) (fd, buf, n)
-# endif
-#endif
-
 #endif
--- libc/include/printf.h.jj	2001-01-02 14:17:32.000000000 +0100
+++ libc/include/printf.h	2002-08-02 17:22:30.000000000 +0200
@@ -7,5 +7,6 @@ extern int __printf_fphex (FILE *, const
 			   const void *const *);
 extern int __printf_fp (FILE *, const struct printf_info *,
 			const void *const *);
+libc_hidden_proto (__printf_fp)
 
 #endif
--- libc/include/sched.h.jj	2000-08-02 21:36:17.000000000 +0200
+++ libc/include/sched.h	2002-08-02 18:09:49.000000000 +0200
@@ -7,6 +7,7 @@ extern int __sched_setparam (__pid_t __p
 extern int __sched_getparam (__pid_t __pid, struct sched_param *__param);
 extern int __sched_setscheduler (__pid_t __pid, int __policy,
 				 __const struct sched_param *__param);
+libc_hidden_proto (__sched_setscheduler)
 extern int __sched_getscheduler (__pid_t __pid);
 extern int __sched_yield (void);
 extern int __sched_get_priority_max (int __algorithm);
--- libc/include/resolv.h.jj	2002-08-02 11:47:37.000000000 +0200
+++ libc/include/resolv.h	2002-08-02 18:16:37.000000000 +0200
@@ -40,6 +40,8 @@ extern void res_send_setqhook (res_send_
 extern void res_send_setrhook (res_send_rhook __hook);
 extern int res_ourserver_p (const res_state __statp,
 			    const struct sockaddr_in6 *__inp);
+libc_hidden_proto (__res_ninit)
+libc_hidden_proto (__res_randomid)
 #endif
 
 #endif
--- libc/include/stdlib.h.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/include/stdlib.h	2002-08-02 18:31:04.000000000 +0200
@@ -8,6 +8,9 @@
 
 /* Now define the internal interfaces.  */
 #ifndef __Need_M_And_C
+
+libc_hidden_proto (__secure_getenv)
+
 extern long int __random (void);
 extern void __srandom (unsigned int __seed);
 extern char *__initstate (unsigned int __seed, char *__statebuf,
--- libc/include/signal.h.jj	2001-02-06 11:19:58.000000000 +0100
+++ libc/include/signal.h	2002-08-02 20:38:45.000000000 +0200
@@ -9,11 +9,13 @@ extern __sighandler_t __bsd_signal (int 
 extern int __kill (__pid_t __pid, int __sig);
 extern int __sigaction (int __sig, __const struct sigaction *__restrict __act,
 			struct sigaction *__restrict __oact);
+libc_hidden_proto (__sigaction)
 extern int __sigblock (int __mask);
 extern int __sigsetmask (int __mask);
 extern int __sigprocmask (int __how,
 			  __const sigset_t *__set, sigset_t *__oset);
 extern int __sigsuspend (__const sigset_t *__set);
+libc_hidden_proto (__sigsuspend)
 extern int __sigwait (__const sigset_t *__set, int *__sig);
 extern int __sigwaitinfo (__const sigset_t *__set, siginfo_t *__info);
 extern int __sigtimedwait (__const sigset_t *__set, siginfo_t *__info,
--- libc/inet/getaliasent_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getaliasent_r.c	2002-08-02 15:08:59.000000000 +0200
@@ -25,6 +25,5 @@
 #define	GETFUNC_NAME		getaliasent
 #define	ENDFUNC_NAME		endaliasent
 #define DATABASE_NAME		aliases
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/inet/getaliasname_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getaliasname_r.c	2002-08-02 15:09:34.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		aliases
 #define ADD_PARAMS		const char *name
 #define ADD_VARIABLES		name
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getnetbyad_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getnetbyad_r.c	2002-08-02 15:09:36.000000000 +0200
@@ -28,6 +28,5 @@
 #define ADD_VARIABLES		net, type
 #define NEED__RES		1
 #define NEED_H_ERRNO		1
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getnetbynm_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getnetbynm_r.c	2002-08-02 15:09:38.000000000 +0200
@@ -27,6 +27,5 @@
 #define ADD_VARIABLES		name
 #define NEED__RES		1
 #define NEED_H_ERRNO		1
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getnetent_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getnetent_r.c	2002-08-02 15:09:40.000000000 +0200
@@ -28,6 +28,5 @@
 #define STAYOPEN_VAR		stayopen
 #define NEED__RES		1
 #define NEED_H_ERRNO		1
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/inet/getproto_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getproto_r.c	2002-08-02 15:09:42.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		protocols
 #define ADD_PARAMS		int proto
 #define ADD_VARIABLES		proto
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getprtent_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getprtent_r.c	2002-08-02 15:09:44.000000000 +0200
@@ -26,6 +26,5 @@
 #define DATABASE_NAME		protocols
 #define STAYOPEN		int stayopen
 #define STAYOPEN_VAR		stayopen
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/inet/getprtname_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getprtname_r.c	2002-08-02 15:09:46.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		protocols
 #define ADD_PARAMS		const char *name
 #define ADD_VARIABLES		name
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getrpcbyname_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getrpcbyname_r.c	2002-08-02 15:09:48.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		rpc
 #define ADD_PARAMS		const char *name
 #define ADD_VARIABLES		name
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getrpcbynumber_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getrpcbynumber_r.c	2002-08-02 15:09:50.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		rpc
 #define ADD_PARAMS		int number
 #define ADD_VARIABLES		number
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getrpcent_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getrpcent_r.c	2002-08-02 15:09:52.000000000 +0200
@@ -26,6 +26,5 @@
 #define DATABASE_NAME		rpc
 #define STAYOPEN		int stayopen
 #define STAYOPEN_VAR		stayopen
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/inet/getservent_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getservent_r.c	2002-08-02 15:09:54.000000000 +0200
@@ -26,6 +26,5 @@
 #define DATABASE_NAME		services
 #define STAYOPEN		int stayopen
 #define STAYOPEN_VAR		stayopen
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/inet/getsrvbynm_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getsrvbynm_r.c	2002-08-02 15:09:57.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		services
 #define ADD_PARAMS		const char *name, const char *proto
 #define ADD_VARIABLES		name, proto
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/getsrvbypt_r.c.jj	2002-04-30 12:52:49.000000000 +0200
+++ libc/inet/getsrvbypt_r.c	2002-08-02 15:09:59.000000000 +0200
@@ -25,6 +25,5 @@
 #define DATABASE_NAME		services
 #define ADD_PARAMS		int port, const char *proto
 #define ADD_VARIABLES		port, proto
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/gethstbyad_r.c.jj	2002-02-28 12:31:49.000000000 +0100
+++ libc/inet/gethstbyad_r.c	2002-08-02 20:44:50.000000000 +0200
@@ -48,6 +48,6 @@
     }
 
 /* Special name for the lookup function.  */
-#define DB_LOOKUP_FCT INTUSE(__nss_hosts_lookup)
+#define DB_LOOKUP_FCT __nss_hosts_lookup
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/gethstbynm2_r.c.jj	2002-02-28 12:31:49.000000000 +0100
+++ libc/inet/gethstbynm2_r.c	2002-08-02 20:45:04.000000000 +0200
@@ -41,6 +41,6 @@
 #define HAVE_AF			1
 
 /* Special name for the lookup function.  */
-#define DB_LOOKUP_FCT INTUSE(__nss_hosts_lookup)
+#define DB_LOOKUP_FCT __nss_hosts_lookup
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/gethstbynm_r.c.jj	2002-02-28 12:31:49.000000000 +0100
+++ libc/inet/gethstbynm_r.c	2002-08-02 20:45:13.000000000 +0200
@@ -40,6 +40,6 @@
 #define HAVE_LOOKUP_BUFFER	1
 
 /* Special name for the lookup function.  */
-#define DB_LOOKUP_FCT INTUSE(__nss_hosts_lookup)
+#define DB_LOOKUP_FCT __nss_hosts_lookup
 
 #include "../nss/getXXbyYY_r.c"
--- libc/inet/gethstent_r.c.jj	2002-02-28 12:31:49.000000000 +0100
+++ libc/inet/gethstent_r.c	2002-08-02 20:45:30.000000000 +0200
@@ -30,6 +30,6 @@
 #define NEED__RES	1
 
 /* Special name for the lookup function.  */
-#define DB_LOOKUP_FCT INTUSE(__nss_hosts_lookup)
+#define DB_LOOKUP_FCT __nss_hosts_lookup
 
 #include "../nss/getXXent_r.c"
--- libc/libio/iofdopen.c.jj	2002-08-02 11:47:37.000000000 +0200
+++ libc/libio/iofdopen.c	2002-08-02 14:24:32.000000000 +0200
@@ -37,7 +37,7 @@
 
 #ifndef _IO_fcntl
 #ifdef _LIBC
-#define _IO_fcntl INTUSE(__fcntl)
+#define _IO_fcntl __fcntl
 #else
 #define _IO_fcntl fcntl
 #endif
--- libc/libio/genops.c.jj	2002-02-28 12:31:49.000000000 +0100
+++ libc/libio/genops.c	2002-08-02 15:15:48.000000000 +0200
@@ -236,6 +236,7 @@ __overflow (f, ch)
     _IO_fwide (f, -1);
   return _IO_OVERFLOW (f, ch);
 }
+libc_hidden_def (__overflow)
 
 static int save_for_backup __P ((_IO_FILE *fp, char *end_p))
 #ifdef _LIBC
--- libc/libio/iovdprintf.c.jj	2002-02-28 12:31:50.000000000 +0100
+++ libc/libio/iovdprintf.c	2002-08-02 15:17:45.000000000 +0200
@@ -26,7 +26,6 @@
    in files containing the exception.  */
 
 #include "libioP.h"
-#include "libio.h"
 #include <stdio_ext.h>
 
 int
--- libc/libio/libioP.h.jj	2002-08-02 11:47:37.000000000 +0200
+++ libc/libio/libioP.h	2002-08-02 15:23:29.000000000 +0200
@@ -48,6 +48,18 @@
 #ifndef INTDEF2
 # define INTDEF2(name)
 #endif
+#ifndef libc_hidden_proto
+# define libc_hidden_proto(name)
+#endif
+#ifndef libc_hidden_def
+# define libc_hidden_def(name)
+#endif
+#ifndef libc_hidden_weak
+# define libc_hidden_weak(name)
+#endif
+
+libc_hidden_proto (__overflow)
+libc_hidden_proto (__woverflow)
 
 #ifdef __cplusplus
 extern "C" {
--- libc/libio/wgenops.c.jj	2002-07-01 12:31:52.000000000 +0200
+++ libc/libio/wgenops.c	2002-08-02 15:23:12.000000000 +0200
@@ -246,6 +246,7 @@ __woverflow (f, wch)
     _IO_fwide (f, 1);
   return _IO_OVERFLOW (f, wch);
 }
+libc_hidden_def (__woverflow)
 
 
 wint_t
--- libc/malloc/set-freeres.c.jj	2001-08-23 18:48:21.000000000 +0200
+++ libc/malloc/set-freeres.c	2002-08-02 19:18:54.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -43,3 +43,4 @@ __libc_freeres (void)
       RUN_HOOK (__libc_subfreeres, ());
     }
 }
+libc_hidden_def (__libc_freeres)
--- libc/nss/nsswitch.h.jj	2002-03-23 11:50:55.000000000 +0100
+++ libc/nss/nsswitch.h	2002-08-02 14:24:32.000000000 +0200
@@ -103,7 +103,7 @@ typedef struct name_database
    than one function can use the database.  */
 int __nss_database_lookup (const char *database, const char *alternative_name,
 			   const char *defconfig, service_user **ni);
-
+libc_hidden_proto (__nss_database_lookup)
 
 /* Put first function with name FCT_NAME for SERVICE in FCTP.  The
    position is remembered in NI.  The function returns a value < 0 if
@@ -125,6 +125,7 @@ int __nss_lookup (service_user **ni, con
    natural end.  */
 int __nss_next (service_user **ni, const char *fct_name, void **fctp,
 		int status, int all_values);
+libc_hidden_proto (__nss_next)
 
 /* Search for the service described in NI for a function named FCT_NAME
    and return a pointer to this function if successful.  */
--- libc/nss/nsswitch.c.jj	2002-03-23 11:50:55.000000000 +0100
+++ libc/nss/nsswitch.c	2002-08-02 14:24:32.000000000 +0200
@@ -136,6 +136,7 @@ __nss_database_lookup (const char *datab
 
   return 0;
 }
+libc_hidden_def (__nss_database_lookup)
 
 
 /* -1 == not found
@@ -199,6 +200,7 @@ __nss_next (service_user **ni, const cha
 
   return *fctp != NULL ? 0 : -1;
 }
+libc_hidden_def (__nss_next)
 
 
 int
--- libc/nss/getXXent_r.c.jj	2002-07-01 12:35:37.000000000 +0200
+++ libc/nss/getXXent_r.c	2002-08-02 15:05:16.000000000 +0200
@@ -94,10 +94,6 @@
 # define NEED__RES 0
 #endif
 
-#ifndef NSS_attribute_hidden
-# define NSS_attribute_hidden
-#endif
-
 /* This handle for the NSS data base is shared between all
    set/get/endXXXent functions.  */
 static service_user *nip;
@@ -118,7 +114,8 @@ __libc_lock_define_initialized (static, 
 
 /* The lookup function for the first entry of this service.  */
 extern int DB_LOOKUP_FCT (service_user **nip, const char *name, void **fctp)
-     internal_function NSS_attribute_hidden;
+     internal_function;
+libc_hidden_proto (DB_LOOKUP_FCT)
 
 void
 SETFUNC_NAME (STAYOPEN)
--- libc/nss/getXXbyYY_r.c.jj	2002-07-01 12:32:22.000000000 +0200
+++ libc/nss/getXXbyYY_r.c	2002-08-02 15:04:38.000000000 +0200
@@ -109,17 +109,14 @@
 # define AF_VAR_P NULL
 #endif
 
-#ifndef NSS_attribute_hidden
-# define NSS_attribute_hidden
-#endif
-
 /* Type of the lookup function we need here.  */
 typedef enum nss_status (*lookup_function) (ADD_PARAMS, LOOKUP_TYPE *, char *,
 					    size_t, int * H_ERRNO_PARM);
 
 /* The lookup function for the first entry of this service.  */
 extern int DB_LOOKUP_FCT (service_user **nip, const char *name, void **fctp)
-     internal_function NSS_attribute_hidden;
+     internal_function;
+libc_hidden_proto (DB_LOOKUP_FCT)
 
 /* Interval in which we transfer retry to contact the NSCD.  */
 #define NSS_NSCD_RETRY	100
--- libc/nss/XXX-lookup.c.jj	2002-03-23 11:50:55.000000000 +0100
+++ libc/nss/XXX-lookup.c	2002-08-02 15:06:41.000000000 +0200
@@ -57,6 +57,7 @@ service_user *DATABASE_NAME_SYMBOL attri
 
 extern int DB_LOOKUP_FCT (service_user **ni, const char *fct_name,
 			  void **fctp) internal_function;
+libc_hidden_proto (DB_LOOKUP_FCT)
 
 int
 internal_function
@@ -71,3 +72,4 @@ DB_LOOKUP_FCT (service_user **ni, const 
 
   return __nss_lookup (ni, fct_name, fctp);
 }
+libc_hidden_def (DB_LOOKUP_FCT)
--- libc/nss/hosts-lookup.c.jj	2002-02-28 12:32:03.000000000 +0100
+++ libc/nss/hosts-lookup.c	2002-08-02 20:43:10.000000000 +0200
@@ -21,5 +21,3 @@
 #define DEFAULT_CONFIG "dns [!UNAVAIL=return] files"
 
 #include "XXX-lookup.c"
-
-INTDEF(__nss_hosts_lookup)
--- libc/posix/bsd-getpgrp.c.jj	2002-04-30 12:53:17.000000000 +0200
+++ libc/posix/bsd-getpgrp.c	2002-08-02 15:34:06.000000000 +0200
@@ -22,11 +22,11 @@
 /* Don't include unistd.h because it declares a conflicting
    prototype for the POSIX.1 `getpgrp' function.  */
 extern pid_t __getpgid (pid_t);
-extern pid_t __getpgid_internal (pid_t);
+libc_hidden_proto (__getpgid)
 extern pid_t __bsd_getpgrp (pid_t);
 
 pid_t
 __bsd_getpgrp (pid_t pid)
 {
-  return INTUSE(__getpgid) (pid);
+  return __getpgid (pid);
 }
--- libc/resolv/res_init.c.jj	2002-06-05 10:27:39.000000000 +0200
+++ libc/resolv/res_init.c	2002-08-02 18:13:49.000000000 +0200
@@ -135,6 +135,9 @@ res_ninit(res_state statp) {
 
 	return (__res_vinit(statp, 0));
 }
+#ifdef _LIBC
+libc_hidden_def (__res_ninit)
+#endif
 
 /* This function has to be reachable by res_data.c but not publically. */
 int
@@ -521,6 +524,9 @@ res_randomid(void) {
 	__gettimeofday(&now, NULL);
 	return (0xffff & (now.tv_sec ^ now.tv_usec ^ __getpid()));
 }
+#ifdef _LIBC
+libc_hidden_def (__res_randomid)
+#endif
 
 /*
  * This routine is for closing the socket if a virtual circuit is used and
--- libc/shadow/getspent_r.c.jj	2002-04-30 12:53:24.000000000 +0200
+++ libc/shadow/getspent_r.c	2002-08-02 15:10:19.000000000 +0200
@@ -26,6 +26,5 @@
 #define	ENDFUNC_NAME		endspent
 #define DATABASE_NAME		shadow
 #define BUFLEN			1024
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXent_r.c"
--- libc/shadow/getspnam_r.c.jj	2002-04-30 12:53:24.000000000 +0200
+++ libc/shadow/getspnam_r.c	2002-08-02 15:10:22.000000000 +0200
@@ -26,6 +26,5 @@
 #define ADD_PARAMS		const char *name
 #define ADD_VARIABLES		name
 #define BUFLEN			1024
-#define NSS_attribute_hidden	attribute_hidden
 
 #include "../nss/getXXbyYY_r.c"
--- libc/stdio-common/printf_fp.c.jj	2002-07-23 10:05:47.000000000 +0200
+++ libc/stdio-common/printf_fp.c	2002-08-02 17:29:15.000000000 +0200
@@ -1146,6 +1146,7 @@ __printf_fp (FILE *fp,
   }
   return done;
 }
+libc_hidden_def (__printf_fp)
 
 /* Return the number of extra grouping characters that will be inserted
    into a number with INTDIG_MAX integer digits.  */
--- libc/stdlib/strfmon.c.jj	2002-02-28 12:32:13.000000000 +0100
+++ libc/stdlib/strfmon.c	2002-08-02 17:29:58.000000000 +0200
@@ -76,6 +76,7 @@
 
 extern int __printf_fp (FILE *, const struct printf_info *,
 			const void *const *);
+libc_hidden_proto (__printf_fp)
 /* This function determines the number of digit groups in the output.
    The definition is in printf_fp.c.  */
 extern unsigned int __guess_grouping (unsigned int intdig_max,
--- libc/stdlib/secure-getenv.c.jj	2001-08-23 18:49:14.000000000 +0200
+++ libc/stdlib/secure-getenv.c	2002-08-02 19:19:02.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1994, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1994, 1996, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,3 +28,4 @@ __secure_getenv (name)
 {
   return __libc_enable_secure ? NULL : getenv (name);
 }
+libc_hidden_def (__secure_getenv)
--- libc/sunrpc/rpc_thread.c.jj	2002-08-02 11:47:41.000000000 +0200
+++ libc/sunrpc/rpc_thread.c	2002-08-02 18:26:08.000000000 +0200
@@ -85,6 +85,7 @@ __rpc_thread_svc_fdset (void)
 		return &svc_fdset;
 	return &tvp->svc_fdset_s;
 }
+libc_hidden_def (__rpc_thread_svc_fdset)
 
 struct rpc_createerr *
 __rpc_thread_createerr (void)
@@ -96,6 +97,7 @@ __rpc_thread_createerr (void)
 		return &rpc_createerr;
 	return &tvp->rpc_createerr_s;
 }
+libc_hidden_def (__rpc_thread_createerr)
 
 struct pollfd **
 __rpc_thread_svc_pollfd (void)
--- libc/sysdeps/alpha/alphaev67/rawmemchr.S.jj	2001-08-23 18:49:20.000000000 +0200
+++ libc/sysdeps/alpha/alphaev67/rawmemchr.S	2002-08-02 17:38:03.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -89,4 +89,5 @@ $found:
 
 	END(__rawmemchr)
 
+libc_hidden_def (__rawmemchr)
 weak_alias (__rawmemchr, rawmemchr)
--- libc/sysdeps/alpha/alphaev67/stpncpy.S.jj	2001-08-23 18:49:20.000000000 +0200
+++ libc/sysdeps/alpha/alphaev67/stpncpy.S	2002-08-02 19:19:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
    Contributed by Richard Henderson (rth@redhat.com)
    This file is part of the GNU C Library.
 
@@ -112,4 +112,5 @@ $zerocount:
 
 	END(__stpncpy)
 
+libc_hidden_def (__stpncpy)
 weak_alias (__stpncpy, stpncpy)
--- libc/sysdeps/alpha/rawmemchr.S.jj	2001-08-23 18:49:20.000000000 +0200
+++ libc/sysdeps/alpha/rawmemchr.S	2002-08-02 19:19:12.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2000 Free Software Foundation, Inc.
+/* Copyright (C) 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -86,4 +86,5 @@ $found:
 
 	END(__rawmemchr)
 
+libc_hidden_def (__rawmemchr)
 weak_alias (__rawmemchr, rawmemchr)
--- libc/sysdeps/alpha/stpncpy.S.jj	2001-08-23 18:49:20.000000000 +0200
+++ libc/sysdeps/alpha/stpncpy.S	2002-08-02 19:19:16.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Richard Henderson (rth@tamu.edu)
 
@@ -103,4 +103,5 @@ $zerocount:
 
 	END(__stpncpy)
 
+libc_hidden_def (__stpncpy)
 weak_alias (__stpncpy, stpncpy)
--- libc/sysdeps/generic/fcntl.c.jj	2002-04-30 12:53:42.000000000 +0200
+++ libc/sysdeps/generic/fcntl.c	2002-08-02 14:24:32.000000000 +0200
@@ -19,8 +19,6 @@
 #include <errno.h>
 #include <fcntl.h>
 
-#undef __fcntl
-
 /* Perform file control operations on FD.  */
 int
 __fcntl (fd, cmd)
@@ -36,6 +34,7 @@ __fcntl (fd, cmd)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__fcntl)
 stub_warning (fcntl)
 
 weak_alias (__fcntl, fcntl)
--- libc/sysdeps/generic/mempcpy.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/mempcpy.c	2002-08-02 19:19:23.000000000 +0200
@@ -1,7 +1,7 @@
 /* Copy memory to memory until the specified number of bytes
    has been copied, return pointer to following byte.
    Overlap is NOT handled correctly.
-   Copyright (C) 1991, 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1991, 1997, 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Torbjorn Granlund (tege@sics.se).
 
@@ -25,7 +25,6 @@
 #include <pagecopy.h>
 
 #undef mempcpy
-#undef __mempcpy
 
 void *
 __mempcpy (dstpp, srcpp, len)
@@ -64,4 +63,5 @@ __mempcpy (dstpp, srcpp, len)
 
   return (void *) dstp;
 }
+libc_hidden_def (__mempcpy)
 weak_alias (__mempcpy, mempcpy)
--- libc/sysdeps/generic/open64.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/open64.c	2002-08-02 19:19:30.000000000 +0200
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 1999, 2000, 2002
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,6 +50,7 @@ __libc_open64 (file, oflag)
   return -1;
 }
 strong_alias (__libc_open64, __open64)
+libc_hidden_def (__open64)
 weak_alias (__libc_open64, BP_SYM (open64))
 
 stub_warning (open64)
--- libc/sysdeps/generic/open.c.jj	2002-04-30 12:53:42.000000000 +0200
+++ libc/sysdeps/generic/open.c	2002-08-02 14:24:32.000000000 +0200
@@ -21,8 +21,6 @@
 #include <stdarg.h>
 #include <stddef.h>
 
-#undef __open
-
 /* Open FILE with access OFLAG.  If OFLAG includes O_CREAT,
    a third argument is the file protection.  */
 int
@@ -49,8 +47,8 @@ __open (file, oflag)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__open)
 stub_warning (open)
 
-INTDEF(__open)
 weak_alias (__open, open)
 #include <stub-tag.h>
--- libc/sysdeps/generic/chown.c.jj	2001-08-23 18:49:24.000000000 +0200
+++ libc/sysdeps/generic/chown.c	2002-08-02 19:19:42.000000000 +0200
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991, 1992, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1996, 1997, 2002
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,6 +38,7 @@ __chown (file, owner, group)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__chown)
 stub_warning (chown)
 
 weak_alias (__chown, chown)
--- libc/sysdeps/generic/close.c.jj	2001-08-23 18:49:27.000000000 +0200
+++ libc/sysdeps/generic/close.c	2002-08-02 19:19:47.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -33,6 +33,7 @@ __close (fd)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__close)
 stub_warning (close)
 
 weak_alias (__close, close)
--- libc/sysdeps/generic/dup2.c.jj	2001-08-23 18:49:27.000000000 +0200
+++ libc/sysdeps/generic/dup2.c	2002-08-02 19:19:53.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,6 +41,7 @@ __dup2 (fd, fd2)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__dup2)
 stub_warning (dup2)
 
 weak_alias (__dup2, dup2)
--- libc/sysdeps/generic/getpagesize.c.jj	2002-04-30 12:53:42.000000000 +0200
+++ libc/sysdeps/generic/getpagesize.c	2002-08-02 15:37:26.000000000 +0200
@@ -19,8 +19,6 @@
 #include <errno.h>
 #include <unistd.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -28,8 +26,8 @@ __getpagesize ()
   __set_errno (ENOSYS);
   return 0;
 }
+libc_hidden_def (__getpagesize)
 stub_warning (getpagesize)
 
-INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
 #include <stub-tag.h>
--- libc/sysdeps/generic/getpgid.c.jj	2002-04-30 12:53:42.000000000 +0200
+++ libc/sysdeps/generic/getpgid.c	2002-08-02 15:37:49.000000000 +0200
@@ -19,8 +19,6 @@
 #include <unistd.h>
 #include <sys/types.h>
 
-#undef __getpgid
-
 /* Get the process group ID of process PID.  */
 pid_t
 __getpgid (pid)
@@ -28,7 +26,7 @@ __getpgid (pid)
 {
   return pid;
 }
-INTDEF(__getpgid)
+libc_hidden_def (__getpgid)
 weak_alias (__getpgid, getpgid)
 
 stub_warning (getpgid)
--- libc/sysdeps/generic/getpid.c.jj	2002-04-30 12:53:42.000000000 +0200
+++ libc/sysdeps/generic/getpid.c	2002-08-02 15:39:08.000000000 +0200
@@ -19,8 +19,6 @@
 #include <errno.h>
 #include <unistd.h>
 
-#undef __getpid
-
 /* Get the process ID of the calling process.  */
 int
 __getpid ()
@@ -28,8 +26,8 @@ __getpid ()
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__getpid)
 stub_warning (getpid)
 
-INTDEF(__getpid)
 weak_alias (__getpid, getpid)
 #include <stub-tag.h>
--- libc/sysdeps/generic/pipe.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/pipe.c	2002-08-02 19:19:57.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,6 +37,7 @@ __pipe (__pipedes)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__pipe)
 stub_warning (pipe)
 
 weak_alias (__pipe, pipe)
--- libc/sysdeps/generic/write.c.jj	2002-04-30 12:53:43.000000000 +0200
+++ libc/sysdeps/generic/write.c	2002-08-02 15:40:22.000000000 +0200
@@ -21,9 +21,6 @@
 #include <unistd.h>
 #include <stddef.h>
 
-#undef __libc_write
-#undef __write
-
 /* Write NBYTES of BUF to FD.  Return the number written, or -1.  */
 ssize_t
 __libc_write (int fd, const void *buf, size_t nbytes)
@@ -44,9 +41,10 @@ __libc_write (int fd, const void *buf, s
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__libc_write)
 stub_warning (write)
 
 weak_alias (__libc_write, __write)
-INTDEF(__write)
+libc_hidden_weak (__write)
 weak_alias (__libc_write, write)
 #include <stub-tag.h>
--- libc/sysdeps/generic/prof-freq.c.jj	2001-01-02 14:18:03.000000000 +0100
+++ libc/sysdeps/generic/prof-freq.c	2002-08-02 17:38:40.000000000 +0200
@@ -52,3 +52,4 @@ __profile_frequency (void)
     return 0;
   return (1000000 / tim.it_interval.tv_usec);
 }
+libc_hidden_def (__profile_frequency)
--- libc/sysdeps/generic/pwrite64.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/pwrite64.c	2002-08-02 19:20:13.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1997,1999,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,6 +41,7 @@ __libc_pwrite64 (int fd, const void *buf
   return -1;
 }
 strong_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_def (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 stub_warning (pwrite64)
 #include <stub-tag.h>
--- libc/sysdeps/generic/rawmemchr.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/rawmemchr.c	2002-08-02 19:20:21.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,93,96,97,99,2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,93,96,97,99,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Based on strlen implementation by Torbjorn Granlund (tege@sics.se),
    with help from Dan Sahlin (dan@sics.se) and
@@ -185,4 +185,5 @@ __rawmemchr (s, c_in)
 	}
     }
 }
+libc_hidden_def (__rawmemchr)
 weak_alias (__rawmemchr, rawmemchr)
--- libc/sysdeps/generic/read.c.jj	2001-08-23 18:49:33.000000000 +0200
+++ libc/sysdeps/generic/read.c	2002-08-02 19:20:27.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,8 +40,10 @@ __libc_read (int fd, void *buf, size_t n
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__libc_read)
 stub_warning (read)
 
 weak_alias (__libc_read, __read)
+libc_hidden_weak (__read)
 weak_alias (__libc_read, read)
 #include <stub-tag.h>
--- libc/sysdeps/generic/sbrk.c.jj	2002-03-23 11:51:05.000000000 +0100
+++ libc/sysdeps/generic/sbrk.c	2002-08-02 18:26:55.000000000 +0200
@@ -52,5 +52,5 @@ __sbrk (intptr_t increment)
 
   return oldbrk;
 }
-
+libc_hidden_def (__sbrk)
 weak_alias (__sbrk, sbrk)
--- libc/sysdeps/generic/sched_sets.c.jj	2001-08-23 18:49:35.000000000 +0200
+++ libc/sysdeps/generic/sched_sets.c	2002-08-02 19:20:31.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,6 +28,7 @@ __sched_setscheduler (pid_t pid, int pol
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__sched_setscheduler)
 stub_warning (sched_setscheduler)
 
 weak_alias (__sched_setscheduler, sched_setscheduler)
--- libc/sysdeps/generic/select.c.jj	2001-08-23 18:49:35.000000000 +0200
+++ libc/sysdeps/generic/select.c	2002-08-02 19:20:37.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,6 +36,7 @@ __select (nfds, readfds, writefds, excep
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__select)
 stub_warning (select)
 
 weak_alias (__select, select)
--- libc/sysdeps/generic/send.c.jj	2001-08-23 18:49:35.000000000 +0200
+++ libc/sysdeps/generic/send.c	2002-08-02 19:20:50.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1997,2001,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,8 +30,8 @@ __send (fd, buf, n, flags)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__send)
 weak_alias (__send, send)
 
-
 stub_warning (send)
 #include <stub-tag.h>
--- libc/sysdeps/generic/setpgid.c.jj	2001-08-23 18:49:35.000000000 +0200
+++ libc/sysdeps/generic/setpgid.c	2002-08-02 19:20:56.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,6 +30,7 @@ __setpgid (pid, pgid)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__setpgid)
 stub_warning (setpgid)
 
 weak_alias (__setpgid, setpgid)
--- libc/sysdeps/generic/sigaction.c.jj	2001-08-23 18:49:35.000000000 +0200
+++ libc/sysdeps/generic/sigaction.c	2002-08-02 19:21:02.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,6 +37,7 @@ __sigaction (sig, act, oact)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__sigaction)
 stub_warning (sigaction)
 
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/generic/sigsuspend.c.jj	2001-08-23 18:49:38.000000000 +0200
+++ libc/sysdeps/generic/sigsuspend.c	2002-08-02 19:21:11.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1997,1998,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,6 +29,7 @@ __sigsuspend (set)
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
 
 stub_warning (sigsuspend)
--- libc/sysdeps/generic/statfs.c.jj	2001-08-23 18:49:38.000000000 +0200
+++ libc/sysdeps/generic/statfs.c	2002-08-02 19:21:17.000000000 +0200
@@ -1,5 +1,5 @@
 /* statfs -- Return information about the filesystem on which FILE resides.
-   Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+   Copyright (C) 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,6 +28,7 @@ __statfs (const char *file, struct statf
   __set_errno (ENOSYS);
   return -1;
 }
+libc_hidden_def (__statfs)
 weak_alias (__statfs, statfs)
 
 stub_warning (statfs)
--- libc/sysdeps/generic/stpncpy.c.jj	2001-08-23 18:49:38.000000000 +0200
+++ libc/sysdeps/generic/stpncpy.c	2002-08-02 19:21:22.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -95,5 +95,6 @@ __stpncpy (dest, src, n)
   return dest - 1;
 }
 #ifdef weak_alias
+libc_hidden_def (__stpncpy)
 weak_alias (__stpncpy, stpncpy)
 #endif
--- libc/sysdeps/generic/strcasecmp.c.jj	2001-12-10 19:19:21.000000000 +0100
+++ libc/sysdeps/generic/strcasecmp.c	2002-08-02 19:21:33.000000000 +0200
@@ -1,4 +1,5 @@
-/* Copyright (C) 1991,1992,1995,1996,1997,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1995,1996,1997,2001,2002
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -66,5 +67,6 @@ __strcasecmp (s1, s2 LOCALE_PARAM)
   return result;
 }
 #ifndef __strcasecmp
+libc_hidden_def (__strcasecmp)
 weak_alias (__strcasecmp, strcasecmp)
 #endif
--- libc/sysdeps/i386/i586/mempcpy.S.jj	2000-07-27 15:59:51.000000000 +0200
+++ libc/sysdeps/i386/i586/mempcpy.S	2002-08-02 14:24:32.000000000 +0200
@@ -1,4 +1,5 @@
 #define memcpy __mempcpy
 #include <sysdeps/i386/i586/memcpy.S>
 
+libc_hidden_def (BP_SYM (__mempcpy))
 weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy))
--- libc/sysdeps/i386/i686/mempcpy.S.jj	2001-08-23 18:49:52.000000000 +0200
+++ libc/sysdeps/i386/i686/mempcpy.S	2002-08-02 19:21:43.000000000 +0200
@@ -1,7 +1,7 @@
 /* Copy memory block and return pointer to following byte.
    For Intel 80x86, x>=6.
    This file is part of the GNU C Library.
-   Copyright (C) 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1998.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -57,4 +57,5 @@ ENTRY (BP_SYM (__mempcpy))
 	LEAVE
 	RET_PTR
 END (BP_SYM (__mempcpy))
+libc_hidden_def (BP_SYM (__mempcpy))
 weak_alias (BP_SYM (__mempcpy), BP_SYM (mempcpy))
--- libc/sysdeps/i386/rawmemchr.S.jj	2001-08-23 18:49:48.000000000 +0200
+++ libc/sysdeps/i386/rawmemchr.S	2002-08-02 17:43:35.000000000 +0200
@@ -1,6 +1,6 @@
 /* rawmemchr (str, ch) -- Return pointer to first occurrence of CH in STR.
    For Intel 80x86, x>=3.
-   Copyright (C) 1994, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1994,95,96,97,98,99,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
    Optimised a little by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@@ -222,4 +222,5 @@ L(9):
 	RET_PTR
 END (BP_SYM (__rawmemchr))
 
+libc_hidden_def (BP_SYM (__rawmemchr))
 weak_alias (BP_SYM (__rawmemchr), BP_SYM (rawmemchr))
--- libc/sysdeps/i386/stpncpy.S.jj	2001-08-23 18:49:48.000000000 +0200
+++ libc/sysdeps/i386/stpncpy.S	2002-08-02 19:21:57.000000000 +0200
@@ -1,7 +1,7 @@
 /* copy no more then N bytes from SRC to DEST, returning the address of
    the terminating '\0' in DEST.
    For Intel 80x86, x>=3.
-   Copyright (C) 1994, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1994,1995,1996,1997,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>
    Some bug fixes by Alan Modra <Alan@SPRI.Levels.UniSA.Edu.Au>
@@ -153,4 +153,5 @@ L(9):
 	RET_PTR
 END (BP_SYM (__stpncpy))
 
+libc_hidden_def (BP_SYM (__stpncpy))
 weak_alias (BP_SYM (__stpncpy), BP_SYM (stpncpy))
--- libc/sysdeps/m68k/rawmemchr.S.jj	2001-08-23 18:49:59.000000000 +0200
+++ libc/sysdeps/m68k/rawmemchr.S	2002-08-02 19:22:01.000000000 +0200
@@ -1,6 +1,6 @@
 /* rawmemchr (str, ch) -- Return pointer to first occurrence of CH in STR.
    For Motorola 68000.
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Andreas Schwab <schwab@gnu.org>.
 
@@ -176,4 +176,5 @@ L(L9:)
 	rts
 END(__rawmemchr)
 
+libc_hidden_def (__rawmemchr)
 weak_alias (__rawmemchr, rawmemchr)
--- libc/sysdeps/mach/hurd/fcntl.c.jj	2002-06-05 10:27:45.000000000 +0200
+++ libc/sysdeps/mach/hurd/fcntl.c	2002-08-02 14:24:32.000000000 +0200
@@ -23,10 +23,6 @@
 #include <stdarg.h>
 #include <sys/file.h>		/* XXX for LOCK_* */
 
-#undef __libc_fcntl
-#undef __fcntl
-
-
 /* Perform file control operations on FD.  */
 int
 __libc_fcntl (int fd, int cmd, ...)
@@ -200,7 +196,7 @@ __libc_fcntl (int fd, int cmd, ...)
 
   return result;
 }
-
-INTDEF2 (__libc_fcntl, __fcntl)
+libc_hidden_def (__libc_fcntl)
 weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
 weak_alias (__libc_fcntl, fcntl)
--- libc/sysdeps/mach/hurd/open.c.jj	2002-04-30 12:55:01.000000000 +0200
+++ libc/sysdeps/mach/hurd/open.c	2002-08-02 14:24:32.000000000 +0200
@@ -22,9 +22,6 @@
 #include <hurd.h>
 #include <hurd/fd.h>
 
-#undef __libc_open
-#undef __open
-
 /* Open FILE with access OFLAG.  If OFLAG includes O_CREAT,
    a third argument is the file protection.  */
 int
@@ -50,6 +47,7 @@ __libc_open (const char *file, int oflag
   return _hurd_intern_fd (port, oflag, 1);
 }
 
-INTDEF2(__libc_open, __open)
+libc_hidden_def (__libc_open)
 weak_alias (__libc_open, __open)
+libc_hidden_weak (__open)
 weak_alias (__libc_open, open)
--- libc/sysdeps/mach/hurd/chown.c.jj	2002-04-30 12:54:57.000000000 +0200
+++ libc/sysdeps/mach/hurd/chown.c	2002-08-02 15:59:13.000000000 +0200
@@ -38,6 +38,5 @@ __chown (file, owner, group)
     return __hurd_fail (err);
   return 0;
 }
-
-INTDEF(__chown)
+libc_hidden_def (__chown)
 weak_alias (__chown, chown)
--- libc/sysdeps/mach/hurd/close.c.jj	2002-06-05 10:27:45.000000000 +0200
+++ libc/sysdeps/mach/hurd/close.c	2002-08-02 16:07:41.000000000 +0200
@@ -21,8 +21,6 @@
 #include <hurd.h>
 #include <hurd/fd.h>
 
-#undef __close
-
 /* Close the file descriptor FD.  */
 int
 __close (int fd)
@@ -33,6 +31,5 @@ __close (int fd)
 
   return err ? __hurd_fail (err) : 0;
 }
-
-INTDEF (__close)
+libc_hidden_def (__close)
 weak_alias (__close, close)
--- libc/sysdeps/mach/hurd/dup2.c.jj	2002-04-30 12:54:57.000000000 +0200
+++ libc/sysdeps/mach/hurd/dup2.c	2002-08-02 16:08:12.000000000 +0200
@@ -22,9 +22,6 @@
 #include <hurd.h>
 #include <hurd/fd.h>
 
-#undef __dup2
-
-
 /* Duplicate FD to FD2, closing the old FD2 and making FD2 be
    open on the same file as FD is.  Return FD2 or -1.  */
 int
@@ -133,6 +130,5 @@ __dup2 (fd, fd2)
 
   return fd2;
 }
-
-INTDEF(__dup2)
+libc_hidden_def (__dup2)
 weak_alias (__dup2, dup2)
--- libc/sysdeps/mach/hurd/getpgid.c.jj	2002-04-30 12:54:57.000000000 +0200
+++ libc/sysdeps/mach/hurd/getpgid.c	2002-08-02 16:08:30.000000000 +0200
@@ -21,8 +21,6 @@
 #include <hurd.h>
 #include <hurd/port.h>
 
-#undef __getpgid
-
 /* Get the process group ID of process PID.  */
 int
 __getpgid (pid)
@@ -42,6 +40,5 @@ __getpgid (pid)
 
   return err ? __hurd_fail (err) : pgrp;
 }
-
-INTDEF(__getpgid)
+libc_hidden_def (__getpgid)
 weak_alias (__getpgid, getpgid)
--- libc/sysdeps/mach/hurd/getpid.c.jj	2002-04-30 12:54:58.000000000 +0200
+++ libc/sysdeps/mach/hurd/getpid.c	2002-08-02 16:08:43.000000000 +0200
@@ -20,8 +20,6 @@
 #include <unistd.h>
 #include <hurd.h>
 
-#undef __getpid
-
 /* Get the process ID of the calling process.  */
 pid_t
 __getpid ()
@@ -29,6 +27,5 @@ __getpid ()
   /* Assumes atomic word fetch and store, so doesn't lock _hurd_pid_lock.  */
   return _hurd_pid;
 }
-
-INTDEF(__getpid)
+libc_hidden_def (__getpid)
 weak_alias (__getpid, getpid)
--- libc/sysdeps/mach/hurd/pipe.c.jj	2001-08-23 18:50:04.000000000 +0200
+++ libc/sysdeps/mach/hurd/pipe.c	2002-08-02 19:22:13.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 96, 99, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1992,93,94,95,96,99,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -19,6 +19,7 @@
 #include <errno.h>
 #include <sys/socket.h>
 #include <sys/stat.h>
+#include <unistd.h>
 
 /* Create a one-way communication channel (pipe).
    Actually the channel is two-way on the Hurd.
@@ -46,5 +47,5 @@ __pipe (int fds[2])
 
   return result;
 }
-
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/mach/hurd/write.c.jj	2002-04-30 12:55:02.000000000 +0200
+++ libc/sysdeps/mach/hurd/write.c	2002-08-02 16:10:46.000000000 +0200
@@ -20,9 +20,6 @@
 #include <unistd.h>
 #include <hurd/fd.h>
 
-#undef __libc_write
-#undef __write
-
 ssize_t
 __libc_write (int fd, const void *buf, size_t nbytes)
 {
@@ -30,7 +27,7 @@ __libc_write (int fd, const void *buf, s
 						 buf, &nbytes, -1));
   return err ? __hurd_dfail (fd, err) : nbytes;
 }
-
+libc_hidden_def (__libc_write)
 weak_alias (__libc_write, __write)
-INTDEF(__write)
+libc_hidden_weak (__write)
 weak_alias (__libc_write, write)
--- libc/sysdeps/mach/hurd/dl-sysdep.c.jj	2002-06-21 11:40:00.000000000 +0200
+++ libc/sysdeps/mach/hurd/dl-sysdep.c	2002-08-02 17:45:45.000000000 +0200
@@ -370,6 +370,7 @@ __libc_read (int fd, void *buf, size_t n
 
   return nread;
 }
+libc_hidden_weak (__libc_read)
 
 __ssize_t weak_function
 __libc_write (int fd, const void *buf, size_t nbytes)
@@ -385,6 +386,7 @@ __libc_write (int fd, const void *buf, s
 
   return nwrote;
 }
+libc_hidden_weak (__libc_write)
 
 /* This is only used for printing messages (see dl-misc.c).  */
 __ssize_t weak_function
--- libc/sysdeps/mach/hurd/poll.c.jj	2001-08-23 18:50:04.000000000 +0200
+++ libc/sysdeps/mach/hurd/poll.c	2002-08-02 17:46:19.000000000 +0200
@@ -1,5 +1,5 @@
 /* poll file descriptors.  Hurd version.
-   Copyright (C) 1998, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1998, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -47,4 +47,5 @@ __poll (fds, nfds, timeout)
 
   return _hurd_select (nfds, fds, NULL, NULL, NULL, to, NULL);
 }
+libc_hidden_def (__poll)
 weak_alias (__poll, poll)
--- libc/sysdeps/mach/hurd/profil.c.jj	2001-08-23 18:50:04.000000000 +0200
+++ libc/sysdeps/mach/hurd/profil.c	2002-08-02 19:22:27.000000000 +0200
@@ -1,5 +1,5 @@
 /* Low-level statistical profiling support function.  Mach/Hurd version.
-   Copyright (C) 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1995, 1996, 1997, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -103,6 +103,7 @@ __profile_frequency (void)
 {
   return profile_tick;
 }
+libc_hidden_def (__profile_frequency)
 
 int
 __profil (u_short *sample_buffer, size_t size, size_t offset, u_int scale)
--- libc/sysdeps/mach/hurd/read.c.jj	2001-08-23 18:50:04.000000000 +0200
+++ libc/sysdeps/mach/hurd/read.c	2002-08-02 19:22:33.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993,94,95,97,98,99,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1993,94,95,97,98,99,2001,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -27,6 +27,7 @@ __libc_read (int fd, void *buf, size_t n
   error_t err = HURD_FD_USE (fd, _hurd_fd_read (descriptor, buf, &nbytes, -1));
   return err ? __hurd_dfail (fd, err) : nbytes;
 }
-
+libc_hidden_def (__libc_read)
 weak_alias (__libc_read, __read)
+libc_hidden_weak (__read)
 weak_alias (__libc_read, read)
--- libc/sysdeps/mach/hurd/pwrite64.c.jj	2002-06-21 11:40:04.000000000 +0200
+++ libc/sysdeps/mach/hurd/pwrite64.c	2002-08-02 17:49:08.000000000 +0200
@@ -34,6 +34,8 @@ __libc_pwrite64 (int fd, const void *buf
 }
 
 #ifndef __libc_pwrite64
+libc_hidden_def (__libc_pwrite64)
 weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 #endif
--- libc/sysdeps/mach/hurd/sbrk.c.jj	2001-08-23 18:50:05.000000000 +0200
+++ libc/sysdeps/mach/hurd/sbrk.c	2002-08-02 19:22:43.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 94, 95, 97, 98, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,94,95,97,98,2000,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -38,5 +38,5 @@ __sbrk (intptr_t increment)
 
   return result;
 }
-
+libc_hidden_def (__sbrk)
 weak_alias (__sbrk, sbrk)
--- libc/sysdeps/mach/hurd/select.c.jj	2001-08-23 18:50:05.000000000 +0200
+++ libc/sysdeps/mach/hurd/select.c	2002-08-02 19:22:50.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,96,97,98,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -46,5 +46,5 @@ __select (nfds, readfds, writefds, excep
 
   return _hurd_select (nfds, NULL, readfds, writefds, exceptfds, to, NULL);
 }
-
+libc_hidden_def (__select)
 weak_alias (__select, select)
--- libc/sysdeps/mach/hurd/send.c.jj	2002-04-30 12:55:01.000000000 +0200
+++ libc/sysdeps/mach/hurd/send.c	2002-08-02 18:49:27.000000000 +0200
@@ -40,4 +40,5 @@ __send (fd, buf, n, flags)
 
   return err ? __hurd_dfail (fd, err) : wrote;
 }
+libc_hidden_def (__send)
 weak_alias (__send, send)
--- libc/sysdeps/mach/hurd/setpgid.c.jj	2001-08-23 18:50:05.000000000 +0200
+++ libc/sysdeps/mach/hurd/setpgid.c	2002-08-02 19:23:03.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1994,1995,1996,1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -53,5 +53,5 @@ __setpgid (pid, pgid)
   return 0;
 
 }
-
+libc_hidden_def (__setpgid)
 weak_alias (__setpgid, setpgid)
--- libc/sysdeps/mach/hurd/sigaction.c.jj	2001-08-23 18:50:05.000000000 +0200
+++ libc/sysdeps/mach/hurd/sigaction.c	2002-08-02 19:23:16.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,96,97,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -90,5 +90,5 @@ __sigaction (sig, act, oact)
 
   return 0;
 }
-
+libc_hidden_def (__sigaction)
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/mach/hurd/sigsuspend.c.jj	2001-08-23 18:50:05.000000000 +0200
+++ libc/sysdeps/mach/hurd/sigsuspend.c	2002-08-02 19:23:22.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991,92,93,94,95,96,97,98 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,96,97,98,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -79,4 +79,5 @@ __sigsuspend (set)
   errno = EINTR;
   return -1;
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/mach/hurd/statfs.c.jj	2002-06-21 11:40:06.000000000 +0200
+++ libc/sysdeps/mach/hurd/statfs.c	2002-08-02 18:50:51.000000000 +0200
@@ -28,5 +28,5 @@ __statfs (const char *file, struct statf
   struct statfs64 buf64;
   return __statfs64 (file, &buf64) ?: statfs64_conv (buf, &buf64);
 }
-
+libc_hidden_def (__statfs)
 weak_alias (__statfs, statfs)
--- libc/sysdeps/mach/getpagesize.c.jj	2002-04-30 12:54:49.000000000 +0200
+++ libc/sysdeps/mach/getpagesize.c	2002-08-02 15:58:51.000000000 +0200
@@ -19,14 +19,11 @@
 #include <unistd.h>
 #include <mach.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize ()
 {
   return __vm_page_size;
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/posix/open64.c.jj	2001-08-23 18:50:11.000000000 +0200
+++ libc/sysdeps/posix/open64.c	2002-08-02 19:23:35.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995-1997, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995-1997,1999,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -38,4 +38,5 @@ __libc_open64 (const char *file, int ofl
   return __libc_open (file, oflag | O_LARGEFILE, mode);
 }
 weak_alias (__libc_open64, BP_SYM (__open64))
+libc_hidden_weak (BP_SYM (__open64))
 weak_alias (__libc_open64, BP_SYM (open64))
--- libc/sysdeps/posix/dup2.c.jj	2002-04-30 12:55:28.000000000 +0200
+++ libc/sysdeps/posix/dup2.c	2002-08-02 16:16:50.000000000 +0200
@@ -21,9 +21,6 @@
 #include <limits.h>
 #include <unistd.h>
 
-#undef __dup2
-
-
 /* Duplicate FD to FD2, closing the old FD2 and making FD2 be
    open the same file as FD is.  Return FD2 or -1.  */
 int
@@ -58,6 +55,5 @@ __dup2 (fd, fd2)
 
   return fcntl (fd, F_DUPFD, fd2);
 }
-
-INTDEF(__dup2)
+libc_hidden_def (__dup2)
 weak_alias (__dup2, dup2)
--- libc/sysdeps/posix/getpagesize.c.jj	2002-04-30 12:55:28.000000000 +0200
+++ libc/sysdeps/posix/getpagesize.c	2002-08-02 16:18:03.000000000 +0200
@@ -19,14 +19,11 @@
 
 #include <unistd.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize (void)
 {
   return __sysconf (_SC_PAGESIZE);
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/posix/pwrite64.c.jj	2001-08-23 18:50:11.000000000 +0200
+++ libc/sysdeps/posix/pwrite64.c	2002-08-02 19:23:43.000000000 +0200
@@ -1,6 +1,6 @@
 /* Write block to given position in file without changing file pointer.
    POSIX version.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -55,6 +55,8 @@ __libc_pwrite64 (int fd, const void *buf
   return result;
 }
 #ifndef __libc_pwrite64
+libc_hidden_def (__libc_pwrite64)
 weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 #endif
--- libc/sysdeps/posix/sigsuspend.c.jj	2001-08-23 18:50:12.000000000 +0200
+++ libc/sysdeps/posix/sigsuspend.c	2002-08-02 19:23:49.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1997, 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -49,4 +49,5 @@ __sigsuspend (set)
   __set_errno (save);
   return -1;
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/sparc/sparc64/rawmemchr.S.jj	2001-08-23 18:50:22.000000000 +0200
+++ libc/sysdeps/sparc/sparc64/rawmemchr.S	2002-08-02 17:50:37.000000000 +0200
@@ -1,6 +1,6 @@
 /* rawmemchr (str, ch) -- Return pointer to first occurrence of CH in STR.
    For SPARC v9.
-   Copyright (C) 1999 Free Software Foundation, Inc.
+   Copyright (C) 1999, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jj@ultra.linux.cz>.
    This version is developed using the same algorithm as the fast C
@@ -175,4 +175,5 @@ ENTRY(__rawmemchr)
 	 add		%o0, -1, %o0			/* IEU0				*/
 END(__rawmemchr)
 
+libc_hidden_def (__rawmemchr)
 weak_alias (__rawmemchr, rawmemchr)
--- libc/sysdeps/sparc/sparc64/stpncpy.S.jj	2001-08-23 18:50:22.000000000 +0200
+++ libc/sysdeps/sparc/sparc64/stpncpy.S	2002-08-02 19:23:54.000000000 +0200
@@ -2,7 +2,7 @@
    SRC to DEST, returning the address of the terminating '\0' in
    DEST, if any, or else DEST + N.
    For SPARC v9.
-   Copyright (C) 1998, 1999 Free Software Foundation, Inc.
+   Copyright (C) 1998, 1999, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Jakub Jelinek <jj@ultra.linux.cz> and
 		  Jan Vondrak <jvon4518@ss1000.ms.mff.cuni.cz>.
@@ -421,4 +421,5 @@ ENTRY(__stpncpy)
 	 sllx		%o4, 56, %g3			/* IEU0				*/
 END(__stpncpy)
 
-weak_alias(__stpncpy, stpncpy)
+libc_hidden_def (__stpncpy)
+weak_alias (__stpncpy, stpncpy)
--- libc/sysdeps/standalone/open.c.jj	2001-08-23 18:50:27.000000000 +0200
+++ libc/sysdeps/standalone/open.c	2002-08-02 19:24:01.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil,
      On-Line Applications Research Corporation.
    This file is part of the GNU C Library.
@@ -82,6 +82,7 @@ __open (file, oflag)
 
   return newfd;
 }
+libc_hidden_def (__open)
 
 /* Initialization Code for Console I/O */
 
--- libc/sysdeps/standalone/close.c.jj	2001-08-23 18:50:27.000000000 +0200
+++ libc/sysdeps/standalone/close.c	2002-08-02 16:18:58.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil,
      On-Line Applications Research Corporation.
    This file is part of the GNU C Library.
@@ -39,6 +39,5 @@ __close (fd)
   __FD_Table[ fd ].in_use = 0;
   return 0;
 }
-
-
+libc_hidden_def (__close)
 weak_alias (__close, close)
--- libc/sysdeps/standalone/write.c.jj	2001-08-23 18:50:27.000000000 +0200
+++ libc/sysdeps/standalone/write.c	2002-08-02 16:19:36.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil,
      On-Line Applications Research Corporation.
    This file is part of the GNU C Library.
@@ -67,5 +67,7 @@ __libc_write (int fd, const void *buf, s
   return count;
 }
 
+libc_hidden_def (__libc_write)
 weak_alias (__libc_write, __write)
+libc_hidden_weak (__write)
 weak_alias (__libc_write, write)
--- libc/sysdeps/standalone/read.c.jj	2001-08-23 18:50:27.000000000 +0200
+++ libc/sysdeps/standalone/read.c	2002-08-02 19:24:07.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    Ported to standalone by Joel Sherrill jsherril@redstone-emh2.army.mil,
      On-Line Applications Research Corporation.
    This file is part of the GNU C Library.
@@ -80,6 +80,7 @@ __libc_read (int fd, void *buf, size_t n
   *buffer = data;
   return 1;
 }
-
+libc_hidden_def (__libc_read)
 weak_alias (__libc_read, __read)
+libc_hidden_weak (__read)
 weak_alias (__libc_read, read)
--- libc/sysdeps/unix/grantpt.c.jj	2002-04-30 12:56:18.000000000 +0200
+++ libc/sysdeps/unix/grantpt.c	2002-08-02 16:20:33.000000000 +0200
@@ -116,7 +116,7 @@ grantpt (int fd)
   uid = __getuid ();
   if (st.st_uid != uid)
     {
-      if (INTUSE(__chown) (buf, uid, st.st_gid) < 0)
+      if (__chown (buf, uid, st.st_gid) < 0)
 	goto helper;
     }
 
@@ -132,7 +132,7 @@ grantpt (int fd)
   /* Make sure the group of the device is that special group.  */
   if (st.st_gid != gid)
     {
-      if (INTUSE(__chown) (buf, uid, gid) < 0)
+      if (__chown (buf, uid, gid) < 0)
 	goto helper;
     }
 
--- libc/sysdeps/unix/bsd/m68k/pipe.S.jj	2001-08-23 18:50:31.000000000 +0200
+++ libc/sysdeps/unix/bsd/m68k/pipe.S	2002-08-02 16:21:44.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1993,1995,1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,4 +29,5 @@ SYSCALL__ (pipe, 1)
 	clrl d0
 	rts
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/bsd/osf/alpha/pipe.S.jj	2001-08-23 18:50:31.000000000 +0200
+++ libc/sysdeps/unix/bsd/osf/alpha/pipe.S	2002-08-02 16:22:22.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -29,4 +29,5 @@ SYSCALL__ (pipe, 1)
 	ret
 	.end __pipe
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/bsd/vax/pipe.S.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/bsd/vax/pipe.S	2002-08-02 19:24:12.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,4 +25,5 @@ SYSCALL__ (pipe, 1)
 	clrl r0
 	ret
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/bsd/syscalls.list.jj	1996-02-12 09:31:55.000000000 +0100
+++ libc/sysdeps/unix/bsd/syscalls.list	2002-08-02 17:10:56.000000000 +0200
@@ -3,7 +3,7 @@
 flock		-	flock		2	__flock		flock
 getdents	-	getdirentries	4	__getdirentries	getdirentries
 getdtsz		-	getdtablesize	0	__getdtablesize	getdtablesize
-getpagesize	-	getpagesize	0	__getpagesize	getpagesize
+getpagesize	-	getpagesize	0	__getpagesize	getpagesize __GI___getpagesize
 killpg		-	killpg		2	killpg
 sigblock	-	sigblock	1	__sigblock	sigblock
 sigpause	-	sigpause	1	__sigpause	sigpause
--- libc/sysdeps/unix/bsd/poll.c.jj	2001-08-23 18:50:29.000000000 +0200
+++ libc/sysdeps/unix/bsd/poll.c	2002-08-02 17:54:45.000000000 +0200
@@ -1,4 +1,5 @@
-/* Copyright (C) 1994,1996,1997,1998,1999,2001 Free Software Foundation, Inc.
+/* Copyright (C) 1994,1996,1997,1998,1999,2001,2002
+   Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -193,5 +194,6 @@ __poll (fds, nfds, timeout)
   return ready;
 }
 #ifndef __poll
+libc_hidden_def (__poll)
 weak_alias (__poll, poll)
 #endif
--- libc/sysdeps/unix/bsd/sigaction.c.jj	2001-08-23 18:50:29.000000000 +0200
+++ libc/sysdeps/unix/bsd/sigaction.c	2002-08-02 19:24:20.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -59,5 +59,5 @@ __sigaction (sig, act, oact)
 
   return 0;
 }
-
+libc_hidden_def (__sigaction)
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/unix/bsd/sigsuspend.c.jj	2001-08-23 18:50:29.000000000 +0200
+++ libc/sysdeps/unix/bsd/sigsuspend.c	2002-08-02 19:24:25.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1996, 1997, 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1996, 1997, 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -44,4 +44,5 @@ __sigsuspend (set)
 
   return __sigpause (mask, 0);
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/common/syscalls.list.jj	2002-04-30 12:56:34.000000000 +0200
+++ libc/sysdeps/unix/common/syscalls.list	2002-08-02 18:58:04.000000000 +0200
@@ -4,14 +4,14 @@ adjtime		-	adjtime		i:pp	__adjtime	adjti
 fchmod		-	fchmod		i:ii	__fchmod	fchmod
 fchown		-	fchown		i:iii	__fchown	fchown
 ftruncate	-	ftruncate	i:ii	__ftruncate	ftruncate
-getpgid		-	getpgrp		i:i	__getpgid	getpgid
+getpgid		-	getpgrp		i:i	__getpgid	getpgid __GI___getpgid
 getrusage	-	getrusage	i:ip	__getrusage	getrusage
 gettimeofday	-	gettimeofday	i:PP	__gettimeofday	gettimeofday __gettimeofday_internal
 settimeofday	-	settimeofday	i:PP	__settimeofday	settimeofday
-setpgid		-	setpgrp		i:ii	__setpgid	setpgid
+setpgid		-	setpgrp		i:ii	__setpgid	setpgid __GI___setpgid
 setregid	-	setregid	i:ii	__setregid	setregid
 setreuid	-	setreuid	i:ii	__setreuid	setreuid
-sigaction	-	sigaction	i:ipp	__sigaction	sigaction
+sigaction	-	sigaction	i:ipp	__sigaction	sigaction __GI___sigaction
 sys_lstat	lxstat	lstat		i:sp	__syscall_lstat
 truncate	-	truncate	i:si	truncate
 vhangup		-	vhangup		i:i	vhangup
--- libc/sysdeps/unix/i386/pipe.S.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/i386/pipe.S	2002-08-02 19:24:42.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1992,1993,1995,1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,4 +25,5 @@ SYSCALL__ (pipe, 1)
 	xorl %eax, %eax
 	ret
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/inet/syscalls.list.jj	2002-06-05 10:27:52.000000000 +0200
+++ libc/sysdeps/unix/inet/syscalls.list	2002-08-02 18:58:31.000000000 +0200
@@ -12,7 +12,7 @@ listen		-	listen		i:ii	__listen	listen
 recv		-	recv		i:ibni	__libc_recv	recv
 recvfrom	-	recvfrom	i:ibniBN	__libc_recvfrom __recvfrom recvfrom
 recvmsg		-	recvmsg		i:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		i:ibni	__libc_send	__send send
+send		-	send		i:ibni	__libc_send	__send send __GI___send 
 sendmsg		-	sendmsg		i:ipi	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		i:ibnibn	__libc_sendto	__sendto sendto
 sethostid	-	sethostid	i:i	sethostid
--- libc/sysdeps/unix/mips/pipe.S.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/mips/pipe.S	2002-08-02 16:26:47.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1995, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 1995, 1997, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -29,4 +29,5 @@ SYSCALL__ (pipe, 1)
 	j ra
 	.end __pipe
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/sparc/pipe.S.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/sparc/pipe.S	2002-08-02 19:24:50.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1992, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1992, 1995, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,4 +26,5 @@ PSEUDO (__Spipe, pipe, 1)
 	retl			/* return 0; */
 	clr %o0
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/sysv/irix4/syscalls.list.jj	1996-03-18 20:38:16.000000000 +0100
+++ libc/sysdeps/unix/sysv/irix4/syscalls.list	2002-08-02 18:59:18.000000000 +0200
@@ -1,8 +1,8 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
-getpgid		-	bsdgetpgrp	1	__getpgid	getpgid
+getpgid		-	bsdgetpgrp	1	__getpgid	getpgid __GI___getpgid
 msync		-	msync		3	msync
-setpgid		-	bsdsetpgrp	2	__setpgid	setpgid
+setpgid		-	bsdsetpgrp	2	__setpgid	setpgid __GI___setpgid
 signal		-	signal		3	__raw_signal
 sysmp		-	sysmp		4	__sysmp
 syssgi		-	syssgi		2	__syssgi
--- libc/sysdeps/unix/sysv/aix/fcntl.c.jj	2002-04-30 12:56:36.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/fcntl.c	2002-08-02 14:24:32.000000000 +0200
@@ -19,9 +19,6 @@
 #include <fcntl.h>
 #include <stdarg.h>
 
-#undef __libc_fcntl
-#undef __fcntl
-
 extern int kfcntl (int fdes, int cmd, unsigned long int arg);
 
 int
@@ -40,5 +37,7 @@ __fcntl (int fdes, int cmd, ...)
 
   return res;
 }
+libc_hidden_def (__fcntl)
 strong_alias (__fcntl, fcntl)
 strong_alias (__fcntl, __libc_fcntl)
+libc_hidden_def (__libc_fcntl)
--- libc/sysdeps/unix/sysv/aix/open.c.jj	2002-04-30 12:56:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/open.c	2002-08-02 14:24:32.000000000 +0200
@@ -20,9 +20,6 @@
 #include <stdarg.h>
 #include <unistd.h>
 
-#undef __libc_open
-#undef __open
-
 int
 __open (const char *file, int oflag, ...)
 {
@@ -38,5 +35,6 @@ __open (const char *file, int oflag, ...
 
   return open (file, oflag, mode);
 }
+libc_hidden_def (__open)
 strong_alias (__open, __libc_open)
-INTDEF(__open)
+libc_hidden_def (__libc_open)
--- libc/sysdeps/unix/sysv/aix/chown.c.jj	2002-04-30 12:56:36.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/chown.c	2002-08-02 16:34:05.000000000 +0200
@@ -18,11 +18,9 @@
 
 #include <unistd.h>
 
-#undef __chown
-
 int
 __chown (const char *file, uid_t owner, gid_t group)
 {
   return chown (file, owner, group);
 }
-INTDEF(__chown)
+libc_hidden_def (__chown)
--- libc/sysdeps/unix/sysv/aix/close.c.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/close.c	2002-08-02 16:34:28.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -23,3 +23,4 @@ __close (int fd)
 {
   return close (fd);
 }
+libc_hidden_def (__close)
--- libc/sysdeps/unix/sysv/aix/getpgid.c.jj	2002-04-30 12:56:36.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/getpgid.c	2002-08-02 16:34:54.000000000 +0200
@@ -18,8 +18,6 @@
 
 #include <unistd.h>
 
-#undef __getpgid
-
 extern int kgetpgidx (pid_t pid);
 
 int
@@ -27,5 +25,5 @@ __getgpid (pid_t pid)
 {
   return kgetpgidx (pid);
 }
-INTDEF(__getgpid)
+libc_hidden_def (__getgpid)
 strong_alias (__getpgid, getpgid)
--- libc/sysdeps/unix/sysv/aix/getpid.c.jj	2000-03-21 02:15:50.000000000 +0100
+++ libc/sysdeps/unix/sysv/aix/getpid.c	2002-08-02 16:35:29.000000000 +0200
@@ -1,6 +1,9 @@
 /* This is a system call.  We only have to provide the wrapper.  */
+#include <unistd.h>
+
 int
 __getpid (void)
 {
   return getpid ();
 }
+libc_hidden_def (__getpid)
--- libc/sysdeps/unix/sysv/aix/pipe.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/pipe.c	2002-08-02 16:36:07.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -24,3 +24,4 @@ __pipe (pipedes)
 {
   return pipe (pipedes);
 }
+libc_hidden_def (__pipe)
--- libc/sysdeps/unix/sysv/aix/write.c.jj	2002-04-30 12:56:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/write.c	2002-08-02 16:36:45.000000000 +0200
@@ -21,9 +21,6 @@
 
 #include "kernel_proto.h"
 
-#undef __libc_write
-#undef __write
-
 ssize_t
 __write (fd, ptr, n)
      int fd;
@@ -32,7 +29,8 @@ __write (fd, ptr, n)
 {
   return kwrite (fd, ptr, n);
 }
-INTDEF(__write)
+libc_hidden_def (__write)
 /* AIX has no weak aliases (yet) but let's hope for better times.  */
 weak_alias (__write, write)
 strong_alias (__write, __libc_write)
+libc_hidden_def (__libc_write)
--- libc/sysdeps/unix/sysv/aix/read.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/read.c	2002-08-02 17:55:27.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,5 +25,7 @@ __libc_read (int fd, void *buf, size_t l
 {
   return kread (fd, buf, len);
 }
+libc_hidden_def (__libc_read)
 strong_alias (__libc_read, __read)
+libc_hidden_def (__read)
 strong_alias (__libc_read, read)
--- libc/sysdeps/unix/sysv/aix/poll.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/poll.c	2002-08-02 17:55:57.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,3 +26,4 @@ __poll (fds, nfds, timeout)
 {
   return poll (fds, nfds, timeout);
 }
+libc_hidden_def (__poll)
--- libc/sysdeps/unix/sysv/aix/sbrk.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/sbrk.c	2002-08-02 19:24:56.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -23,3 +23,4 @@ __sbrk (intptr_t delta)
 {
   return sbrk (delta);
 }
+libc_hidden_def (__sbrk)
--- libc/sysdeps/unix/sysv/aix/sigaction.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/sigaction.c	2002-08-02 19:25:08.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995, 1996, 1997, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991,1995,1996,1997,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -32,4 +32,5 @@ __sigaction (sig, act, oact)
 {
   return _sigaction (sig, act, oact);
 }
+libc_hidden_def (__sigaction)
 strong_alias (__sigaction, sigaction)
--- libc/sysdeps/unix/sysv/aix/sigsuspend.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/sigsuspend.c	2002-08-02 19:25:14.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1995-1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1995-1998, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -29,4 +29,5 @@ __sigsuspend (set)
 {
   return _sigsuspend (set);
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/aix/statfs.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/statfs.c	2002-08-02 19:25:18.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,3 +25,4 @@ __statfs (const char *file, struct statf
 {
   return statfs (file, buf);
 }
+libc_hidden_def (__statfs)
--- libc/sysdeps/unix/sysv/aix/select.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/select.c	2002-08-02 19:25:23.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,3 +28,4 @@ __select (nfds, readfds, writefds, excep
 {
   return select (nfds, readfds, writefds, exceptfds, timeout);
 }
+libc_hidden_def (__select)
--- libc/sysdeps/unix/sysv/aix/setpgid.c.jj	2001-08-23 18:50:37.000000000 +0200
+++ libc/sysdeps/unix/sysv/aix/setpgid.c	2002-08-02 19:25:28.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -25,3 +25,4 @@ __setpgid (pid, pgid)
 {
   return setpgid (pid, pgid);
 }
+libc_hidden_def (__setpgid)
--- libc/sysdeps/unix/sysv/linux/alpha/pipe.S.jj	2001-08-23 18:50:48.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/alpha/pipe.S	2002-08-02 19:25:33.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Mosberger (davidm@cs.arizona.edu).
 
@@ -28,4 +28,5 @@ PSEUDO (__pipe, pipe, 0)
 	ret
 PSEUDO_END(__pipe)
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/sysv/linux/alpha/syscalls.list.jj	2002-06-21 11:42:09.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/alpha/syscalls.list	2002-08-02 19:04:46.000000000 +0200
@@ -21,9 +21,9 @@ getpriority	-	getpriority	2	__getpriorit
 mmap		-	mmap		6	__mmap		mmap __mmap64 mmap64
 llseek		EXTRA	lseek		3	__libc_lseek64	__llseek llseek __lseek64 lseek64
 pread		-	pread		4	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
-pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 __GI___pwrite64
 fstatfs		-	fstatfs		2	__fstatfs	fstatfs __fstatfs64 fstatfs64
-statfs		-	statfs		2	__statfs	statfs statfs64
+statfs		-	statfs		2	__statfs	statfs statfs64 __GI___statfs
 getrlimit	-	getrlimit	2	__getrlimit	getrlimit getrlimit64
 setrlimit	-	setrlimit	2	__setrlimit	setrlimit64 setrlimit
 ftruncate	-	ftruncate	2	__ftruncate	ftruncate __ftruncate64 ftruncate64
@@ -47,7 +47,7 @@ recv		-	recv		4	__libc_recv	__recv recv
 recvfrom	-	recvfrom	6	__libc_recvfrom	__recvfrom recvfrom
 recvmsg		-	recvmsg		3	__libc_recvmsg	__recvmsg recvmsg
 ptrace		-	ptrace		4	__ptrace	ptrace
-send		-	send		4	__libc_send	__send send
+send		-	send		4	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		3	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		6	__libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	5	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/alpha/select.S.jj	2001-08-23 18:50:48.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/alpha/select.S	2002-08-02 19:25:38.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1998 Free Software Foundation, Inc.
+/* Copyright (C) 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -124,6 +124,8 @@ default_symbol_version (__select_tv64, _
    The 'p' is for 'public'.  *Shrug*  */
 strong_alias (__select_tv64, __select_tv64p)
 default_symbol_version (__select_tv64p, select, GLIBC_2.1)
+libc_hidden_ver (__select_tv64, __select)
 #else
 weak_alias (__select, select)
+libc_hidden_def (__select)
 #endif
--- libc/sysdeps/unix/sysv/linux/alpha/sigsuspend.S.jj	2001-08-23 18:50:48.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/alpha/sigsuspend.S	2002-08-02 19:25:45.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1996, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by David Mosberger <davidm@cs.arizona.edu>, 1995.
 
@@ -51,4 +51,5 @@ error:
 
 	END(__sigsuspend)
 
+libc_hidden_def (__sigsuspend)
 weak_alias(__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/linux/ia64/getpagesize.c.jj	2002-04-25 22:02:25.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/getpagesize.c	2002-08-02 16:38:01.000000000 +0200
@@ -24,8 +24,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  The return value will depend on how
    the kernel is configured.  A program must use this call to
    determine the page size to ensure proper alignment for calls such
@@ -37,6 +35,5 @@ __getpagesize ()
   assert (GL(dl_pagesize) != 0);
   return GL(dl_pagesize);
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/unix/sysv/linux/ia64/pipe.S.jj	2002-04-07 17:46:24.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/pipe.S	2002-08-02 16:38:18.000000000 +0200
@@ -35,4 +35,5 @@ ENTRY(__pipe)
        br.cond.spnt.few __syscall_error
 PSEUDO_END(__pipe)
 
+libc_hidden_def (__pipe)
 weak_alias (__pipe, pipe)
--- libc/sysdeps/unix/sysv/linux/ia64/syscalls.list.jj	2002-06-21 11:42:13.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/syscalls.list	2002-08-02 19:06:28.000000000 +0200
@@ -5,9 +5,9 @@ umount2		-	umount		2	__umount2	umount2
 # Whee! 64-bit systems naturally implement llseek.
 llseek		EXTRA	lseek		3	__libc_lseek64	__lseek llseek __lseek64 lseek64
 pread		-	pread		4	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
-pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 __GI___pwrite64
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
-statfs		-	statfs		i:sp	__statfs	statfs statfs64
+statfs		-	statfs		i:sp	__statfs	statfs statfs64 __GI___statfs
 mmap		-	mmap		b:aniiii __mmap		mmap __mmap64 mmap64
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
 getpriority	-	getpriority	i:ii	__getpriority	getpriority
@@ -42,7 +42,7 @@ listen		-	listen		i:ii	__listen	listen
 recv		-	recv		i:ibni	__libc_recv	__recv recv
 recvfrom	-	recvfrom	i:ibniBN	__libc_recvfrom	__recvfrom recvfrom
 recvmsg		-	recvmsg		i:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		i:ibni	__libc_send	__send send
+send		-	send		i:ibni	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		i:ipi	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		i:ibnibn	__libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/ia64/sigaction.c.jj	2001-08-23 18:51:06.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/sigaction.c	2002-08-02 19:25:51.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Linux/IA64 specific sigaction
    Written by Jes Sorensen, <Jes.Sorensen@cern.ch>, April 1999.
@@ -51,4 +51,5 @@ __libc_sigaction (sig, act, oact)
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_def (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
--- libc/sysdeps/unix/sysv/linux/ia64/sigsuspend.c.jj	2001-08-23 18:51:06.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/ia64/sigsuspend.c	2002-08-02 19:26:05.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -37,4 +37,5 @@ __sigsuspend (set)
      real size of the user-level sigset_t.  */
   return INLINE_SYSCALL (rt_sigsuspend, 2, CHECK_SIGSET (set), _NSIG / 8);
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/linux/sh/pipe.S.jj	2001-08-23 18:51:29.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sh/pipe.S	2002-08-02 19:26:09.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -60,4 +60,5 @@ ENTRY (__libc_pipe)
 PSEUDO_END (__libc_pipe)
 
 weak_alias (__libc_pipe, __pipe)
+libc_hidden_def (__pipe)
 weak_alias (__libc_pipe, pipe)
--- libc/sysdeps/unix/sysv/linux/s390/s390-32/chown.c.jj	2002-04-25 22:02:28.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/s390/s390-32/chown.c	2002-08-02 16:57:33.000000000 +0200
@@ -109,12 +109,12 @@ strong_alias (__chown_is_lchown, _chown_
 compat_symbol (libc, __chown_is_lchown, __chown, GLIBC_2_0);
 compat_symbol (libc, _chown_is_lchown, chown, GLIBC_2_0);
 
-INTDEF2(__real_chown, __chown)
 strong_alias (__real_chown, _real_chown)
 versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1);
 versioned_symbol (libc, _real_chown, chown, GLIBC_2_1);
+libc_hidden_ver (__real_chown, __chown)
 #else
-INTDEF2(__real_chown, __chown)
 strong_alias (__real_chown, __chown)
+libc_hidden_def (__chown)
 weak_alias (__real_chown, chown)
 #endif
--- libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list.jj	2002-06-05 10:27:56.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/s390/s390-64/syscalls.list	2002-08-02 19:07:39.000000000 +0200
@@ -2,7 +2,7 @@
 
 llseek		EXTRA	lseek		3	__libc_lseek64	__lseek llseek __lseek64 lseek64
 pread		-	pread		4	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
-pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 __GI___pwrite64
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs fstatfs64 __fstatfs64
 statfs		-	statfs		i:sp	__statfs	statfs statfs64
 getpeername	-	getpeername	i:ipp	__getpeername	getpeername
@@ -35,7 +35,7 @@ listen		-	listen		i:ii	__listen	listen
 recv		-	recv		i:ibni	__libc_recv	__recv recv
 recvfrom	-	recvfrom	i:ibniBN	__libc_recvfrom	__recvfrom recvfrom
 recvmsg		-	recvmsg		i:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		i:ibni	__libc_send	__send send
+send		-	send		i:ibni	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		i:ipi	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		i:ibnibn	__libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c.jj	2001-08-23 18:51:29.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/s390/s390-64/sigaction.c	2002-08-02 19:26:14.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -47,4 +47,5 @@ __libc_sigaction (sig, act, oact)
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
--- libc/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c.jj	2001-08-23 18:51:29.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/s390/s390-64/sigsuspend.c	2002-08-02 19:26:18.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,4 +36,5 @@ __sigsuspend (set)
      real size of the user-level sigset_t.  */
   return INLINE_SYSCALL (rt_sigsuspend, 2, set, _NSIG / 8);
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/linux/hppa/syscalls.list.jj	2002-06-05 10:27:54.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/hppa/syscalls.list	2002-08-02 19:08:10.000000000 +0200
@@ -24,7 +24,7 @@ listen		-	listen		i:ii	__listen	listen
 recv		-	recv		i:ibni	__libc_recv	__recv recv
 recvfrom	-	recvfrom	i:ibniBN	__libc_recvfrom	__recvfrom recvfrom
 recvmsg		-	recvmsg		i:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		i:ibni	__libc_send	__send send
+send		-	send		i:ibni	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		i:ipi	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		i:ibnibn	__libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/arm/sigaction.c.jj	2001-08-23 18:50:49.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/arm/sigaction.c	2002-08-02 19:26:24.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -150,4 +150,5 @@ __libc_sigaction (sig, act, oact)
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
--- libc/sysdeps/unix/sysv/linux/i386/fcntl.c.jj	2002-04-25 22:02:23.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/i386/fcntl.c	2002-08-02 14:24:32.000000000 +0200
@@ -25,9 +25,6 @@
 #include <sys/syscall.h>
 #include "../kernel-features.h"
 
-#undef __libc_fcntl
-#undef __fcntl
-
 extern int __syscall_fcntl (int __fd, int __cmd, ...);
 #ifdef __NR_fcntl64
 extern int __syscall_fcntl64 (int __fd, int __cmd, ...);
@@ -133,7 +130,8 @@ __libc_fcntl (int fd, int cmd, ...)
   return -1;
 #endif  /* __ASSUME_FCNTL64  */
 }
-INTDEF2(__libc_fcntl, __fcntl);
+libc_hidden_def (__libc_fcntl)
 
 weak_alias (__libc_fcntl, __fcntl)
+libc_hidden_weak (__fcntl)
 weak_alias (__libc_fcntl, fcntl)
--- libc/sysdeps/unix/sysv/linux/i386/chown.c.jj	2002-04-25 22:02:22.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/i386/chown.c	2002-08-02 17:00:51.000000000 +0200
@@ -154,14 +154,14 @@ compat_symbol (libc, _chown_is_lchown, c
 #endif
 
 #ifdef __NR_lchown
-INTDEF2(__real_chown, __chown)
 strong_alias (__real_chown, _real_chown)
 versioned_symbol (libc, __real_chown, __chown, GLIBC_2_1);
 versioned_symbol (libc, _real_chown, chown, GLIBC_2_1);
+libc_hidden_ver (__real_chown, __chown)
 #else
-INTDEF2(__chown_is_lchown, __chown)
 strong_alias (__chown_is_lchown, __chown_is_lchown21)
 strong_alias (__chown_is_lchown, _chown_is_lchown21)
 versioned_symbol (libc, __chown_is_lchown21, __chown, GLIBC_2_1);
 versioned_symbol (libc, _chown_is_lchown21, chown, GLIBC_2_1);
+libc_hidden_ver (__chown_is_lchown, __chown)
 #endif
--- libc/sysdeps/unix/sysv/linux/i386/sigaction.c.jj	2001-08-23 18:56:50.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/i386/sigaction.c	2002-08-02 19:26:40.000000000 +0200
@@ -1,5 +1,5 @@
 /* POSIX.1 `sigaction' call for Linux/i386.
-   Copyright (C) 1991, 95, 96, 97, 98, 99, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1991,95,96,97,98,99,2000,02 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -149,6 +149,7 @@ __libc_sigaction (int sig, const struct 
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
 
 /* NOTE: Please think twice before making any changes to the bits of
--- libc/sysdeps/unix/sysv/linux/m68k/chown.c.jj	2002-04-25 22:02:25.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/m68k/chown.c	2002-08-02 17:01:27.000000000 +0200
@@ -71,5 +71,5 @@ __chown (const char *file, uid_t owner, 
   return INLINE_SYSCALL (chown, 3, CHECK_STRING (file), owner, group);
 #endif
 }
-INTDEF(__chown)
+libc_hidden_def (__chown)
 weak_alias (__chown, chown)
--- libc/sysdeps/unix/sysv/linux/m68k/getpagesize.c.jj	2002-04-25 22:02:25.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/m68k/getpagesize.c	2002-08-02 17:05:08.000000000 +0200
@@ -25,8 +25,6 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -47,6 +45,5 @@ __getpagesize ()
 
   return 4096;
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/unix/sysv/linux/mips/pwrite64.c.jj	2001-08-23 18:51:19.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/mips/pwrite64.c	2002-08-02 17:58:09.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ralf Baechle <ralf@gnu.org>, 1998.
 
@@ -60,6 +60,7 @@ __libc_pwrite64 (fd, buf, count, offset)
 }
 
 weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 
 # define __libc_pwrite64(fd, buf, count, offset) \
--- libc/sysdeps/unix/sysv/linux/mips/syscalls.list.jj	2002-04-25 22:02:28.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/mips/syscalls.list	2002-08-02 19:11:20.000000000 +0200
@@ -24,7 +24,7 @@ listen		-	listen		i:ii	__listen	listen
 recv		-	recv		i:ibni	__libc_recv	__recv recv
 recvfrom	-	recvfrom	i:ibniBN __libc_recvfrom __recvfrom recvfrom
 recvmsg		-	recvmsg		i:ipi	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		i:ibni	__libc_send	__send send
+send		-	send		i:ibni	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		i:ipi	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		i:ibnibn __libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	i:iiibn	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/mips/sigaction.c.jj	2001-08-23 18:51:19.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/mips/sigaction.c	2002-08-02 19:26:48.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -136,4 +136,5 @@ __libc_sigaction (sig, act, oact)
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
--- libc/sysdeps/unix/sysv/linux/powerpc/chown.c.jj	2002-04-25 22:02:28.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/powerpc/chown.c	2002-08-02 17:05:37.000000000 +0200
@@ -123,7 +123,7 @@ __chown (const char *file, uid_t owner, 
    errno = ELOOP;
    return -1;
 }
-INTDEF(__chown)
+libc_hidden_def (__chown)
 
 #include <shlib-compat.h>
 versioned_symbol (libc, __chown, chown, GLIBC_2_1);
--- libc/sysdeps/unix/sysv/linux/powerpc/pwrite64.c.jj	2001-08-23 18:51:19.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/powerpc/pwrite64.c	2002-08-02 19:26:54.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -51,6 +51,7 @@ __libc_pwrite64 (fd, buf, count, offset)
 }
 
 weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_def (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 
 #define __libc_pwrite64(fd, buf, count, offset) \
--- libc/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c.jj	2002-04-25 22:02:29.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c	2002-08-02 17:05:57.000000000 +0200
@@ -20,8 +20,6 @@
 #include <sys/param.h>
 #include <ldsodefs.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  This value will either be 4k or 8k depending
    on whether or not we are running on Sparc v9 machine.  */
 
@@ -38,6 +36,5 @@ __getpagesize ()
     GL(dl_pagesize) = __syscall_getpagesize();
   return GL(dl_pagesize);
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc32/pipe.S	2002-08-02 17:06:56.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997.
 
@@ -34,4 +34,5 @@ ENTRY (__libc_pipe)
 
 PSEUDO_END (__libc_pipe)
 weak_alias (__libc_pipe, __pipe)
+libc_hidden_def (__pipe)
 weak_alias (__libc_pipe, pipe)
--- libc/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc32/sigaction.c	2002-08-02 19:27:02.000000000 +0200
@@ -1,5 +1,5 @@
 /* POSIX.1 sigaction call for Linux/SPARC.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx), 1997.
 
@@ -136,6 +136,7 @@ __libc_sigaction (int sig, __const struc
 }
 
 weak_alias (__libc_sigaction, __sigaction);
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction);
 
 static void
--- libc/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/pipe.S	2002-08-02 17:06:47.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1999, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Miguel de Icaza <miguel@gnu.ai.mit.edu>, 1997.
 
@@ -34,4 +34,5 @@ ENTRY (__libc_pipe)
 PSEUDO_END (__libc_pipe)
 
 weak_alias (__libc_pipe, __pipe)
+libc_hidden_def (__pipe)
 weak_alias (__libc_pipe, pipe)
--- libc/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list.jj	2002-06-21 11:42:23.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/syscalls.list	2002-08-02 19:13:37.000000000 +0200
@@ -3,9 +3,9 @@
 # Whee! 64-bit systems naturally implement llseek.
 llseek		EXTRA	lseek		3	__llseek	llseek	__libc_lseek64 __lseek64 lseek64
 pread		-	pread		4	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
-pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pwrite		-	pwrite		4	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 __GI___pwrite64
 fstatfs		-	fstatfs		2	__fstatfs	fstatfs __fstatfs64 fstatfs64
-statfs		-	statfs		2	__statfs	statfs statfs64
+statfs		-	statfs		2	__statfs	statfs statfs64 __GI___statfs
 getrlimit	-	getrlimit	2	__getrlimit	getrlimit getrlimit64
 setrlimit	-	setrlimit	2	__setrlimit	setrlimit64 setrlimit
 ftruncate	-	ftruncate	2	__ftruncate	ftruncate __ftruncate64 ftruncate64
@@ -15,7 +15,7 @@ readahead	EXTRA	readahead	3	__readahead	
 sendfile	-	sendfile	i:iipi	sendfile	sendfile64
 
 # Override select.S in parent directory:
-select		-	select		5	__select	select
+select		-	select		5	__select	select __GI___select
 accept		-	accept		3	__libc_accept	__accept accept
 bind		-	bind		3	__bind		bind
 connect		-	connect		3	__libc_connect	__connect_internal __connect connect
@@ -26,7 +26,7 @@ listen		-	listen		2	__listen	listen
 recv		-	recv		4	__libc_recv	__recv recv
 recvfrom	-	recvfrom	6	__libc_recvfrom	__recvfrom recvfrom
 recvmsg		-	recvmsg		3	__libc_recvmsg	__recvmsg recvmsg
-send		-	send		4	__libc_send	__send send
+send		-	send		4	__libc_send	__send send __GI___send
 sendmsg		-	sendmsg		3	__libc_sendmsg	__sendmsg sendmsg
 sendto		-	sendto		6	__libc_sendto	__sendto sendto
 setsockopt	-	setsockopt	5	__setsockopt	setsockopt
--- libc/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/sigaction.c	2002-08-02 19:27:09.000000000 +0200
@@ -1,5 +1,5 @@
 /* POSIX.1 sigaction call for Linux/SPARC64.
-   Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Miguel de Icaza (miguel@nuclecu.unam.mx) and
 		  Jakub Jelinek (jj@ultra.linux.cz).
@@ -65,6 +65,7 @@ __libc_sigaction (int sig, __const struc
 }
 
 weak_alias (__libc_sigaction, __sigaction);
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction);
 
 static void
--- libc/sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sparc/sparc64/sigsuspend.c	2002-08-02 19:27:23.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -36,4 +36,5 @@ __sigsuspend (set)
      real size of the user-level sigset_t.  */
   return INLINE_SYSCALL (rt_sigsuspend, 2, CHECK_SIGSET (set), _NSIG / 8);
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list.jj	2002-06-21 11:42:27.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/x86_64/syscalls.list	2002-08-02 19:14:06.000000000 +0200
@@ -5,9 +5,9 @@ mmap		-	mmap		b:aniiii __mmap		mmap __mm
 modify_ldt	EXTRA	modify_ldt	i:ipi	__modify_ldt	modify_ldt
 llseek		EXTRA	lseek		i:iii	__libc_lseek64	__llseek llseek __lseek64 lseek64
 pread		-	pread		i:ibni	__libc_pread	__libc_pread64 __pread pread __pread64 pread64
-pwrite		-	pwrite		i:ibni	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64
+pwrite		-	pwrite		i:ibni	__libc_pwrite	__libc_pwrite64 __pwrite pwrite __pwrite64 pwrite64 __GI___pwrite64
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs __fstatfs64 fstatfs64
-statfs		-	statfs		i:sp	__statfs	statfs statfs64
+statfs		-	statfs		i:sp	__statfs	statfs statfs64 __GI___statfs
 getresgid	-	getresgid	i:ppp	getresgid
 getresuid	-	getresuid	i:ppp	getresuid
 getrlimit	-	getrlimit	i:ip	__getrlimit	getrlimit getrlimit64
--- libc/sysdeps/unix/sysv/linux/x86_64/send.c.jj	2001-09-19 12:31:31.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/x86_64/send.c	2002-08-02 19:27:28.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 2001 Free Software Foundation, Inc.
+/* Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -28,4 +28,5 @@ __libc_send (int fd, const void *buf, si
 }
 
 weak_alias (__libc_send, __send)
+libc_hidden_weak (__send)
 weak_alias (__send, send)
--- libc/sysdeps/unix/sysv/linux/x86_64/sigaction.c.jj	2001-09-19 12:31:31.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/x86_64/sigaction.c	2002-08-02 19:27:32.000000000 +0200
@@ -1,5 +1,5 @@
 /* POSIX.1 `sigaction' call for Linux/x86-64.
-   Copyright (C) 2001 Free Software Foundation, Inc.
+   Copyright (C) 2001, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -75,6 +75,7 @@ __libc_sigaction (int sig, const struct 
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
 
 /* NOTE: Please think twice before making any changes to the bits of
--- libc/sysdeps/unix/sysv/linux/syscalls.list.jj	2002-07-25 14:59:41.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/syscalls.list	2002-08-02 19:10:06.000000000 +0200
@@ -12,7 +12,7 @@ fork		-	fork		i:	__libc_fork	__fork fork
 get_kernel_syms	EXTRA	get_kernel_syms	i:p	get_kernel_syms
 getegid		-	getegid		i:	__getegid	getegid
 geteuid		-	geteuid		i:	__geteuid	geteuid
-getpgid		-	getpgid		i:i	__getpgid	getpgid __getpgid_internal
+getpgid		-	getpgid		i:i	__getpgid	getpgid __GI___getpgid
 getpgrp		-	getpgrp		i:	getpgrp
 getppid		-	getppid		i:	__getppid	getppid
 getsid		-	getsid		i:i	getsid
@@ -34,7 +34,7 @@ nanosleep	-	nanosleep	i:pp	__libc_nanosl
 nfsservctl	EXTRA	nfsservctl	i:ipp	nfsservctl
 pause		-	pause		i:	__libc_pause	pause
 personality	init-first personality	i:i	__personality	personality
-pipe		-	pipe		i:f	__pipe		pipe
+pipe		-	pipe		i:f	__pipe		pipe __GI___pipe
 pivot_root	EXTRA	pivot_root	i:ss	pivot_root
 prctl		EXTRA	prctl		i:iiiii	prctl
 query_module	EXTRA	query_module	i:sipip	query_module
@@ -45,14 +45,14 @@ sched_primax	-	sched_get_priority_max	i:
 sched_primin	-	sched_get_priority_min	i:i	__sched_get_priority_min	sched_get_priority_min
 sched_rr_gi	-	sched_rr_get_interval	i:ip	__sched_rr_get_interval	sched_rr_get_interval
 sched_setp	-	sched_setparam	i:ip	__sched_setparam	sched_setparam
-sched_sets	-	sched_setscheduler	i:iip	__sched_setscheduler	sched_setscheduler
+sched_sets	-	sched_setscheduler	i:iip	__sched_setscheduler	sched_setscheduler __GI___sched_setscheduler
 sched_yield	-	sched_yield	i:	__sched_yield	sched_yield
-select		-	_newselect	i:iPPPP	__select	select
+select		-	_newselect	i:iPPPP	__select	select __GI___select
 sendfile	-	sendfile	i:iipi	sendfile
 sendfile64	-	sendfile64	i:iipi	sendfile64
 setfsgid	EXTRA	setfsgid	i:i	setfsgid
 setfsuid	EXTRA	setfsuid	i:i	setfsuid
-setpgid		-	setpgid		i:ii	__setpgid	setpgid
+setpgid		-	setpgid		i:ii	__setpgid	setpgid __GI___setpgid
 setresuid	EXTRA	setresuid	i:iii	__setresuid	setresuid
 setresgid	EXTRA	setresgid	i:iii	__setresgid	setresgid
 sigaltstack	-	sigaltstack	i:PP	__sigaltstack	sigaltstack
@@ -62,5 +62,5 @@ swapoff		-	swapoff		i:s	__swapoff	swapof
 uselib		EXTRA	uselib		i:s	uselib
 wait4		-	wait4		i:iWiP	__wait4		wait4
 
-chown		-	chown		i:sii	__chown_internal __chown chown
-fcntl		-	fcntl		i:iiF	__libc_fcntl	__fcntl_internal __fcntl fcntl
+chown		-	chown		i:sii	__GI___chown	__chown chown
+fcntl		-	fcntl		i:iiF	__libc_fcntl	__GI___libc_fcntl __fcntl __GI___fcntl fcntl
--- libc/sysdeps/unix/sysv/linux/getpagesize.c.jj	2002-04-25 22:02:20.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/getpagesize.c	2002-08-02 17:07:27.000000000 +0200
@@ -21,8 +21,6 @@
 
 #include <ldsodefs.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -43,6 +41,5 @@ __getpagesize ()
 #endif	/* NBPG.  */
 #endif	/* EXEC_PAGESIZE.  */
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/sysdeps/unix/sysv/linux/poll.c.jj	2001-08-23 18:50:44.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/poll.c	2002-08-02 19:27:47.000000000 +0200
@@ -1,5 +1,5 @@
 /* Poll system call, with emulation if it is not available.
-   Copyright (C) 1997, 1998, 1999, 2000, 2001 Free Software Foundation, Inc.
+   Copyright (C) 1997,1998,1999,2000,2001,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -63,6 +63,7 @@ __poll (fds, nfds, timeout)
   return INLINE_SYSCALL (poll, 3, CHECK_N (fds, nfds), nfds, timeout);
 # endif
 }
+libc_hidden_def (__poll)
 weak_alias (__poll, poll)
 
 /* Get the emulation code.  */
--- libc/sysdeps/unix/sysv/linux/pwrite64.c.jj	2001-08-23 18:50:44.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/pwrite64.c	2002-08-02 19:27:53.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -61,6 +61,7 @@ __libc_pwrite64 (fd, buf, count, offset)
 }
 
 weak_alias (__libc_pwrite64, __pwrite64)
+libc_hidden_weak (__pwrite64)
 weak_alias (__libc_pwrite64, pwrite64)
 
 # define __libc_pwrite64(fd, buf, count, offset) \
--- libc/sysdeps/unix/sysv/linux/send.S.jj	1998-01-21 18:02:12.000000000 +0100
+++ libc/sysdeps/unix/sysv/linux/send.S	2002-08-02 20:05:26.000000000 +0200
@@ -3,3 +3,4 @@
 #define	NARGS	4
 #include <socket.S>
 weak_alias (__libc_send, __send)
+libc_hidden_def (__send)
--- libc/sysdeps/unix/sysv/linux/sigaction.c.jj	2001-08-23 18:50:44.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sigaction.c	2002-08-02 19:28:00.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1997, 1998, 1999, 2000, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -134,4 +134,5 @@ __libc_sigaction (sig, act, oact)
 }
 
 weak_alias (__libc_sigaction, __sigaction)
+libc_hidden_weak (__sigaction)
 weak_alias (__libc_sigaction, sigaction)
--- libc/sysdeps/unix/sysv/linux/sigsuspend.c.jj	2001-08-23 18:50:44.000000000 +0200
+++ libc/sysdeps/unix/sysv/linux/sigsuspend.c	2002-08-02 19:28:12.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1996,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -64,4 +64,5 @@ __sigsuspend (set)
   return INLINE_SYSCALL (sigsuspend, 3, 0, 0, set->__val[0]);
 #endif
 }
+libc_hidden_def (__sigsuspend)
 weak_alias (__sigsuspend, sigsuspend)
--- libc/sysdeps/unix/sysv/sco3.2.4/__setpgid.c.jj	2001-08-23 18:51:33.000000000 +0200
+++ libc/sysdeps/unix/sysv/sco3.2.4/__setpgid.c	2002-08-02 19:28:16.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,3 +30,4 @@ __setpgid (pid, pgid)
 {
   return __pgrpsys (2, pid, pgid);
 }
+libc_hidden_def (__setpgid)
--- libc/sysdeps/unix/sysv/sco3.2.4/sigaction.S.jj	2001-08-23 18:51:40.000000000 +0200
+++ libc/sysdeps/unix/sysv/sco3.2.4/sigaction.S	2002-08-02 19:28:22.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1994, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1994, 1995, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -26,4 +26,5 @@ ENTRY (__sigaction)
 	jb syscall_error
 	ret
 
+libc_hidden_def (__sigaction)
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list.jj	1998-07-20 19:23:28.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/solaris2/syscalls.list	2002-08-02 19:17:06.000000000 +0200
@@ -1,6 +1,6 @@
 # File name	Caller	Syscall name	# args	Strong name	Weak names
 
-sigaction	-	sigaction	3	__sigaction	sigaction
+sigaction	-	sigaction	3	__sigaction	sigaction __GI___sigaction
 sigaltstack	-	sigaltstack	2	sigaltstack
 sigpending	-	sigpending	2	__syscall_sigpending
 sigqueue	-	sigqueue	3	__sigqueue	sigqueue
--- libc/sysdeps/unix/sysv/sysv4/__getpgid.c.jj	2002-04-30 12:57:23.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/__getpgid.c	2002-08-02 17:08:07.000000000 +0200
@@ -21,8 +21,6 @@
 #include <unistd.h>
 #include <sys/types.h>
 
-#undef __getpgid
-
 extern int __pgrpsys __P ((int type, ...));
 
 /* Get the process group ID of process PID.  */
@@ -32,4 +30,4 @@ __getpgid (pid)
 {
   return __pgrpsys (4, pid);
 }
-INTDEF(__getpgid)
+libc_hidden_def (__getpgid)
--- libc/sysdeps/unix/sysv/sysv4/getpgid.c.jj	2002-04-30 12:57:23.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/getpgid.c	2002-08-02 17:08:30.000000000 +0200
@@ -19,8 +19,6 @@
 #include <unistd.h>
 #include <sys/types.h>
 
-#undef __getpgid
-
 extern pid_t __pgrpsys __P ((int type, ...));
 
 /* Get the process group ID of process PID.  */
@@ -30,6 +28,5 @@ __getpgid (pid)
 {
   return __pgrpsys (4, pid);
 }
-
-INTDEF(__getpgid)
+libc_hidden_def (__getpgid)
 weak_alias (__getpgid, getpgid)
--- libc/sysdeps/unix/sysv/sysv4/__setpgid.c.jj	2001-08-23 18:51:40.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/__setpgid.c	2002-08-02 19:28:27.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1997, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@zen.org).
 
@@ -31,3 +31,4 @@ __setpgid (pid, pgid)
 {
   return __pgrpsys (5, pid, pgid);
 }
+libc_hidden_def (__setpgid)
--- libc/sysdeps/unix/sysv/sysv4/setpgid.c.jj	2001-08-23 18:51:40.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/setpgid.c	2002-08-02 19:28:38.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1993,1995,1996,1997,1999,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -30,5 +30,5 @@ __setpgid (pid, pgid)
 {
   return __pgrpsys (5, pid, pgid);
 }
-
+libc_hidden_def (__setpgid)
 weak_alias (__setpgid, setpgid)
--- libc/sysdeps/unix/sysv/sysv4/sigaction.c.jj	2001-08-23 18:51:40.000000000 +0200
+++ libc/sysdeps/unix/sysv/sysv4/sigaction.c	2002-08-02 19:28:46.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1994,1995,1996,1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -76,5 +76,5 @@ __sigaction (sig, act, oact)
 
   return 0;
 }
-
+libc_hidden_def (__sigaction)
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/unix/sysv/sigaction.c.jj	2001-08-23 18:50:34.000000000 +0200
+++ libc/sysdeps/unix/sysv/sigaction.c	2002-08-02 19:28:57.000000000 +0200
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1992,1994,1995,1996,1997,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -80,5 +80,5 @@ __sigaction (sig, act, oact)
 
   return 0;
 }
-
+libc_hidden_def (__sigaction)
 weak_alias (__sigaction, sigaction)
--- libc/sysdeps/unix/syscalls.list.jj	2002-04-30 12:56:18.000000000 +0200
+++ libc/sysdeps/unix/syscalls.list	2002-08-02 18:56:00.000000000 +0200
@@ -4,20 +4,20 @@ access		-	access		i:si	__access	access
 acct		-	acct		i:S	acct
 chdir		-	chdir		i:s	__chdir		chdir
 chmod		-	chmod		i:si	__chmod		chmod
-chown		-	chown		i:sii	__chown		chown
+chown		-	chown		i:sii	__chown		chown __GI___chown
 chroot		-	chroot		i:s	chroot
-close		-	close		i:i	__libc_close	__close close __close_internal
+close		-	close		i:i	__libc_close	__close close __GI___close
 dup		-	dup		i:i	__dup		dup
-dup2		-	dup2		i:ii	__dup2		dup2 __dup2_internal
+dup2		-	dup2		i:ii	__dup2		dup2 __GI___dup2
 fchdir		-	fchdir		i:i	__fchdir	fchdir
-fcntl		-	fcntl		i:iiF	__libc_fcntl	__fcntl fcntl
+fcntl		-	fcntl		i:iiF	__libc_fcntl	__GI___libc_fcntl __fcntl __GI___fcntl fcntl
 fstatfs		-	fstatfs		i:ip	__fstatfs	fstatfs
 fsync		-	fsync		i:i	__libc_fsync	fsync
 getdomain	-	getdomainname	i:si	getdomainname
 getgid		-	getgid		i:	__getgid	getgid
 getgroups	-	getgroups	i:ip	__getgroups	getgroups
 getitimer	-	getitimer	i:ip	__getitimer	getitimer
-getpid		-	getpid		i:	__getpid	getpid __getpid_internal
+getpid		-	getpid		i:	__getpid	getpid __GI___getpid
 getpriority	-	getpriority	i:ii	getpriority
 getrlimit	-	getrlimit	i:ip	__getrlimit	getrlimit
 getuid		-	getuid		i:	__getuid	getuid
@@ -26,16 +26,16 @@ kill		-	kill		i:ii	__kill		kill
 link		-	link		i:ss	__link		link
 lseek		-	lseek		i:iii	__libc_lseek	__lseek lseek
 mkdir		-	mkdir		i:si	__mkdir		mkdir
-open		-	open		i:siv	__libc_open	__open open __open_internal
+open		-	open		i:siv	__libc_open	__GI___libc_open __open open __GI___open
 profil		-	profil		i:piii	profil
 ptrace		-	ptrace		i:iiii	ptrace
-read		-	read		i:ibn	__libc_read	__read read
+read		-	read		i:ibn	__libc_read	__read read __GI___read __GI___libc_read
 readlink	-	readlink	i:spi	__readlink	readlink
 readv		-	readv		i:ipi	__readv		readv
 reboot		-	reboot		i:i	reboot
 rename		-	rename		i:ss	rename
 rmdir		-	rmdir		i:s	__rmdir		rmdir
-select		-	select		i:iPPPP	__select	select
+select		-	select		i:iPPPP	__select	select __GI___select
 setdomain	-	setdomainname	i:si	setdomainname
 setegid		-	setegid		i:i	__setegid	setegid
 seteuid		-	seteuid		i:i	__seteuid	seteuid
@@ -49,7 +49,7 @@ settimeofday	-	settimeofday	i:PP	__setti
 setuid		-	setuid		i:i	__setuid	setuid
 sigsuspend	-	sigsuspend	i:p	sigsuspend
 sstk		-	sstk		b:i	sstk
-statfs		-	statfs		i:sp	__statfs	statfs
+statfs		-	statfs		i:sp	__statfs	statfs __GI___statfs
 swapoff		-	swapoff		i:s	swapoff
 swapon		-	swapon		i:s	swapon
 symlink		-	symlink		i:ss	__symlink	symlink
@@ -61,5 +61,5 @@ umask		-	umask		i:i	__umask		umask
 uname		-	uname		i:p	__uname		uname
 unlink		-	unlink		i:s	__unlink	unlink
 utimes		-	utimes		i:sp	__utimes	utimes
-write		-	write		i:ibn	__libc_write	__write write __write_internal
+write		-	write		i:ibn	__libc_write	__write write __GI___write __GI___libc_write
 writev		-	writev		i:ipi	__writev	writev
--- libc/sysdeps/unix/getpagesize.c.jj	2002-04-30 12:56:17.000000000 +0200
+++ libc/sysdeps/unix/getpagesize.c	2002-08-02 16:20:00.000000000 +0200
@@ -19,8 +19,6 @@
 #include <unistd.h>
 #include <sys/param.h>
 
-#undef __getpagesize
-
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -38,6 +36,5 @@ __getpagesize ()
 #endif	/* NBPG.  */
 #endif	/* EXEC_PAGESIZE.  */
 }
-
-INTDEF(__getpagesize)
+libc_hidden_def (__getpagesize)
 weak_alias (__getpagesize, getpagesize)
--- libc/wcsmbs/mbrlen.c.jj	2002-04-30 12:57:38.000000000 +0200
+++ libc/wcsmbs/mbrlen.c	2002-08-02 14:24:32.000000000 +0200
@@ -19,8 +19,6 @@
 
 #include <wchar.h>
 
-#undef __mbrlen
-
 /* The mbrlen function has an internal shift state which gets used if
    the PS parameter is NULL.  */
 static mbstate_t internal;
@@ -34,5 +32,5 @@ __mbrlen (s, n, ps)
 {
   return __mbrtowc (NULL, s, n, ps ?: &internal);
 }
-INTDEF(__mbrlen)
+libc_hidden_def (__mbrlen)
 weak_alias (__mbrlen, mbrlen)
--- libc/wcsmbs/mbrtowc.c.jj	2002-04-30 12:57:39.000000000 +0200
+++ libc/wcsmbs/mbrtowc.c	2002-08-02 14:24:32.000000000 +0200
@@ -29,8 +29,6 @@
 # define EILSEQ EINVAL
 #endif
 
-#undef __mbrtowc
-
 /* This is the private state used if PS is NULL.  */
 static mbstate_t state;
 
@@ -106,5 +104,5 @@ __mbrtowc (wchar_t *pwc, const char *s, 
 
   return result;
 }
-INTDEF(__mbrtowc)
+libc_hidden_def (__mbrtowc)
 weak_alias (__mbrtowc, mbrtowc)
--- libc/configure.in.jj	2002-07-29 15:14:49.000000000 +0200
+++ libc/configure.in	2002-08-02 21:46:27.000000000 +0200
@@ -1013,6 +1013,29 @@ EOF
     fi
   fi
 
+  if test $libc_cv_visibility_attribute = yes; then
+    AC_CACHE_CHECK(whether for broken __attribute__((visibility())),
+		 libc_cv_broken_visibility_attribute,
+		 [cat > conftest.c <<EOF
+		  int foo (int x);
+		  int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
+		  int bar (int x) { return x; }
+EOF
+		  libc_cv_broken_visibility_attribute=yes
+		  if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+changequote(,)dnl
+		    if grep '\.hidden[ 	_]foo' conftest.s >/dev/null; then
+changequote([,])dnl
+		      libc_cv_broken_visibility_attribute=no
+		    fi
+		  fi
+		  rm -f conftest.[cs]
+		 ])
+    if test $libc_cv_broken_visibility_attribute = yes; then
+      AC_DEFINE(HAVE_BROKEN_VISIBILITY_ATTRIBUTE)
+    fi
+  fi
+
   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
     AC_CACHE_CHECK(whether to put _rtld_local into .sdata section,
 		 libc_cv_have_sdata_section,
--- libc/configure.jj	2002-07-29 15:14:49.000000000 +0200
+++ libc/configure	2002-08-02 21:47:06.000000000 +0200
@@ -2823,6 +2823,36 @@ EOF
     fi
   fi
 
+  if test $libc_cv_visibility_attribute = yes; then
+    echo $ac_n "checking for broken __attribute__((visibility()))""... $ac_c" 1>&6
+echo "configure:2829: checking for broken __attribute__((visibility()))" >&5
+if eval "test \"`echo '$''{'libc_cv_broken_visibility_attribute'+set}'`\" = set"; then
+  echo $ac_n "(cached) $ac_c" 1>&6
+else
+  cat > conftest.c <<EOF
+		  int foo (int x);
+		  int bar (int x) __asm__ ("foo") __attribute__ ((visibility ("hidden")));
+		  int bar (int x) { return x; }
+EOF
+		  libc_cv_broken_visibility_attribute=yes
+		  if ${CC-cc} -Werror -S conftest.c -o conftest.s >/dev/null 2>&1; then
+		    if grep '\.hidden[ 	_]foo' conftest.s >/dev/null; then
+		      libc_cv_broken_visibility_attribute=no
+		    fi
+		  fi
+		  rm -f conftest.cs
+		 
+fi
+
+echo "$ac_t""$libc_cv_broken_visibility_attribute" 1>&6
+    if test $libc_cv_broken_visibility_attribute = yes; then
+      cat >> confdefs.h <<\EOF
+#define HAVE_BROKEN_VISIBILITY_ATTRIBUTE 1
+EOF
+
+    fi
+  fi
+
   if test $libc_cv_visibility_attribute = yes -a $gnu_ld = yes; then
     echo $ac_n "checking whether to put _rtld_local into .sdata section""... $ac_c" 1>&6
 echo "configure:2829: checking whether to put _rtld_local into .sdata section" >&5
--- libc/config.h.in.jj	2002-07-29 15:14:49.000000000 +0200
+++ libc/config.h.in	2002-08-02 14:39:12.000000000 +0200
@@ -117,6 +117,10 @@
 /* Define if the compiler supports __attribute__ ((visibility (...))).  */
 #undef	HAVE_VISIBILITY_ATTRIBUTE
 
+/* Define if the compiler doesn't support __attribute__ ((visibility (...)))
+   together with __asm__ redirection properly.  */
+#undef	HAVE_BROKEN_VISIBILITY_ATTRIBUTE
+
 /* Define if _rtld_local structure should be forced into .sdata section.  */
 #undef	HAVE_SDATA_SECTION
 

	Jakub


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]