about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAndreas Schwab <schwab@linux-m68k.org>2012-11-06 21:21:53 +0100
committerAndreas Schwab <schwab@linux-m68k.org>2012-11-18 01:22:35 +0100
commit05860e4b0731653a4b4664fc3daf98a6c1b3e7c1 (patch)
tree212cab385bc83579526849af33efaa82be270154
parent8e18b86d4a78f1b96d587bb2b369550c664227a3 (diff)
downloadglibc-05860e4b0731653a4b4664fc3daf98a6c1b3e7c1.tar.gz
glibc-05860e4b0731653a4b4664fc3daf98a6c1b3e7c1.tar.xz
glibc-05860e4b0731653a4b4664fc3daf98a6c1b3e7c1.zip
m68k: define lll_futex_timed_wait_bitset
-rw-r--r--ports/ChangeLog.m68k5
-rw-r--r--ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h14
2 files changed, 18 insertions, 1 deletions
diff --git a/ports/ChangeLog.m68k b/ports/ChangeLog.m68k
index 206702e1fe..712ef6e0ed 100644
--- a/ports/ChangeLog.m68k
+++ b/ports/ChangeLog.m68k
@@ -1,3 +1,8 @@
+2012-11-06  Andreas Schwab  <schwab@linux-m68k.org>
+
+	* sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
+	(lll_futex_timed_wait_bitset): Define.
+
 2012-11-03  Joseph Myers  <joseph@codesourcery.com>
 
 	* sysdeps/m68k/fpu/fclrexcpt.c (feclearexcept): Add
diff --git a/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
index 4dbed8d378..3f1aedd6f5 100644
--- a/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
+++ b/ports/sysdeps/unix/sysv/linux/m68k/nptl/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2010 Free Software Foundation, Inc.
+/* Copyright (C) 2010-2012 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
    Contributed by Maxim Kuvyrkov <maxim@codesourcery.com>, 2010.
 
@@ -88,6 +88,18 @@
     __ret;								      \
   })
 
+#define lll_futex_timed_wait_bitset(futexp, val, timespec, clockbit, private) \
+  ({									      \
+    INTERNAL_SYSCALL_DECL (__err);					      \
+    long int __ret;							      \
+    int __op = FUTEX_WAIT_BITSET | clockbit;				      \
+    __ret = INTERNAL_SYSCALL (futex, __err, 6, (long) (futexp),		      \
+			      __lll_private_flag (__op, private),	      \
+			      (val), (timespec), NULL /* Unused.  */,	      \
+			      FUTEX_BITSET_MATCH_ANY);			      \
+    INTERNAL_SYSCALL_ERROR_P (__ret, __err) ? -__ret : __ret;		      \
+  })
+
 #define lll_futex_wake(futexp, nr, private) \
   ({									      \
     INTERNAL_SYSCALL_DECL (__err);					      \