diff --git a/libc/Android.mk b/libc/Android.mk
index 50f8d7e..faf7396 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -11,6 +11,7 @@
 	unistd/brk.c \
 	unistd/creat.c \
 	unistd/daemon.c \
+	unistd/eventfd.c \
 	unistd/exec.c \
 	unistd/fcntl.c \
 	unistd/fnmatch.c \
diff --git a/libc/SYSCALLS.TXT b/libc/SYSCALLS.TXT
index 1565f29..0a08e12 100644
--- a/libc/SYSCALLS.TXT
+++ b/libc/SYSCALLS.TXT
@@ -259,6 +259,8 @@
 
 int     poll(struct pollfd *, unsigned int, long)  168
 
+int     eventfd:eventfd2(unsigned int, int)  356,328
+
 # ARM-specific ARM_NR_BASE == 0x0f0000 == 983040
 int     __set_tls:ARM_set_tls(void*)                                 983045,-1
 int     cacheflush:ARM_cacheflush(long start, long end, long flags)  983042,-1
diff --git a/libc/arch-arm/syscalls.mk b/libc/arch-arm/syscalls.mk
index 087c965..c3cf785 100644
--- a/libc/arch-arm/syscalls.mk
+++ b/libc/arch-arm/syscalls.mk
@@ -172,6 +172,7 @@
 syscall_src += arch-arm/syscalls/inotify_add_watch.S
 syscall_src += arch-arm/syscalls/inotify_rm_watch.S
 syscall_src += arch-arm/syscalls/poll.S
+syscall_src += arch-arm/syscalls/eventfd.S
 syscall_src += arch-arm/syscalls/__set_tls.S
 syscall_src += arch-arm/syscalls/cacheflush.S
 syscall_src += arch-arm/syscalls/eventfd.S
diff --git a/libc/arch-arm/syscalls/eventfd.S b/libc/arch-arm/syscalls/eventfd.S
index fb0912f..8d2cce9 100644
--- a/libc/arch-arm/syscalls/eventfd.S
+++ b/libc/arch-arm/syscalls/eventfd.S
@@ -10,7 +10,7 @@
 eventfd:
     .save   {r4, r7}
     stmfd   sp!, {r4, r7}
-    ldr     r7, =__NR_eventfd
+    ldr     r7, =__NR_eventfd2
     swi     #0
     ldmfd   sp!, {r4, r7}
     movs    r0, r0
diff --git a/libc/arch-sh/syscalls.mk b/libc/arch-sh/syscalls.mk
index 47b5a1e..a87419d 100644
--- a/libc/arch-sh/syscalls.mk
+++ b/libc/arch-sh/syscalls.mk
@@ -161,3 +161,4 @@
 syscall_src += arch-sh/syscalls/inotify_add_watch.S
 syscall_src += arch-sh/syscalls/inotify_rm_watch.S
 syscall_src += arch-sh/syscalls/poll.S
+syscall_src += arch-sh/syscalls/eventfd.S
diff --git a/libc/arch-sh/syscalls/eventfd.S b/libc/arch-sh/syscalls/eventfd.S
new file mode 100644
index 0000000..c73bf23
--- /dev/null
+++ b/libc/arch-sh/syscalls/eventfd.S
@@ -0,0 +1,32 @@
+/* autogenerated by gensyscalls.py */
+#include <sys/linux-syscalls.h>
+
+    .text
+    .type eventfd, @function
+    .globl eventfd
+    .align 4
+
+eventfd:
+
+    /* invoke trap */
+    mov.l   0f, r3  /* trap num */
+    trapa   #(2 + 0x10)
+
+    /* check return value */
+    cmp/pz  r0
+    bt      __NR_eventfd2_end
+
+    /* keep error number */
+    sts.l   pr, @-r15
+    mov.l   1f, r1
+    jsr     @r1
+    mov     r0, r4
+    lds.l   @r15+, pr
+
+__NR_eventfd2_end:
+    rts
+    nop
+
+    .align  2
+0:  .long   __NR_eventfd2
+1:  .long   __set_syscall_errno
diff --git a/libc/arch-x86/syscalls.mk b/libc/arch-x86/syscalls.mk
index 133f286..420a91e 100644
--- a/libc/arch-x86/syscalls.mk
+++ b/libc/arch-x86/syscalls.mk
@@ -175,3 +175,4 @@
 syscall_src += arch-x86/syscalls/inotify_add_watch.S
 syscall_src += arch-x86/syscalls/inotify_rm_watch.S
 syscall_src += arch-x86/syscalls/poll.S
+syscall_src += arch-x86/syscalls/eventfd.S
diff --git a/libc/arch-x86/syscalls/eventfd.S b/libc/arch-x86/syscalls/eventfd.S
new file mode 100644
index 0000000..104c842
--- /dev/null
+++ b/libc/arch-x86/syscalls/eventfd.S
@@ -0,0 +1,26 @@
+/* autogenerated by gensyscalls.py */
+#include <sys/linux-syscalls.h>
+
+    .text
+    .type eventfd, @function
+    .globl eventfd
+    .align 4
+
+eventfd:
+    pushl   %ebx
+    pushl   %ecx
+    mov     12(%esp), %ebx
+    mov     16(%esp), %ecx
+    movl    $__NR_eventfd2, %eax
+    int     $0x80
+    cmpl    $-129, %eax
+    jb      1f
+    negl    %eax
+    pushl   %eax
+    call    __set_errno
+    addl    $4, %esp
+    orl     $-1, %eax
+1:
+    popl    %ecx
+    popl    %ebx
+    ret
diff --git a/libc/include/sys/eventfd.h b/libc/include/sys/eventfd.h
index 0e142fd..19244a5 100644
--- a/libc/include/sys/eventfd.h
+++ b/libc/include/sys/eventfd.h
@@ -1,14 +1,50 @@
-#ifndef _SYS_EVENTFD_H_
-#define _SYS_EVENTFD_H_
+/*
+ * Copyright (C) 2008 The Android Open Source Project
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *  * Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *  * Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+ * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+ * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+ * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
+ * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+ * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
+ * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+ * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+ * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+ * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+ * SUCH DAMAGE.
+ */
+#ifndef _SYS_EVENTFD_H
+#define _SYS_EVENTFD_H
 
 #include <sys/cdefs.h>
-#include <asm/unistd.h>
-#include <asm/termbits.h>
+#include <fcntl.h>
 
 __BEGIN_DECLS
 
-extern int eventfd(int count, int flags);
+#define  EFD_CLOEXEC   O_CLOEXEC
+#define  EFD_NONBLOCK  O_NONBLOCK
+
+/* type of event counter */
+typedef uint64_t  eventfd_t;
+
+extern int eventfd(unsigned int initval, int flags);
+
+/* Compatibility with GLibc */
+extern int eventfd_read(int fd, eventfd_t *counter);
+extern int eventfd_write(int fd, const eventfd_t counter);
 
 __END_DECLS
 
-#endif /*  _SYS_EVENTFD_H_ */
+#endif /* _SYS_EVENTFD_H */
diff --git a/libc/include/sys/linux-syscalls.h b/libc/include/sys/linux-syscalls.h
index 69f421a..9702a7a 100644
--- a/libc/include/sys/linux-syscalls.h
+++ b/libc/include/sys/linux-syscalls.h
@@ -182,9 +182,9 @@
 #define __NR_inotify_init                 (__NR_SYSCALL_BASE + 316)
 #define __NR_inotify_add_watch            (__NR_SYSCALL_BASE + 317)
 #define __NR_inotify_rm_watch             (__NR_SYSCALL_BASE + 318)
+#define __NR_eventfd2                     (__NR_SYSCALL_BASE + 356)
 #define __NR_ARM_set_tls                  (__NR_SYSCALL_BASE + 983045)
 #define __NR_ARM_cacheflush               (__NR_SYSCALL_BASE + 983042)
-#define __NR_eventfd                      (__NR_SYSCALL_BASE + 351)
 #endif
 
 #ifdef __i386__
@@ -226,7 +226,7 @@
 #define __NR_inotify_init                 (__NR_SYSCALL_BASE + 291)
 #define __NR_inotify_add_watch            (__NR_SYSCALL_BASE + 292)
 #define __NR_inotify_rm_watch             (__NR_SYSCALL_BASE + 293)
-#define __NR_eventfd                      (__NR_SYSCALL_BASE + 323)
+#define __NR_eventfd2                     (__NR_SYSCALL_BASE + 328)
 #endif
 
 #if defined(__SH3__) || defined(__SH4__) 
@@ -284,7 +284,7 @@
 #define __NR_inotify_init                 (__NR_SYSCALL_BASE + 290)
 #define __NR_inotify_add_watch            (__NR_SYSCALL_BASE + 291)
 #define __NR_inotify_rm_watch             (__NR_SYSCALL_BASE + 292)
-#define __NR_eventfd                      (__NR_SYSCALL_BASE + 323)
+#define __NR_eventfd2                     (__NR_SYSCALL_BASE + 328)
 #endif
 
 #endif
diff --git a/libc/include/sys/linux-unistd.h b/libc/include/sys/linux-unistd.h
index 36a549a..48c5c77 100644
--- a/libc/include/sys/linux-unistd.h
+++ b/libc/include/sys/linux-unistd.h
@@ -202,6 +202,7 @@
 int              inotify_add_watch (int, const char *, unsigned int);
 int              inotify_rm_watch (int, unsigned int);
 int              poll (struct pollfd *, unsigned int, long);
+int              eventfd (unsigned int, int);
 int              __set_tls (void*);
 int              cacheflush (long start, long end, long flags);
 int              eventfd (int count, int flags);
diff --git a/libc/unistd/eventfd.c b/libc/unistd/eventfd.c
new file mode 100644
index 0000000..a487043
--- /dev/null
+++ b/libc/unistd/eventfd.c
@@ -0,0 +1,25 @@
+#include <sys/eventfd.h>
+#include <unistd.h>
+
+/* We duplicate the GLibc error semantics, which are poorly defined
+ * if the read() or write() does not return the proper number of bytes.
+ */
+int eventfd_read(int fd, eventfd_t *counter)
+{
+    int ret = read(fd, counter, sizeof(*counter));
+
+    if (ret == sizeof(*counter))
+        return 0;
+
+    return -1;
+}
+
+int eventfd_write(int fd, eventfd_t counter)
+{
+    int ret = write(fd, &counter, sizeof(counter));
+
+    if (ret == sizeof(counter))
+        return 0;
+
+    return -1;
+}
