about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2012-11-05 22:30:37 +0000
committerJoseph Myers <joseph@codesourcery.com>2012-11-05 22:30:37 +0000
commit316a1b67e1dcfae719af7292d86dc4ebfe865a9f (patch)
tree408f363b6cd632626f4bf97fe3b7a5527e4af15d
parent8f861542dd0603bef99e126e509ece89514c1eeb (diff)
downloadglibc-316a1b67e1dcfae719af7292d86dc4ebfe865a9f.tar.gz
glibc-316a1b67e1dcfae719af7292d86dc4ebfe865a9f.tar.xz
glibc-316a1b67e1dcfae719af7292d86dc4ebfe865a9f.zip
Define lll_futex_timed_wait_bitset for ARM.
-rw-r--r--ports/ChangeLog.arm3
-rw-r--r--ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h14
2 files changed, 16 insertions, 1 deletions
diff --git a/ports/ChangeLog.arm b/ports/ChangeLog.arm
index c0e9ac28f5..c5e5f367fe 100644
--- a/ports/ChangeLog.arm
+++ b/ports/ChangeLog.arm
@@ -1,5 +1,8 @@
 2012-11-05  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+	(lll_futex_timed_wait_bitset): New macro.
+
 	[BZ #14805]
 	* sysdeps/arm/bits/fenv.h (FE_DFL_ENV): Use cast to const fenv_t *.
 
diff --git a/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h b/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
index 5811361e3a..9d12182737 100644
--- a/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
+++ b/ports/sysdeps/unix/sysv/linux/arm/nptl/lowlevellock.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
+/* Copyright (C) 2005-2012 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
@@ -86,6 +86,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, (futexp),		\
+			      __lll_private_flag (__op, private),	\
+			      (val), (timespec), NULL /* Unused.  */,	\
+			      FUTEX_BITSET_MATCH_ANY);			\
+    __ret;								\
+  })
+
 #define lll_futex_wake(futexp, nr, private) \
   ({									      \
     INTERNAL_SYSCALL_DECL (__err);					      \