This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Move execve to syscalls.list (bug 14138)
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: <libc-alpha at sourceware dot org>
- Date: Wed, 1 Oct 2014 13:39:23 +0000
- Subject: Move execve to syscalls.list (bug 14138)
- Authentication-results: sourceware.org; auth=none
Continuing the move of syscall definitions to syscalls.list, where
previous cleanups have made this possible, this patch moves the
definition of execve. (In this case, it was the removal of bounded
pointers support, rather than old kernel support, which made the move
possible.)
Tested for x86_64.
(This patch is independent of my other pending patches for such moves,
<https://sourceware.org/ml/libc-alpha/2014-09/msg00546.html> and
<https://sourceware.org/ml/libc-alpha/2014-09/msg00559.html>.)
2014-10-01 Joseph Myers <joseph@codesourcery.com>
[BZ #14138]
* sysdeps/unix/sysv/linux/execve.c: Remove file.
* sysdeps/unix/sysv/linux/syscalls.list (execve): Add syscall.
diff --git a/sysdeps/unix/sysv/linux/execve.c b/sysdeps/unix/sysv/linux/execve.c
deleted file mode 100644
index db96226..0000000
--- a/sysdeps/unix/sysv/linux/execve.c
+++ /dev/null
@@ -1,35 +0,0 @@
-/* Copyright (C) 1999-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 <sysdep.h>
-#include <alloca.h>
-#include <sys/syscall.h>
-
-/* Consider moving to syscalls.list. */
-
-int
-__execve (file, argv, envp)
- const char *file;
- char *const argv[];
- char *const envp[];
-{
- return INLINE_SYSCALL (execve, 3, file, argv, envp);
-}
-weak_alias (__execve, execve)
diff --git a/sysdeps/unix/sysv/linux/syscalls.list b/sysdeps/unix/sysv/linux/syscalls.list
index 5e3968a..ddec198 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
+execve - execve i:spp __execve execve
fdatasync - fdatasync Ci:i fdatasync
flock - flock i:ii __flock flock
get_kernel_syms EXTRA get_kernel_syms i:p get_kernel_syms
--
Joseph S. Myers
joseph@codesourcery.com