summary refs log tree commit diff
path: root/sysdeps
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2014-10-01 20:58:20 +0000
committerJoseph Myers <joseph@codesourcery.com>2014-10-01 20:58:20 +0000
commit6268f532b6c6be7971cb57883d042bd771966548 (patch)
tree265c862f1a4ec239f9192de67ff6510ef370657e /sysdeps
parent7a34129911093dac61d6f2927cd8125f8e6d9945 (diff)
downloadglibc-6268f532b6c6be7971cb57883d042bd771966548.tar.gz
glibc-6268f532b6c6be7971cb57883d042bd771966548.tar.xz
glibc-6268f532b6c6be7971cb57883d042bd771966548.zip
Move execve to syscalls.list (bug 14138).
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.

	[BZ #14138]
	* sysdeps/unix/sysv/linux/execve.c: Remove file.
	* sysdeps/unix/sysv/linux/syscalls.list (execve): Add syscall.
Diffstat (limited to 'sysdeps')
-rw-r--r--sysdeps/unix/sysv/linux/execve.c35
-rw-r--r--sysdeps/unix/sysv/linux/syscalls.list1
2 files changed, 1 insertions, 35 deletions
diff --git a/sysdeps/unix/sysv/linux/execve.c b/sysdeps/unix/sysv/linux/execve.c
deleted file mode 100644
index db96226f65..0000000000
--- 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 5e3968a28b..ddec198279 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