Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH 1/1] package/uclibc: Add eventfd_read() and eventfd_write()
@ 2014-10-24 20:43 Bernd Kuhls
  2014-10-25  0:16 ` Peter Korsgaard
  2014-12-08 22:25 ` Yann E. MORIN
  0 siblings, 2 replies; 7+ messages in thread
From: Bernd Kuhls @ 2014-10-24 20:43 UTC (permalink / raw)
  To: buildroot

Needed for upcoming eventfd support in Kodi:
https://github.com/FernetMenta/xbmc/commit/1030119691a67511b6e9a27abdec474525de8d26

Runtime test was positive:
22:13:39 T:3035360160  NOTICE: Thread FDEventMonitor start, auto delete: false

Downloaded from Openembedded:
https://github.com/openembedded/oe-core/blob/master/meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch

This function needs CONFIG_EVENTFD enabled in kernel and the following line to be
added to package/kodi/Config.in when the eventfd support becomes part of upstream:
depends on !BR2_TOOLCHAIN_EXTERNAL_UCLIBC

Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
---
 ...c-0065-Add-eventfd_read-and-eventfd_write.patch |  131 ++++++++++++++++++++
 1 file changed, 131 insertions(+)
 create mode 100644 package/uclibc/0.9.33.2/uclibc-0065-Add-eventfd_read-and-eventfd_write.patch

diff --git a/package/uclibc/0.9.33.2/uclibc-0065-Add-eventfd_read-and-eventfd_write.patch b/package/uclibc/0.9.33.2/uclibc-0065-Add-eventfd_read-and-eventfd_write.patch
new file mode 100644
index 0000000..bfe02a7
--- /dev/null
+++ b/package/uclibc/0.9.33.2/uclibc-0065-Add-eventfd_read-and-eventfd_write.patch
@@ -0,0 +1,131 @@
+Add eventfd_read() and eventfd_write()
+
+Needed for upcoming eventfd support in Kodi:
+https://github.com/FernetMenta/xbmc/commit/1030119691a67511b6e9a27abdec474525de8d26
+
+Downloaded from Openembedded:
+https://github.com/openembedded/oe-core/blob/master/meta/recipes-core/uclibc/uclibc-git/0001-Add-eventfd_read-and-eventfd_write.patch
+
+Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
+
+
+From e3aae24ede969e2dede1aa19c2ee520cab71ce11 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 20 Feb 2014 00:30:18 -0800
+Subject: [PATCH 1/3] Add eventfd_read() and eventfd_write()
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+---
+ libc/sysdeps/linux/common/Makefile.in     |  2 ++
+ libc/sysdeps/linux/common/eventfd_read.c  | 27 +++++++++++++++++++++++++++
+ libc/sysdeps/linux/common/eventfd_write.c | 28 ++++++++++++++++++++++++++++
+ libc/sysdeps/linux/common/sys/eventfd.h   |  4 ----
+ 4 files changed, 57 insertions(+), 4 deletions(-)
+ create mode 100644 libc/sysdeps/linux/common/eventfd_read.c
+ create mode 100644 libc/sysdeps/linux/common/eventfd_write.c
+
+diff --git a/libc/sysdeps/linux/common/Makefile.in b/libc/sysdeps/linux/common/Makefile.in
+index dbf0b0f..45d2e21 100644
+--- a/libc/sysdeps/linux/common/Makefile.in
++++ b/libc/sysdeps/linux/common/Makefile.in
+@@ -25,6 +25,8 @@ CSRC-$(UCLIBC_LINUX_SPECIFIC) += \
+ 	capset.c \
+ 	dup3.c \
+ 	eventfd.c \
++	eventfd_read.c \
++	eventfd_write.c \
+ 	inotify.c \
+ 	ioperm.c \
+ 	iopl.c \
+diff --git a/libc/sysdeps/linux/common/eventfd_read.c b/libc/sysdeps/linux/common/eventfd_read.c
+new file mode 100644
+index 0000000..75f2aaa
+--- /dev/null
++++ b/libc/sysdeps/linux/common/eventfd_read.c
+@@ -0,0 +1,27 @@
++/* Copyright (C) 2007-2014 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 <unistd.h>
++#include <sys/eventfd.h>
++
++
++int
++eventfd_read (int fd, eventfd_t *value)
++{
++  return read (fd, value, sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
++}
+diff --git a/libc/sysdeps/linux/common/eventfd_write.c b/libc/sysdeps/linux/common/eventfd_write.c
+new file mode 100644
+index 0000000..e1509cf
+--- /dev/null
++++ b/libc/sysdeps/linux/common/eventfd_write.c
+@@ -0,0 +1,28 @@
++/* Copyright (C) 2007-2014 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 <unistd.h>
++#include <sys/eventfd.h>
++
++
++int
++eventfd_write (int fd, eventfd_t value)
++{
++  return write (fd, &value,
++		sizeof (eventfd_t)) != sizeof (eventfd_t) ? -1 : 0;
++}
+diff --git a/libc/sysdeps/linux/common/sys/eventfd.h b/libc/sysdeps/linux/common/sys/eventfd.h
+index 1bf785f..91b265b 100644
+--- a/libc/sysdeps/linux/common/sys/eventfd.h
++++ b/libc/sysdeps/linux/common/sys/eventfd.h
+@@ -33,16 +33,12 @@ __BEGIN_DECLS
+    value to COUNT.  */
+ extern int eventfd (int __count, int __flags) __THROW;
+ 
+-#if 0 /* not (yet) implemented in uClibc */
+-
+ /* Read event counter and possibly wait for events.  */
+ extern int eventfd_read (int __fd, eventfd_t *__value);
+ 
+ /* Increment event counter.  */
+ extern int eventfd_write (int __fd, eventfd_t __value);
+ 
+-#endif
+-
+ __END_DECLS
+ 
+ #endif /* sys/eventfd.h */
+-- 
+1.9.0
+
-- 
1.7.10.4

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2014-12-14 10:36 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-24 20:43 [Buildroot] [PATCH 1/1] package/uclibc: Add eventfd_read() and eventfd_write() Bernd Kuhls
2014-10-25  0:16 ` Peter Korsgaard
2014-10-25 18:22   ` Bernd Kuhls
2014-10-25 23:51     ` Peter Korsgaard
2014-10-26 14:15       ` Bernd Kuhls
2014-12-08 22:25 ` Yann E. MORIN
2014-12-14 10:36   ` Bernd Kuhls

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox