This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "uClibc-ng - small C library for embedded systems".
The branch, master has been updated
via 0f541b5c48b7b0df80e2aaa8fdbf653a8b8bcd03 (commit)
via a75ca05cf77652bebb01edfb0bc48cd78eab95dc (commit)
via 1b49dc96d103e0151fee290d55cea55aa12c906d (commit)
from bf70f6f1face8e36030544a74e5ea04903df16cb (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0f541b5c48b7b0df80e2aaa8fdbf653a8b8bcd03
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Sun Jun 12 11:41:23 2016 +0200
xtensa: use generic lowlevellock
Simplify and use generic lowlevellock.
Tested-by: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Signed-off-by: Leonid Lisovskiy <lly.dev(a)gmail.com>
commit a75ca05cf77652bebb01edfb0bc48cd78eab95dc
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Sun Jun 12 11:10:17 2016 +0200
metag: use generic lowlevellock
Simplify and use generic lowlevellock.
Tested-by: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Signed-off-by: Leonid Lisovskiy <lly.dev(a)gmail.com>
commit 1b49dc96d103e0151fee290d55cea55aa12c906d
Author: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Date: Sun Jun 12 01:15:47 2016 +0200
arc: use generic lowlevellock
Simplify and use generic lowlevellock.
Tested-by: Waldemar Brodkorb <wbx(a)uclibc-ng.org>
Signed-off-by: Leonid Lisovskiy <lly.dev(a)gmail.com>
-----------------------------------------------------------------------
Summary of changes:
.../nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch | 4 +-
.../unix/sysv/linux/arc/libc-lowlevellock.c | 20 ---
.../sysdeps/unix/sysv/linux/arc/lowlevellock.c | 128 -------------------
.../sysdeps/unix/sysv/linux/metag/Makefile.arch | 5 +-
.../unix/sysv/linux/metag/libc-lowlevellock.c | 20 ---
.../sysdeps/unix/sysv/linux/metag/lowlevellock.c | 136 ---------------------
.../sysdeps/unix/sysv/linux/xtensa/lowlevellock.c | 132 --------------------
7 files changed, 4 insertions(+), 441 deletions(-)
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/libc-lowlevellock.c
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.c
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/metag/libc-lowlevellock.c
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.c
delete mode 100644 libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/lowlevellock.c
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
index 3b9db6a..468e646 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/Makefile.arch
@@ -6,10 +6,10 @@
#
libpthread_linux_arch_SSRC =
-libpthread_linux_arch_CSRC = pthread_once.c lowlevellock.c \
+libpthread_linux_arch_CSRC = pthread_once.c \
pt-__syscall_rt_sigaction.c pt-__syscall_error.c
-libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
+libc_linux_arch_CSRC = fork.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/libc-lowlevellock.c
b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/libc-lowlevellock.c
deleted file mode 100644
index a38923a..0000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/libc-lowlevellock.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Paul Mackerras <paulus(a)au.ibm.com>om>, 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-/* No difference to lowlevellock.c, except we lose a couple of functions. */
-#include "lowlevellock.c"
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.c
b/libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.c
deleted file mode 100644
index fd39fe9..0000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/arc/lowlevellock.c
+++ /dev/null
@@ -1,128 +0,0 @@
-/* low level locking for pthread library. Generic futex-using version.
- Copyright (C) 2003, 2007 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Paul Mackerras <paulus(a)au.ibm.com>om>, 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <sys/time.h>
-#include <tls.h>
-#include <tcb-offsets.h>
-
-void
-#ifndef IS_IN_libpthread
-weak_function
-#endif
-__lll_lock_wait_private (int *futex)
-{
- if (*futex == 2)
- lll_futex_wait (futex, 2, LLL_PRIVATE);
-
- while (atomic_exchange_acq (futex, 2) != 0)
- lll_futex_wait (futex, 2, LLL_PRIVATE);
-}
-
-
-/* These functions don't get included in libc.so */
-#ifdef IS_IN_libpthread
-void
-__lll_lock_wait (int *futex, int private)
-{
- if (*futex == 2)
- lll_futex_wait (futex, 2, private);
-
- while (atomic_exchange_acq (futex, 2) != 0)
- lll_futex_wait (futex, 2, private);
-}
-
-
-int
-__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private)
-{
- /* Reject invalid timeouts. */
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Try locking. */
- while (atomic_exchange_acq (futex, 2) != 0)
- {
- struct timeval tv;
-
- /* Get the current time. */
- (void) gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- struct timespec rt;
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- /* Wait. */
- lll_futex_timed_wait (futex, 2, &rt, private);
- }
-
- return 0;
-}
-
-
-int
-__lll_timedwait_tid (int *tidp, const struct timespec *abstime)
-{
- int tid;
-
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Repeat until thread terminated. */
- while ((tid = *tidp) != 0)
- {
- struct timeval tv;
- struct timespec rt;
-
- /* Get the current time. */
- (void) __gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- /* Already timed out? */
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- /* Wait until thread terminates. The kernel so far does not use
- the private futex operations for this. */
- if (lll_futex_timed_wait (tidp, tid, &rt, LLL_SHARED) == -ETIMEDOUT)
- return ETIMEDOUT;
- }
-
- return 0;
-}
-#endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
index ddc7680..b38c375 100644
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
+++ b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/Makefile.arch
@@ -7,10 +7,9 @@
libpthread_linux_arch_SSRC =
libpthread_linux_arch_CSRC = pthread_once.c \
- pt-__syscall_rt_sigaction.c pt-__syscall_error.c \
- lowlevellock.c
+ pt-__syscall_rt_sigaction.c pt-__syscall_error.c
-libc_linux_arch_CSRC = fork.c libc-lowlevellock.c
+libc_linux_arch_CSRC = fork.c
libc_linux_arch_SSRC = clone.S vfork.S
libc_linux_arch_SSRC-OMIT = waitpid.S
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/libc-lowlevellock.c
b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/libc-lowlevellock.c
deleted file mode 100644
index a38923a..0000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/libc-lowlevellock.c
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Copyright (C) 2003 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Paul Mackerras <paulus(a)au.ibm.com>om>, 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-/* No difference to lowlevellock.c, except we lose a couple of functions. */
-#include "lowlevellock.c"
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.c
b/libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.c
deleted file mode 100644
index 977213c..0000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/metag/lowlevellock.c
+++ /dev/null
@@ -1,136 +0,0 @@
-/* low level locking for pthread library. Generic futex-using version.
- Copyright (C) 2003, 2005, 2007 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
- 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; see the file COPYING.LIB. If
- not, see <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <sys/time.h>
-#include <tls.h>
-
-void
-#ifndef IS_IN_libpthread
-weak_function
-#endif
-__lll_lock_wait_private (int *futex)
-{
- do
- {
- int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
- if (oldval != 0)
- lll_futex_wait (futex, 2, LLL_PRIVATE);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-}
-
-
-/* These functions don't get included in libc.so */
-#ifdef IS_IN_libpthread
-void
-__lll_lock_wait (int *futex, int private)
-{
- do
- {
- int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
- if (oldval != 0)
- lll_futex_wait (futex, 2, private);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-}
-
-
-int
-__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private)
-{
- struct timespec rt;
-
- /* Reject invalid timeouts. */
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Upgrade the lock. */
- if (atomic_exchange_acq (futex, 2) == 0)
- return 0;
-
- do
- {
- struct timeval tv;
-
- /* Get the current time. */
- (void) gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- /* Already timed out? */
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- // XYZ: Lost the lock to check whether it was private.
- lll_futex_timed_wait (futex, 2, &rt, private);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-
- return 0;
-}
-
-
-int
-__lll_timedwait_tid (int *tidp, const struct timespec *abstime)
-{
- int tid;
-
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Repeat until thread terminated. */
- while ((tid = *tidp) != 0)
- {
- struct timeval tv;
- struct timespec rt;
-
- /* Get the current time. */
- (void) gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- /* Already timed out? */
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- /* Wait until thread terminates. */
- // XYZ: Lost the lock to check whether it was private.
- if (lll_futex_timed_wait (tidp, tid, &rt, LLL_SHARED) == -ETIMEDOUT)
- return ETIMEDOUT;
- }
-
- return 0;
-}
-#endif
diff --git a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/lowlevellock.c
b/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/lowlevellock.c
deleted file mode 100644
index 756f39f..0000000
--- a/libpthread/nptl/sysdeps/unix/sysv/linux/xtensa/lowlevellock.c
+++ /dev/null
@@ -1,132 +0,0 @@
-/* low level locking for pthread library. Generic futex-using version.
- Copyright (C) 2003-2013 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
- 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, see
- <http://www.gnu.org/licenses/>. */
-
-#include <errno.h>
-#include <sysdep.h>
-#include <lowlevellock.h>
-#include <sys/time.h>
-
-void
-__lll_lock_wait_private (int *futex)
-{
- do
- {
- int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
- if (oldval != 0)
- lll_futex_wait (futex, 2, LLL_PRIVATE);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-}
-
-
-/* These functions don't get included in libc.so */
-#ifdef IS_IN_libpthread
-void
-__lll_lock_wait (int *futex, int private)
-{
- do
- {
- int oldval = atomic_compare_and_exchange_val_acq (futex, 2, 1);
- if (oldval != 0)
- lll_futex_wait (futex, 2, private);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-}
-
-
-int
-__lll_timedlock_wait (int *futex, const struct timespec *abstime, int private)
-{
- struct timespec rt;
-
- /* Reject invalid timeouts. */
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Upgrade the lock. */
- if (atomic_exchange_acq (futex, 2) == 0)
- return 0;
-
- do
- {
- struct timeval tv;
-
- /* Get the current time. */
- (void) __gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- /* Already timed out? */
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- // XYZ: Lost the lock to check whether it was private.
- lll_futex_timed_wait (futex, 2, &rt, private);
- }
- while (atomic_compare_and_exchange_bool_acq (futex, 2, 0) != 0);
-
- return 0;
-}
-
-
-int
-__lll_timedwait_tid (int *tidp, const struct timespec *abstime)
-{
- int tid;
-
- if (abstime->tv_nsec < 0 || abstime->tv_nsec >= 1000000000)
- return EINVAL;
-
- /* Repeat until thread terminated. */
- while ((tid = *tidp) != 0)
- {
- struct timeval tv;
- struct timespec rt;
-
- /* Get the current time. */
- (void) __gettimeofday (&tv, NULL);
-
- /* Compute relative timeout. */
- rt.tv_sec = abstime->tv_sec - tv.tv_sec;
- rt.tv_nsec = abstime->tv_nsec - tv.tv_usec * 1000;
- if (rt.tv_nsec < 0)
- {
- rt.tv_nsec += 1000000000;
- --rt.tv_sec;
- }
-
- /* Already timed out? */
- if (rt.tv_sec < 0)
- return ETIMEDOUT;
-
- /* Wait until thread terminates. */
- // XYZ: Lost the lock to check whether it was private.
- if (lll_futex_timed_wait (tidp, tid, &rt, LLL_SHARED) == -ETIMEDOUT)
- return ETIMEDOUT;
- }
-
- return 0;
-}
-#endif
hooks/post-receive
--
uClibc-ng - small C library for embedded systems