diff options
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 |
commit | 4ace63889357f5ffc8b96a8a6144352e7ce56eec (patch) | |
tree | 21cae77af0719690b1255038635714a30e4f073d /libpthread/nptl/sysdeps/unix/sysv | |
parent | f5faeff83458b4dc618ca83edd2dd33dbe63c15d (diff) | |
download | uClibc-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')
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; |