This is the mail archive of the glibc-cvs@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

GNU C Library master sources branch master updated. glibc-2.23-103-ga64e3aa


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 "GNU C Library master sources".

The branch, master has been updated
       via  a64e3aadbf99dd99baab4b3b650eb6be68b3a4aa (commit)
      from  4674df40bbe2adf301fa47c8088fcb777048798b (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 -----------------------------------------------------------------
http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a64e3aadbf99dd99baab4b3b650eb6be68b3a4aa

commit a64e3aadbf99dd99baab4b3b650eb6be68b3a4aa
Author: Joseph Myers <joseph@codesourcery.com>
Date:   Thu Mar 17 19:07:39 2016 +0000

    Remove __ASSUME_EVENTFD2, move eventfd to syscalls.list.
    
    Given current Linux kernel version requirements, we can assume the
    presence of the eventfd2 syscall.  This means that __ASSUME_EVENTFD2
    can be removed, and a syscalls.list entry suffices for eventfd instead
    of needing a .c file.  This patch implements those changes.
    
    Tested for x86_64 and x86 (not that that means much, given the lack of
    testsuite coverage for eventfd).
    
    	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_EVENTFD2):
    	Remove macro.
    	* sysdeps/unix/sysv/linux/eventfd.c: Remove file.
    	* sysdeps/unix/sysv/linux/syscalls.list (eventfd): New syscall
    	entry.

diff --git a/ChangeLog b/ChangeLog
index 9b321ec..ad37067 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,11 @@
 2016-03-17  Joseph Myers  <joseph@codesourcery.com>
 
+	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_EVENTFD2):
+	Remove macro.
+	* sysdeps/unix/sysv/linux/eventfd.c: Remove file.
+	* sysdeps/unix/sysv/linux/syscalls.list (eventfd): New syscall
+	entry.
+
 	* sysdeps/unix/sysv/linux/kernel-features.h (__ASSUME_FALLOCATE):
 	Remove macro.
 	* sysdeps/unix/sysv/linux/wordsize-64/posix_fallocate.c: Do not
diff --git a/sysdeps/unix/sysv/linux/eventfd.c b/sysdeps/unix/sysv/linux/eventfd.c
deleted file mode 100644
index ba193ba..0000000
--- a/sysdeps/unix/sysv/linux/eventfd.c
+++ /dev/null
@@ -1,51 +0,0 @@
-/* Copyright (C) 2007-2016 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 <sys/eventfd.h>
-#include <sysdep.h>
-#include <kernel-features.h>
-
-
-int
-eventfd (unsigned int count, int flags)
-{
-#ifdef __NR_eventfd2
-  int res = INLINE_SYSCALL (eventfd2, 2, count, flags);
-# ifndef __ASSUME_EVENTFD2
-  if (res != -1 || errno != ENOSYS)
-# endif
-    return res;
-#endif
-
-#ifndef __ASSUME_EVENTFD2
-  /* The old system call has no flag parameter which is bad.  So we have
-     to wait until we have to support to pass additional values to the
-     kernel (sys_indirect) before implementing setting flags like
-     O_NONBLOCK etc.  */
-  if (flags != 0)
-    return INLINE_SYSCALL_ERROR_RETURN_VALUE (EINVAL);
-
-# ifdef __NR_eventfd
-  return INLINE_SYSCALL (eventfd, 1, count);
-# else
-  return INLINE_SYSCALL_ERROR_RETURN_VALUE (ENOSYS);
-# endif
-#elif !defined __NR_eventfd2
-# error "__ASSUME_EVENTFD2 defined but not __NR_eventfd2"
-#endif
-}
diff --git a/sysdeps/unix/sysv/linux/kernel-features.h b/sysdeps/unix/sysv/linux/kernel-features.h
index 51cd63c..34a7bd2 100644
--- a/sysdeps/unix/sysv/linux/kernel-features.h
+++ b/sysdeps/unix/sysv/linux/kernel-features.h
@@ -83,7 +83,6 @@
    2.6.27.  */
 #define __ASSUME_IN_NONBLOCK	1
 #define __ASSUME_PIPE2		1
-#define __ASSUME_EVENTFD2	1
 #define __ASSUME_SIGNALFD4	1
 #define __ASSUME_DUP3		1
 
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index afaf033..7ae2541 100644
--- a/sysdeps/unix/sysv/linux/syscalls.list
+++ b/sysdeps/unix/sysv/linux/syscalls.list
@@ -13,6 +13,7 @@ epoll_create	EXTRA	epoll_create	i:i	epoll_create
 epoll_create1	EXTRA	epoll_create1	i:i	epoll_create1
 epoll_ctl	EXTRA	epoll_ctl	i:iiip	epoll_ctl
 epoll_wait	EXTRA	epoll_wait	Ci:ipii	epoll_wait
+eventfd		EXTRA	eventfd2	i:ii	eventfd
 execve		-	execve		i:spp	__execve	execve
 fdatasync	-	fdatasync	Ci:i	fdatasync
 flock		-	flock		i:ii	__flock		flock

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog                                 |    6 +++
 sysdeps/unix/sysv/linux/eventfd.c         |   51 -----------------------------
 sysdeps/unix/sysv/linux/kernel-features.h |    1 -
 sysdeps/unix/sysv/linux/syscalls.list     |    1 +
 4 files changed, 7 insertions(+), 52 deletions(-)
 delete mode 100644 sysdeps/unix/sysv/linux/eventfd.c


hooks/post-receive
-- 
GNU C Library master sources


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]