summaryrefslogtreecommitdiffstats
path: root/libpthread/nptl/sysdeps/unix/sysv
diff options
context:
space:
mode:
author"Steven J. Hill" <sjhill@realitydiluted.com>2005-07-22 07:27:02 +0000
committer"Steven J. Hill" <sjhill@realitydiluted.com>2005-07-22 07:27:02 +0000
commit4ace63889357f5ffc8b96a8a6144352e7ce56eec (patch)
tree21cae77af0719690b1255038635714a30e4f073d /libpthread/nptl/sysdeps/unix/sysv
parentf5faeff83458b4dc618ca83edd2dd33dbe63c15d (diff)
downloaduClibc-alpine-4ace63889357f5ffc8b96a8a6144352e7ce56eec.tar.bz2
uClibc-alpine-4ace63889357f5ffc8b96a8a6144352e7ce56eec.tar.xz
Big set of various patches to get the NPTL libraries to build and link.
Diffstat (limited to 'libpthread/nptl/sysdeps/unix/sysv')
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c8
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/mips/not-cancel.h55
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c3
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c3
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c4
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c3
-rw-r--r--libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c4
7 files changed, 76 insertions, 4 deletions
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
index 932e27300..8fdccac70 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/lowlevellock.c
@@ -50,7 +50,11 @@ __lll_timedlock_wait (int *futex, const struct timespec *abstime)
struct timespec rt;
/* Get the current time. */
+#ifdef __UCLIBC__
+ (void) gettimeofday (&tv, NULL);
+#else
(void) __gettimeofday (&tv, NULL);
+#endif
/* Compute relative timeout. */
rt.tv_sec = abstime->tv_sec - tv.tv_sec;
@@ -105,7 +109,11 @@ __lll_timedwait_tid (int *tidp, const struct timespec *abstime)
struct timespec rt;
/* Get the current time. */
+#ifdef __UCLIBC__
+ (void) gettimeofday (&tv, NULL);
+#else
(void) __gettimeofday (&tv, NULL);
+#endif
/* Compute relative timeout. */
rt.tv_sec = abstime->tv_sec - tv.tv_sec;
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/not-cancel.h b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/not-cancel.h
index acf1a617e..f79953d88 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/mips/not-cancel.h
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/mips/not-cancel.h
@@ -1 +1,54 @@
-#include "../i386/not-cancel.h"
+/* Uncancelable versions of cancelable interfaces. Generic version.
+ Copyright (C) 2003 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper <drepper@redhat.com>, 2003.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, write to the Free
+ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+ 02111-1307 USA. */
+
+/* By default we have none. Map the name to the normal functions. */
+#define open_not_cancel(name, flags, mode) \
+ __libc_open (name, flags, mode)
+#ifdef __UCLIBC__
+extern int __libc_open(__const char *__file, int __oflag, ...) __THROW;
+#define open_not_cancel_2(name, flags) \
+ __libc_open (name, flags, 0)
+#else
+#define open_not_cancel_2(name, flags) \
+ __libc_open (name, flags)
+#endif
+#define close_not_cancel(fd) \
+ __close (fd)
+#ifdef __UCLIBC__
+#define close_not_cancel_no_status(fd) \
+ (void) close (fd)
+#define read_not_cancel(fd, buf, n) \
+ read (fd, buf, n)
+#define write_not_cancel(fd, buf, n) \
+ write (fd, buf, n)
+#else
+#define close_not_cancel_no_status(fd) \
+ (void) __close (fd)
+#define read_not_cancel(fd, buf, n) \
+ __read (fd, buf, n)
+#define write_not_cancel(fd, buf, n) \
+ __write (fd, buf, n)
+#endif
+#define writev_not_cancel_no_status(fd, iov, n) \
+ (void) __writev (fd, iov, n)
+#define fcntl_not_cancel(fd, cmd, val) \
+ __fcntl (fd, cmd, val)
+# define waitpid_not_cancel(pid, stat_loc, options) \
+ __waitpid (pid, stat_loc, options)
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
index 1c92f314d..48d5a62a7 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_getaffinity.c
@@ -39,7 +39,8 @@ __pthread_attr_getaffinity_new (const pthread_attr_t *attr, size_t cpusetsize,
{
/* Check whether there are any bits set beyond the limits
the user requested. */
- for (size_t cnt = cpusetsize; cnt < iattr->cpusetsize; ++cnt)
+ size_t cnt;
+ for (cnt = cpusetsize; cnt < iattr->cpusetsize; ++cnt)
if (((char *) iattr->cpuset)[cnt] != 0)
return EINVAL;
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
index ca84f1c9b..1842b275a 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_attr_setaffinity.c
@@ -58,7 +58,8 @@ __pthread_attr_setaffinity_new (pthread_attr_t *attr, size_t cpusetsize,
/* Check whether the new bitmask has any bit set beyond the
last one the kernel accepts. */
- for (size_t cnt = __kernel_cpumask_size; cnt < cpusetsize; ++cnt)
+ size_t cnt;
+ for (cnt = __kernel_cpumask_size; cnt < cpusetsize; ++cnt)
if (((char *) cpuset)[cnt] != '\0')
/* Found a nonzero byte. This means the user request cannot be
fulfilled. */
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
index 990db8741..9e1abd983 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c
@@ -5,4 +5,8 @@
#define __pthread_mutex_lock __pthread_mutex_cond_lock
#define NO_INCR
+#ifdef __UCLIBC__
+#include <pthread_mutex_lock.c>
+#else
#include <nptl/pthread_mutex_lock.c>
+#endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c
index 5b24c694a..01e21d3ce 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/pthread_setaffinity.c
@@ -71,7 +71,8 @@ __pthread_setaffinity_new (pthread_t th, size_t cpusetsize,
/* We now know the size of the kernel cpumask_t. Make sure the user
does not request to set a bit beyond that. */
- for (size_t cnt = __kernel_cpumask_size; cnt < cpusetsize; ++cnt)
+ size_t cnt;
+ for (cnt = __kernel_cpumask_size; cnt < cpusetsize; ++cnt)
if (((char *) cpuset)[cnt] != '\0')
/* Found a nonzero byte. This means the user request cannot be
fulfilled. */
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c b/libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
index ef897c1e9..d4ed1caba 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/sem_timedwait.c
@@ -56,7 +56,11 @@ sem_timedwait (sem_t *sem, const struct timespec *abstime)
int sec, nsec;
/* Get the current time. */
+#ifdef __UCLIBC__
+ gettimeofday (&tv, NULL);
+#else
__gettimeofday (&tv, NULL);
+#endif
/* Compute relative timeout. */
sec = abstime->tv_sec - tv.tv_sec;