about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog46
-rw-r--r--include/sys/stat.h29
-rw-r--r--sysdeps/generic/fxstat64.c6
-rw-r--r--sysdeps/generic/getpagesize.c5
-rw-r--r--sysdeps/generic/getpgid.c5
-rw-r--r--sysdeps/generic/getpid.c4
-rw-r--r--sysdeps/mach/getpagesize.c5
-rw-r--r--sysdeps/mach/hurd/fxstat.c5
-rw-r--r--sysdeps/mach/hurd/fxstat64.c6
-rw-r--r--sysdeps/mach/hurd/getpgid.c5
-rw-r--r--sysdeps/mach/hurd/getpid.c5
-rw-r--r--sysdeps/posix/getpagesize.c5
-rw-r--r--sysdeps/unix/fxstat.c7
-rw-r--r--sysdeps/unix/getpagesize.c5
-rw-r--r--sysdeps/unix/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/aix/fxstat.c5
-rw-r--r--sysdeps/unix/sysv/aix/fxstat64.c7
-rw-r--r--sysdeps/unix/sysv/aix/getpgid.c5
-rw-r--r--sysdeps/unix/sysv/linux/fxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/fxstat64.c4
-rw-r--r--sysdeps/unix/sysv/linux/getpagesize.c3
-rw-r--r--sysdeps/unix/sysv/linux/i386/fxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/fxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/ia64/getpagesize.c5
-rw-r--r--sysdeps/unix/sysv/linux/m68k/getpagesize.c3
-rw-r--r--sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c6
-rw-r--r--sysdeps/unix/sysv/linux/shmat.c3
-rw-r--r--sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c3
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/sysv4/__getpgid.c5
-rw-r--r--sysdeps/unix/sysv/sysv4/getpgid.c5
31 files changed, 176 insertions, 38 deletions
diff --git a/ChangeLog b/ChangeLog
index 7798941417..a281a1981f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,49 @@
+2002-04-14  Ulrich Drepper  <drepper@redhat.com>
+
+	* include/sys/stat.h: Declare __fxstat_internal and __fxstat64_internal
+	and define __fxstate and __fxstat64 macros if not NOT_IN_libc.
+	Remove __lstat and __fstat inline functions.
+	* sysdeps/generic/fxstat.c: Use INTDEF for __fxstat.
+	* sysdeps/mach/hurd/fxstat.c: Likewise.
+	* sysdeps/unix/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/aix/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/i386/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/fxstat.c: Likewise.
+	* sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c: Likewise.
+	* sysdeps/generic/fxstat64.c: Use INTDEF for __fxstat64.
+	* sysdeps/mach/hurd/fxstat64.c: Likewise.
+	* sysdeps/unix/sysv/aix/fxstat64.c: Likewise.
+	* sysdeps/unix/sysv/linux/fxstat64.c: Likewise.
+
+	* include/unistd.h: Declare __getpid_internal and define
+	__getpid macro if not NOT_IN_libc.
+	* sysdeps/mach/hurd/getpid.c: Use INTDEF for __getpid.
+	* sysdeps/generic/getpid.c: Likewise.
+	* sysdeps/unix/syscalls.list: Add __getpid_internal alias.
+
+	* include/unistd.h: Declare __getpgid_internal and define
+	__getpgid macro if not NOT_IN_libc.
+	* sysdeps/generic/getpgid.c: Use INTDEF for __getpgid.
+	* sysdeps/mach/hurd/getpgid.c: Likewise.
+	* sysdeps/unix/sysv/aix/getpgid.c: Likewise.
+	* sysdeps/unix/sysv/sysv4/__getpgid.c: Likewise.
+	* sysdeps/unix/sysv/sysv4/getpgid.c: Likewise.
+	* sysdeps/unix/sysv/linux/syscalls.list: Add _getpgid_internal alias.
+
+	* include/unistd.h: Declare __getpagesize_internal and define
+	__getpagesize macro if not NOT_IN_libc.
+	* sysdeps/unix/sysv/linux/shmat.c: Include <unistd.h> for
+	__getpagesize.
+	* sysdeps/generic/getpagesize.c: Use INTDEF for __getpagesize.
+	* sysdeps/mach/getpagesize.c: Likewise.
+	* sysdeps/posix/getpagesize.c: Likewise.
+	* sysdeps/unix/getpagesize.c: Likewise.
+	* sysdeps/unix/sysv/linux/getpagesize.c: Likewise.
+	* sysdeps/unix/sysv/linux/ia64/getpagesize.c: Likewise.
+	* sysdeps/unix/sysv/linux/m68k/getpagesize.c: Likewise.
+	* sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c: Likewise.
+
 2002-04-13  Andreas Jaeger  <aj@suse.de>
 
 	* sysdeps/i386/i486/bits/string.h (__strcspn_cg): Use only memory
diff --git a/include/sys/stat.h b/include/sys/stat.h
index db0bd8f03d..bb89457e65 100644
--- a/include/sys/stat.h
+++ b/include/sys/stat.h
@@ -11,18 +11,14 @@ extern __mode_t __umask (__mode_t __mask);
 extern int __mkdir (__const char *__path, __mode_t __mode);
 extern int __mknod (__const char *__path,
 		    __mode_t __mode, __dev_t __dev);
+extern int __fxstat_internal (int __ver, int __fildes,
+			      struct stat *__stat_buf);
+extern int __fxstat64_internal (int __ver, int __fildes,
+				struct stat64 *__stat_buf) ;
 extern __inline__ int __stat (__const char *__path, struct stat *__statbuf)
 {
   return __xstat (_STAT_VER, __path, __statbuf);
 }
-extern __inline__ int __lstat (__const char *__path, struct stat *__statbuf)
-{
-  return __lxstat (_STAT_VER, __path, __statbuf);
-}
-extern __inline__ int __fstat (int __fd, struct stat *__statbuf)
-{
-  return __fxstat (_STAT_VER, __fd, __statbuf);
-}
 extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
 			       __dev_t __dev)
 {
@@ -36,11 +32,20 @@ extern __inline__ int __mknod (__const char *__path, __mode_t __mode,
    We have to use macros but we cannot define them in the normal headers
    since on user level we must use real functions.  */
 #define stat(fname, buf) __xstat (_STAT_VER, fname, buf)
-#define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
-#define __fstat(fd, buf)  __fxstat (_STAT_VER, fd, buf)
 #define lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
 #define __lstat(fname, buf)  __lxstat (_STAT_VER, fname, buf)
-#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
-#define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
 #define lstat64(fname, buf)  __lxstat64 (_STAT_VER, fname, buf)
+#define stat64(fname, buf) __xstat64 (_STAT_VER, fname, buf)
+#ifndef NOT_IN_libc
+# define fstat64(fd, buf) INTUSE(__fxstat64) (_STAT_VER, fd, buf)
+# define fstat(fd, buf) INTUSE(__fxstat) (_STAT_VER, fd, buf)
+# define __fstat(fd, buf)  INTUSE(__fxstat) (_STAT_VER, fd, buf)
+
+# define __fxstat(ver, fd, buf) INTUSE(__fxstat) (ver, fd, buf)
+# define __fxstat64(ver, fd, buf) INTUSE(__fxstat64) (ver, fd, buf)
+#else
+# define fstat64(fd, buf) __fxstat64 (_STAT_VER, fd, buf)
+# define fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+# define __fstat(fd, buf) __fxstat (_STAT_VER, fd, buf)
+#endif
 #endif
diff --git a/sysdeps/generic/fxstat64.c b/sysdeps/generic/fxstat64.c
index cd47a03baa..bcc7265e18 100644
--- a/sysdeps/generic/fxstat64.c
+++ b/sysdeps/generic/fxstat64.c
@@ -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
@@ -20,6 +20,8 @@
 #include <stddef.h>
 #include <sys/stat.h>
 
+#undef __fxstat64
+
 /* Get information about the file descriptor FD in BUF.  */
 int
 __fxstat64 (int vers, int fd, struct stat64 *buf)
@@ -46,3 +48,5 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
 }
 stub_warning (fstat64)
 #include <stub-tag.h>
+
+INTDEF(__fxstat64)
diff --git a/sysdeps/generic/getpagesize.c b/sysdeps/generic/getpagesize.c
index 402e5650a8..bfedd4c2c2 100644
--- a/sysdeps/generic/getpagesize.c
+++ b/sysdeps/generic/getpagesize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 1993, 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
@@ -19,6 +19,8 @@
 #include <errno.h>
 #include <unistd.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -28,5 +30,6 @@ __getpagesize ()
 }
 stub_warning (getpagesize)
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/getpgid.c b/sysdeps/generic/getpgid.c
index 252f3ffbfb..ed49b7d663 100644
--- a/sysdeps/generic/getpgid.c
+++ b/sysdeps/generic/getpgid.c
@@ -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
@@ -19,6 +19,8 @@
 #include <unistd.h>
 #include <sys/types.h>
 
+#undef __getpgid
+
 /* Get the process group ID of process PID.  */
 pid_t
 __getpgid (pid)
@@ -26,6 +28,7 @@ __getpgid (pid)
 {
   return pid;
 }
+INTDEF(__getpgid)
 weak_alias (__getpgid, getpgid)
 
 stub_warning (getpgid)
diff --git a/sysdeps/generic/getpid.c b/sysdeps/generic/getpid.c
index d0a95f47b1..33b1cebe2c 100644
--- a/sysdeps/generic/getpid.c
+++ b/sysdeps/generic/getpid.c
@@ -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
@@ -19,6 +19,7 @@
 #include <errno.h>
 #include <unistd.h>
 
+#undef __getpid
 
 /* Get the process ID of the calling process.  */
 int
@@ -29,5 +30,6 @@ __getpid ()
 }
 stub_warning (getpid)
 
+INTDEF(__getpid)
 weak_alias (__getpid, getpid)
 #include <stub-tag.h>
diff --git a/sysdeps/mach/getpagesize.c b/sysdeps/mach/getpagesize.c
index f64a4331a0..2f0f4fd4ae 100644
--- a/sysdeps/mach/getpagesize.c
+++ b/sysdeps/mach/getpagesize.c
@@ -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
@@ -19,6 +19,8 @@
 #include <unistd.h>
 #include <mach.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -26,4 +28,5 @@ __getpagesize ()
   return __vm_page_size;
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/mach/hurd/fxstat.c b/sysdeps/mach/hurd/fxstat.c
index b4a5c8d9f4..8a90c00ed0 100644
--- a/sysdeps/mach/hurd/fxstat.c
+++ b/sysdeps/mach/hurd/fxstat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1992, 93, 94, 95, 96, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1992, 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
@@ -22,6 +22,8 @@
 #include <hurd.h>
 #include <hurd/fd.h>
 
+#undef __fxstat
+
 /* Get information about the file descriptor FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -37,4 +39,5 @@ __fxstat (int vers, int fd, struct stat *buf)
   return 0;
 }
 
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat)
diff --git a/sysdeps/mach/hurd/fxstat64.c b/sysdeps/mach/hurd/fxstat64.c
index 6ebfc28756..a81e7546e3 100644
--- a/sysdeps/mach/hurd/fxstat64.c
+++ b/sysdeps/mach/hurd/fxstat64.c
@@ -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
@@ -22,6 +22,8 @@
 
 #include "xstatconv.c"
 
+#undef __fxstat64
+
 /* Get information about the file descriptor FD in BUF.  */
 int
 __fxstat64 (int vers, int fd, struct stat64 *buf)
@@ -38,3 +40,5 @@ __fxstat64 (int vers, int fd, struct stat64 *buf)
 
   return result;
 }
+
+INTDEF(__fxstat64)
diff --git a/sysdeps/mach/hurd/getpgid.c b/sysdeps/mach/hurd/getpgid.c
index e387fc4ebc..5402ef417e 100644
--- a/sysdeps/mach/hurd/getpgid.c
+++ b/sysdeps/mach/hurd/getpgid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 92, 93, 94, 95, 97 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 92, 93, 94, 95, 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
@@ -21,6 +21,8 @@
 #include <hurd.h>
 #include <hurd/port.h>
 
+#undef __getpgid
+
 /* Get the process group ID of process PID.  */
 int
 __getpgid (pid)
@@ -41,4 +43,5 @@ __getpgid (pid)
   return err ? __hurd_fail (err) : pgrp;
 }
 
+INTDEF(__getpgid)
 weak_alias (__getpgid, getpgid)
diff --git a/sysdeps/mach/hurd/getpid.c b/sysdeps/mach/hurd/getpid.c
index eb05e9e280..bc299f0419 100644
--- a/sysdeps/mach/hurd/getpid.c
+++ b/sysdeps/mach/hurd/getpid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991, 1993, 1995, 1997 Free Software Foundation, Inc.
+/* Copyright (C) 1991, 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
@@ -20,6 +20,8 @@
 #include <unistd.h>
 #include <hurd.h>
 
+#undef __getpid
+
 /* Get the process ID of the calling process.  */
 pid_t
 __getpid ()
@@ -28,4 +30,5 @@ __getpid ()
   return _hurd_pid;
 }
 
+INTDEF(__getpid)
 weak_alias (__getpid, getpid)
diff --git a/sysdeps/posix/getpagesize.c b/sysdeps/posix/getpagesize.c
index 9ea1ea4b02..4fc0ccfec1 100644
--- a/sysdeps/posix/getpagesize.c
+++ b/sysdeps/posix/getpagesize.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1996 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 1996, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Brendan Kehoe (brendan@cygnus.com).
 
@@ -19,6 +19,8 @@
 
 #include <unistd.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize (void)
@@ -26,4 +28,5 @@ __getpagesize (void)
   return __sysconf (_SC_PAGESIZE);
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/fxstat.c b/sysdeps/unix/fxstat.c
index 4cc2864329..0081ee25d5 100644
--- a/sysdeps/unix/fxstat.c
+++ b/sysdeps/unix/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.
-   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
@@ -24,6 +24,8 @@
 
 extern int __syscall_fstat (int, struct stat *__unbounded);
 
+#undef __fxstat
+
 /* Get information about the file descriptor FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -33,7 +35,8 @@ __fxstat (int vers, int fd, struct stat *buf)
       __set_errno (EINVAL);
       return -1;
     }
-  
+
   return __syscall_fstat (fd, CHECK_1 (buf));
 }
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat)
diff --git a/sysdeps/unix/getpagesize.c b/sysdeps/unix/getpagesize.c
index d9695490d7..e98c3d4c66 100644
--- a/sysdeps/unix/getpagesize.c
+++ b/sysdeps/unix/getpagesize.c
@@ -1,4 +1,4 @@
-/* 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
@@ -19,6 +19,8 @@
 #include <unistd.h>
 #include <sys/param.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -37,4 +39,5 @@ __getpagesize ()
 #endif	/* EXEC_PAGESIZE.  */
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/syscalls.list b/sysdeps/unix/syscalls.list
index f13cfd42f0..d6392be61f 100644
--- a/sysdeps/unix/syscalls.list
+++ b/sysdeps/unix/syscalls.list
@@ -17,7 +17,7 @@ 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		-	getpid		i:	__getpid	getpid __getpid_internal
 getpriority	-	getpriority	i:ii	getpriority
 getrlimit	-	getrlimit	i:ip	__getrlimit	getrlimit
 getuid		-	getuid		i:	__getuid	getuid
diff --git a/sysdeps/unix/sysv/aix/fxstat.c b/sysdeps/unix/sysv/aix/fxstat.c
index e1f546d8c9..4c1e145dcb 100644
--- a/sysdeps/unix/sysv/aix/fxstat.c
+++ b/sysdeps/unix/sysv/aix/fxstat.c
@@ -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,9 +23,12 @@
 
 extern int fstatx (int fd, struct stat *st, int len, int cmd);
 
+#undef __fxstat
+
 int
 __fxstat (int ver, int fd, struct stat *st)
 {
   assert (ver == 0);
   return fstatx (fd, st, sizeof (*st), STX_NORMAL);
 }
+INTDEF(__fxstat)
diff --git a/sysdeps/unix/sysv/aix/fxstat64.c b/sysdeps/unix/sysv/aix/fxstat64.c
index 39f8cd9e11..509fb2c0cb 100644
--- a/sysdeps/unix/sysv/aix/fxstat64.c
+++ b/sysdeps/unix/sysv/aix/fxstat64.c
@@ -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
@@ -22,11 +22,16 @@
 #define STX_NORMAL      0x00
 #define STX_64          0x08
 
+#undef __fxstat64
+
 extern int fstatx (int fd, struct stat64 *st, int len, int cmd);
 
+#undef __fxstat64
+
 int
 __fxstat64 (int ver, int fd, struct stat64 *st)
 {
   assert (ver == 0);
   return fstatx (fd, st, sizeof (*st), STX_NORMAL | STX_64);
 }
+INTDEF(__fxstat64)
diff --git a/sysdeps/unix/sysv/aix/getpgid.c b/sysdeps/unix/sysv/aix/getpgid.c
index 297fccc854..889e3e1cac 100644
--- a/sysdeps/unix/sysv/aix/getpgid.c
+++ b/sysdeps/unix/sysv/aix/getpgid.c
@@ -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
@@ -18,6 +18,8 @@
 
 #include <unistd.h>
 
+#undef __getpgid
+
 extern int kgetpgidx (pid_t pid);
 
 int
@@ -25,4 +27,5 @@ __getgpid (pid_t pid)
 {
   return kgetpgidx (pid);
 }
+INTDEF(__getgpid)
 strong_alias (__getpgid, getpgid)
diff --git a/sysdeps/unix/sysv/linux/fxstat.c b/sysdeps/unix/sysv/linux/fxstat.c
index e3fb1f5097..2d4317c8cf 100644
--- a/sysdeps/unix/sysv/linux/fxstat.c
+++ b/sysdeps/unix/sysv/linux/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.
-   Copyright (C) 1991, 1995, 1996, 1997, 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
@@ -34,6 +34,8 @@
 
 extern int __syscall_fstat (int, struct kernel_stat *__unbounded);
 
+#undef __fxstat
+
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -51,8 +53,10 @@ __fxstat (int vers, int fd, struct stat *buf)
   return result;
 }
 
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat);
 #ifdef XSTAT_IS_XSTAT64
 #undef __fxstat64
 strong_alias (__fxstat, __fxstat64);
+INTDEF(__fxstat64)
 #endif
diff --git a/sysdeps/unix/sysv/linux/fxstat64.c b/sysdeps/unix/sysv/linux/fxstat64.c
index 2afe9cd267..2d9a6c17cc 100644
--- a/sysdeps/unix/sysv/linux/fxstat64.c
+++ b/sysdeps/unix/sysv/linux/fxstat64.c
@@ -90,6 +90,8 @@ ___fxstat64 (int vers, int fd, struct stat64 *buf)
 
 versioned_symbol (libc, ___fxstat64, __fxstat64, GLIBC_2_2);
 
+INTDEF2(___fxstat64, __fxstat64)
+
 # if SHLIB_COMPAT(libc, GLIBC_2_1, GLIBC_2_2)
 strong_alias (___fxstat64, __old__fxstat64)
 compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
@@ -97,4 +99,6 @@ compat_symbol (libc, __old__fxstat64, __fxstat64, GLIBC_2_1);
 
 #else
 strong_alias (___fxstat64, __fxstat64);
+
+INTDEF(__fxstat64)
 #endif
diff --git a/sysdeps/unix/sysv/linux/getpagesize.c b/sysdeps/unix/sysv/linux/getpagesize.c
index f030abc61b..6afb21ba37 100644
--- a/sysdeps/unix/sysv/linux/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/getpagesize.c
@@ -21,6 +21,8 @@
 
 #include <ldsodefs.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -42,4 +44,5 @@ __getpagesize ()
 #endif	/* EXEC_PAGESIZE.  */
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/sysv/linux/i386/fxstat.c b/sysdeps/unix/sysv/linux/i386/fxstat.c
index 230ce21e03..8a6de099d5 100644
--- a/sysdeps/unix/sysv/linux/i386/fxstat.c
+++ b/sysdeps/unix/sysv/linux/i386/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.
-   Copyright (C) 1991,95,96,97,98,2000 Free Software Foundation, Inc.
+   Copyright (C) 1991,95,96,97,98,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
@@ -44,6 +44,8 @@ extern int __have_no_stat64;
 # endif
 #endif
 
+#undef __fxstat
+
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -94,8 +96,10 @@ __fxstat (int vers, int fd, struct stat *buf)
 #endif  /* __ASSUME_STAT64_SYSCALL  */
 }
 
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat);
 #ifdef XSTAT_IS_XSTAT64
 #undef __fxstat64
 strong_alias (__fxstat, __fxstat64);
+INTDEF(__fxstat64)
 #endif
diff --git a/sysdeps/unix/sysv/linux/ia64/fxstat.c b/sysdeps/unix/sysv/linux/ia64/fxstat.c
index 1edf44c8aa..2783c0f7bf 100644
--- a/sysdeps/unix/sysv/linux/ia64/fxstat.c
+++ b/sysdeps/unix/sysv/linux/ia64/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.
-   Copyright (C) 1991, 95, 96, 97, 98, 2000 Free Software Foundation, Inc.
+   Copyright (C) 1991,95,96,97,98,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
@@ -31,6 +31,8 @@
 
 extern int __syscall_fstat (int, struct stat *__unbounded);
 
+#undef __fxstat
+
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -38,6 +40,8 @@ __fxstat (int vers, int fd, struct stat *buf)
   return INLINE_SYSCALL (fstat, 2, fd, CHECK_1 (buf));
 }
 
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat);
 #undef __fxstat64
 strong_alias (__fxstat, __fxstat64);
+INTDEF(__fxstat64)
diff --git a/sysdeps/unix/sysv/linux/ia64/getpagesize.c b/sysdeps/unix/sysv/linux/ia64/getpagesize.c
index 0f1f8e13ed..3f31e759bc 100644
--- a/sysdeps/unix/sysv/linux/ia64/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/ia64/getpagesize.c
@@ -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
@@ -24,6 +24,8 @@
 #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
@@ -36,4 +38,5 @@ __getpagesize ()
   return GL(dl_pagesize);
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/sysv/linux/m68k/getpagesize.c b/sysdeps/unix/sysv/linux/m68k/getpagesize.c
index ce1048b47d..026a8943bf 100644
--- a/sysdeps/unix/sysv/linux/m68k/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/m68k/getpagesize.c
@@ -25,6 +25,8 @@
 #include <sysdep.h>
 #include <sys/syscall.h>
 
+#undef __getpagesize
+
 /* Return the system page size.  */
 int
 __getpagesize ()
@@ -46,4 +48,5 @@ __getpagesize ()
   return 4096;
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
index 2ab3046b0c..36d38751ad 100644
--- a/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
+++ b/sysdeps/unix/sysv/linux/s390/s390-64/fxstat.c
@@ -1,5 +1,5 @@
 /* fxstat using old-style Unix fstat system call.  64 bit S/390 version.
-   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
@@ -30,6 +30,8 @@
 
 extern int __syscall_fstat (int, struct stat *);
 
+#undef __fxstat
+
 /* Get information about the file FD in BUF.  */
 int
 __fxstat (int vers, int fd, struct stat *buf)
@@ -37,6 +39,8 @@ __fxstat (int vers, int fd, struct stat *buf)
   return INLINE_SYSCALL (fstat, 2, fd, buf);
 }
 
+INTDEF(__fxstat)
 weak_alias (__fxstat, _fxstat);
 #undef __fxstat64
 strong_alias (__fxstat, __fxstat64);
+INTDEF(__fxstat64)
diff --git a/sysdeps/unix/sysv/linux/shmat.c b/sysdeps/unix/sysv/linux/shmat.c
index d6dead138e..8168529a9f 100644
--- a/sysdeps/unix/sysv/linux/shmat.c
+++ b/sysdeps/unix/sysv/linux/shmat.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995,1997,1998,1999,2000,2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, August 1995.
 
@@ -22,6 +22,7 @@
 #include <ipc_priv.h>
 
 #include <sysdep.h>
+#include <unistd.h>
 #include <sys/syscall.h>
 #include <bp-checks.h>
 
diff --git a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
index 8bd47325b1..47bac2f8cf 100644
--- a/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
+++ b/sysdeps/unix/sysv/linux/sparc/sparc32/getpagesize.c
@@ -20,6 +20,8 @@
 #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.  */
 
@@ -37,4 +39,5 @@ __getpagesize ()
   return GL(dl_pagesize);
 }
 
+INTDEF(__getpagesize)
 weak_alias (__getpagesize, getpagesize)
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index e443ca60c1..71c60ead0d 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -12,7 +12,7 @@ fork		-	fork		i:	__libc_fork	__fork fork __fork_internal
 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		-	getpgid		i:i	__getpgid	getpgid __getpgid_internal
 getpgrp		-	getpgrp		i:	getpgrp
 getppid		-	getppid		i:	__getppid	getppid
 getsid		-	getsid		i:i	getsid
diff --git a/sysdeps/unix/sysv/sysv4/__getpgid.c b/sysdeps/unix/sysv/sysv4/__getpgid.c
index 4ee0e7483f..9313434011 100644
--- a/sysdeps/unix/sysv/sysv4/__getpgid.c
+++ b/sysdeps/unix/sysv/sysv4/__getpgid.c
@@ -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).
 
@@ -21,6 +21,8 @@
 #include <unistd.h>
 #include <sys/types.h>
 
+#undef __getpgid
+
 extern int __pgrpsys __P ((int type, ...));
 
 /* Get the process group ID of process PID.  */
@@ -30,3 +32,4 @@ __getpgid (pid)
 {
   return __pgrpsys (4, pid);
 }
+INTDEF(__getpgid)
diff --git a/sysdeps/unix/sysv/sysv4/getpgid.c b/sysdeps/unix/sysv/sysv4/getpgid.c
index 0d4e4caa73..5ec9e2c1c2 100644
--- a/sysdeps/unix/sysv/sysv4/getpgid.c
+++ b/sysdeps/unix/sysv/sysv4/getpgid.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1993, 1995, 1997, 1999 Free Software Foundation, Inc.
+/* Copyright (C) 1993, 1995, 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
@@ -19,6 +19,8 @@
 #include <unistd.h>
 #include <sys/types.h>
 
+#undef __getpgid
+
 extern pid_t __pgrpsys __P ((int type, ...));
 
 /* Get the process group ID of process PID.  */
@@ -29,4 +31,5 @@ __getpgid (pid)
   return __pgrpsys (4, pid);
 }
 
+INTDEF(__getpgid)
 weak_alias (__getpgid, getpgid)