summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/generic/allocalim.h4
-rw-r--r--sysdeps/generic/readv.c7
-rw-r--r--sysdeps/generic/waitid.c5
-rw-r--r--sysdeps/generic/writev.c7
-rw-r--r--sysdeps/posix/readv.c11
-rw-r--r--sysdeps/posix/waitid.c5
-rw-r--r--sysdeps/posix/writev.c11
-rw-r--r--sysdeps/unix/sysv/aix/readv.c7
-rw-r--r--sysdeps/unix/sysv/aix/waitid.c5
-rw-r--r--sysdeps/unix/sysv/aix/writev.c7
-rw-r--r--sysdeps/unix/sysv/linux/msgrcv.c5
-rw-r--r--sysdeps/unix/sysv/linux/msgsnd.c5
-rw-r--r--sysdeps/unix/sysv/linux/readv.c7
-rw-r--r--sysdeps/unix/sysv/linux/sigtimedwait.c3
-rw-r--r--sysdeps/unix/sysv/linux/sigwait.c1
-rw-r--r--sysdeps/unix/sysv/linux/sigwaitinfo.c3
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list2
-rw-r--r--sysdeps/unix/sysv/linux/writev.c7
18 files changed, 61 insertions, 41 deletions
diff --git a/sysdeps/generic/allocalim.h b/sysdeps/generic/allocalim.h
new file mode 100644
index 0000000000..2491129a7d
--- /dev/null
+++ b/sysdeps/generic/allocalim.h
@@ -0,0 +1,4 @@
+extern inline int __libc_use_alloca (size_t size)
+{
+  return size <= __MAX_ALLOCA_CUTOFF;
+}
diff --git a/sysdeps/generic/readv.c b/sysdeps/generic/readv.c
index 82f86965de..b33444c036 100644
--- a/sysdeps/generic/readv.c
+++ b/sysdeps/generic/readv.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
@@ -26,7 +26,7 @@
    Operates just like `read' (see <unistd.h>) except that data are
    put in VECTOR instead of a contiguous buffer.  */
 ssize_t
-__readv (fd, vector, count)
+__libc_readv (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
@@ -34,7 +34,8 @@ __readv (fd, vector, count)
   __set_errno (ENOSYS);
   return -1;
 }
-weak_alias (__readv, readv)
+strong_alias (__libc_readv, __readv)
+weak_alias (__libc_readv, readv)
 
 stub_warning (readv)
 #include <stub-tag.h>
diff --git a/sysdeps/generic/waitid.c b/sysdeps/generic/waitid.c
index 9e2a3da9ad..a9de1a19a5 100644
--- a/sysdeps/generic/waitid.c
+++ b/sysdeps/generic/waitid.c
@@ -1,5 +1,5 @@
 /* Stub version of waitid.
-   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 Ulrich Drepper <drepper@cygnus.com>, 1997.
 
@@ -23,7 +23,7 @@
 #include <sys/wait.h>
 
 int
-waitid (idtype, id, infop, options)
+__waitid (idtype, id, infop, options)
      idtype_t idtype;
      id_t id;
      siginfo_t *infop;
@@ -32,3 +32,4 @@ waitid (idtype, id, infop, options)
   __set_errno (ENOSYS);
   return -1;
 }
+weak_alias (__waitid, waitid)
diff --git a/sysdeps/generic/writev.c b/sysdeps/generic/writev.c
index 3bfc0be877..d424c72143 100644
--- a/sysdeps/generic/writev.c
+++ b/sysdeps/generic/writev.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
@@ -26,7 +26,7 @@
    Operates just like `write' (see <unistd.h>) except that the data
    are taken from VECTOR instead of a contiguous buffer.  */
 ssize_t
-__writev (fd, vector, count)
+__libc_writev (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
@@ -34,7 +34,8 @@ __writev (fd, vector, count)
   __set_errno (ENOSYS);
   return -1;
 }
-weak_alias (__writev, writev)
+strong_alias (__libc_writev, __writev)
+weak_alias (__libc_writev, writev)
 
 stub_warning (writev)
 #include <stub-tag.h>
diff --git a/sysdeps/posix/readv.c b/sysdeps/posix/readv.c
index bb6634529d..bde57b44fa 100644
--- a/sysdeps/posix/readv.c
+++ b/sysdeps/posix/readv.c
@@ -30,7 +30,7 @@
    Operates just like `read' (see <unistd.h>) except that data are
    put in VECTOR instead of a contiguous buffer.  */
 ssize_t
-__readv (int fd, const struct iovec *vector, int count)
+__libc_readv (int fd, const struct iovec *vector, int count)
 {
   char *buffer;
   char *buffer_start;
@@ -55,8 +55,8 @@ __readv (int fd, const struct iovec *vector, int count)
   /* Allocate a temporary buffer to hold the data.  We should normally
      use alloca since it's faster and does not require synchronization
      with other threads.  But we cannot if the amount of memory
-     required is too large.  Use 512k as the limit.  */
-  if (bytes < 512 * 1024)
+     required is too large.  */
+  if (__libc_use_alloca (bytes))
     buffer = (char *) __alloca (bytes);
   else
     {
@@ -94,6 +94,7 @@ __readv (int fd, const struct iovec *vector, int count)
 
   return bytes_read;
 }
-#ifndef __readv
-weak_alias (__readv, readv)
+#ifndef __libc_readv
+strong_alias (__libc_readv, __readv)
+weak_alias (__libc_readv, readv)
 #endif
diff --git a/sysdeps/posix/waitid.c b/sysdeps/posix/waitid.c
index dcb93b6769..8687436309 100644
--- a/sysdeps/posix/waitid.c
+++ b/sysdeps/posix/waitid.c
@@ -1,5 +1,5 @@
 /* Pseudo implementation of waitid.
-   Copyright (C) 1997, 1998 Free Software Foundation, Inc.
+   Copyright (C) 1997, 1998, 2002 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Zack Weinberg <zack@rabi.phys.columbia.edu>, 1997.
 
@@ -28,7 +28,7 @@
 #include <assert.h>
 
 int
-waitid (idtype, id, infop, options)
+__waitid (idtype, id, infop, options)
      idtype_t idtype;
      id_t id;
      siginfo_t *infop;
@@ -118,3 +118,4 @@ waitid (idtype, id, infop, options)
 
   return 0;
 }
+weak_alias (__waitid, waitid)
diff --git a/sysdeps/posix/writev.c b/sysdeps/posix/writev.c
index 7afdce3289..ae5ef1efb4 100644
--- a/sysdeps/posix/writev.c
+++ b/sysdeps/posix/writev.c
@@ -30,7 +30,7 @@
    Operates just like `write' (see <unistd.h>) except that the data
    are taken from VECTOR instead of a contiguous buffer.  */
 ssize_t
-__writev (int fd, const struct iovec *vector, int count)
+__libc_writev (int fd, const struct iovec *vector, int count)
 {
   char *buffer;
   register char *bp;
@@ -55,8 +55,8 @@ __writev (int fd, const struct iovec *vector, int count)
   /* Allocate a temporary buffer to hold the data.  We should normally
      use alloca since it's faster and does not require synchronization
      with other threads.  But we cannot if the amount of memory
-     required is too large.  Use 512k as the limit.  */
-  if (bytes < 512 * 1024)
+     required is too large.  */
+  if (__libc_use_alloca (bytes))
     buffer = (char *) __alloca (bytes);
   else
     {
@@ -90,6 +90,7 @@ __writev (int fd, const struct iovec *vector, int count)
 
   return bytes_written;
 }
-#ifndef __writev
-weak_alias (__writev, writev)
+#ifndef __libc_writev
+strong_alias (__libc_writev, __writev)
+weak_alias (__libc_writev, writev)
 #endif
diff --git a/sysdeps/unix/sysv/aix/readv.c b/sysdeps/unix/sysv/aix/readv.c
index 8c12690993..eddca0fc87 100644
--- a/sysdeps/unix/sysv/aix/readv.c
+++ b/sysdeps/unix/sysv/aix/readv.c
@@ -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
@@ -27,11 +27,12 @@ extern ssize_t kreadv (int fd, const struct iovec *iovp, size_t iovcnt,
    Operates just like `read' (see <unistd.h>) except that data are
    put in VECTOR instead of a contiguous buffer.  */
 ssize_t
-__readv (fd, vector, count)
+__libc_readv (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
 {
   return kreadv (fd, vector, count, 0);
 }
-strong_alias (__readv, readv)
+strong_alias (__libc_readv, __readv)
+weak_alias (__libc_readv, readv)
diff --git a/sysdeps/unix/sysv/aix/waitid.c b/sysdeps/unix/sysv/aix/waitid.c
index 36a012ef02..1d637df76e 100644
--- a/sysdeps/unix/sysv/aix/waitid.c
+++ b/sysdeps/unix/sysv/aix/waitid.c
@@ -1,5 +1,5 @@
 /* Pseudo implementation of waitid.
-   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 Zack Weinberg <zack@rabi.phys.columbia.edu>, 1997.
 
@@ -31,7 +31,7 @@ extern pid_t kwaitpid (int *stat_loc, pid_t pid, int options,
 		       struct rusage *ru_loc, siginfo_t *infop);
 
 int
-waitid (idtype, id, infop, options)
+__waitid (idtype, id, infop, options)
      idtype_t idtype;
      id_t id;
      siginfo_t *infop;
@@ -80,3 +80,4 @@ waitid (idtype, id, infop, options)
 
   return 0;
 }
+weak_alias (__waitid, waitid)
diff --git a/sysdeps/unix/sysv/aix/writev.c b/sysdeps/unix/sysv/aix/writev.c
index 0d5a3335af..d0e5741590 100644
--- a/sysdeps/unix/sysv/aix/writev.c
+++ b/sysdeps/unix/sysv/aix/writev.c
@@ -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
@@ -27,11 +27,12 @@ extern ssize_t kwritev (int fd, const struct iovec *iovp, size_t iovcnt,
    Operates just like `read' (see <unistd.h>) except that data are
    put in VECTOR instead of a contiguous buffer.  */
 ssize_t
-__writev (fd, vector, count)
+__libc_writev (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
 {
   return kwritev (fd, vector, count, 0);
 }
-strong_alias (__writev, writev)
+strong_alias (__libc_writev, __writev)
+weak_alias (__libc_writev, writev)
diff --git a/sysdeps/unix/sysv/linux/msgrcv.c b/sysdeps/unix/sysv/linux/msgrcv.c
index ab437920c9..fdc13ff0fa 100644
--- a/sysdeps/unix/sysv/linux/msgrcv.c
+++ b/sysdeps/unix/sysv/linux/msgrcv.c
@@ -1,4 +1,4 @@
-/* Copyright (C) 1995, 1997, 1998, 2000 Free Software Foundation, Inc.
+/* Copyright (C) 1995, 1997, 1998, 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.
 
@@ -36,7 +36,7 @@ struct ipc_kludge
 
 
 int
-msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
+__libc_msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
      int msqid;
      void *msgp;
      size_t msgsz;
@@ -52,3 +52,4 @@ msgrcv (msqid, msgp, msgsz, msgtyp, msgflg)
 
   return INLINE_SYSCALL (ipc, 5, IPCOP_msgrcv, msqid, msgsz, msgflg, __ptrvalue (&tmp));
 }
+weak_alias (__libc_msgrcv, msgrcv)
diff --git a/sysdeps/unix/sysv/linux/msgsnd.c b/sysdeps/unix/sysv/linux/msgsnd.c
index f4df5da425..7beba6b198 100644
--- a/sysdeps/unix/sysv/linux/msgsnd.c
+++ b/sysdeps/unix/sysv/linux/msgsnd.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@cygnus.com>, August 1995.
 
@@ -27,7 +27,7 @@
 #include <bp-checks.h>
 
 int
-msgsnd (msqid, msgp, msgsz, msgflg)
+__libc_msgsnd (msqid, msgp, msgsz, msgflg)
      int msqid;
      const void *msgp;
      size_t msgsz;
@@ -36,3 +36,4 @@ msgsnd (msqid, msgp, msgsz, msgflg)
   return INLINE_SYSCALL (ipc, 5, IPCOP_msgsnd, msqid, msgsz,
 			 msgflg, (void *) CHECK_N (msgp, msgsz));
 }
+weak_alias (__libc_msgsnd, msgsnd)
diff --git a/sysdeps/unix/sysv/linux/readv.c b/sysdeps/unix/sysv/linux/readv.c
index 601afc09e5..eeba46a09d 100644
--- a/sysdeps/unix/sysv/linux/readv.c
+++ b/sysdeps/unix/sysv/linux/readv.c
@@ -40,7 +40,7 @@ static ssize_t __atomic_readv_replacement (int, __const struct iovec *,
 /* We should deal with kernel which have a smaller UIO_FASTIOV as well
    as a very big count.  */
 ssize_t
-__readv (fd, vector, count)
+__libc_readv (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
@@ -54,7 +54,8 @@ __readv (fd, vector, count)
 
   return __atomic_readv_replacement (fd, vector, count);
 }
-weak_alias (__readv, readv)
+strong_alias (__libc_readv, __readv)
+weak_alias (__libc_readv, readv)
 
-#define __readv static internal_function __atomic_readv_replacement
+#define __libc_readv static internal_function __atomic_readv_replacement
 #include <sysdeps/posix/readv.c>
diff --git a/sysdeps/unix/sysv/linux/sigtimedwait.c b/sysdeps/unix/sysv/linux/sigtimedwait.c
index e96117b548..c374287ea6 100644
--- a/sysdeps/unix/sysv/linux/sigtimedwait.c
+++ b/sysdeps/unix/sysv/linux/sigtimedwait.c
@@ -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.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -40,6 +40,7 @@ __sigtimedwait (set, info, timeout)
   return INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
 			 CHECK_1 (info), timeout, _NSIG / 8);
 }
+libc_hidden_def (__sigtimedwait)
 weak_alias (__sigtimedwait, sigtimedwait)
 #else
 # include <sysdeps/generic/sigtimedwait.c>
diff --git a/sysdeps/unix/sysv/linux/sigwait.c b/sysdeps/unix/sysv/linux/sigwait.c
index 39cc3e9750..6eb4cf9532 100644
--- a/sysdeps/unix/sysv/linux/sigwait.c
+++ b/sysdeps/unix/sysv/linux/sigwait.c
@@ -53,6 +53,7 @@ __sigwait (set, sig)
 
   return ret;
 }
+libc_hidden_def (__sigwait)
 weak_alias (__sigwait, sigwait)
 #else
 # include <sysdeps/posix/sigwait.c>
diff --git a/sysdeps/unix/sysv/linux/sigwaitinfo.c b/sysdeps/unix/sysv/linux/sigwaitinfo.c
index b59ee54fc1..b1569bc67f 100644
--- a/sysdeps/unix/sysv/linux/sigwaitinfo.c
+++ b/sysdeps/unix/sysv/linux/sigwaitinfo.c
@@ -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.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -41,6 +41,7 @@ __sigwaitinfo (set, info)
   return INLINE_SYSCALL (rt_sigtimedwait, 4, CHECK_SIGSET (set),
 			 CHECK_1 (info), NULL, _NSIG / 8);
 }
+libc_hidden_def (__sigwaitinfo)
 weak_alias (__sigwaitinfo, sigwaitinfo)
 #else
 # include <sysdeps/generic/sigwaitinfo.c>
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 5ab190b97c..5fcc9b5d9a 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -4,6 +4,7 @@ adjtimex	adjtime	adjtimex	i:p	__adjtimex	adjtimex ntp_adjtime __adjtimex_interna
 bdflush		EXTRA	bdflush		i:ii	bdflush
 capget		EXTRA	capget		i:pp	capget
 capset		EXTRA	capset		i:pp	capset
+creat		-	creat		i:si	creat
 create_module	EXTRA	create_module	3	create_module
 delete_module	EXTRA	delete_module	3	delete_module
 fdatasync	-	fdatasync	i:i	fdatasync
@@ -79,4 +80,3 @@ flistxattr	EXTRA	flistxattr	i:isi	flistxattr
 removexattr	EXTRA	removexattr	i:ss	removexattr
 lremovexattr	EXTRA	lremovexattr	i:ss	lremovexattr
 fremovexattr	EXTRA	fremovexattr	i:is	fremovexattr
-
diff --git a/sysdeps/unix/sysv/linux/writev.c b/sysdeps/unix/sysv/linux/writev.c
index 729fd9aca5..76cc920dae 100644
--- a/sysdeps/unix/sysv/linux/writev.c
+++ b/sysdeps/unix/sysv/linux/writev.c
@@ -40,7 +40,7 @@ static ssize_t __atomic_writev_replacement (int, const struct iovec *,
 /* We should deal with kernel which have a smaller UIO_FASTIOV as well
    as a very big count.  */
 ssize_t
-__writev (fd, vector, count)
+__libc_writev (fd, vector, count)
      int fd;
      const struct iovec *vector;
      int count;
@@ -54,7 +54,8 @@ __writev (fd, vector, count)
 
   return __atomic_writev_replacement (fd, vector, count);
 }
-weak_alias (__writev, writev)
+strong_alias (__libc_writev, __writev)
+weak_alias (__libc_writev, writev)
 
-#define __writev static internal_function __atomic_writev_replacement
+#define __libc_writev static internal_function __atomic_writev_replacement
 #include <sysdeps/posix/writev.c>