projects
/
musl
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix arm __tlsdesc_dynamic when built as thumb code without __ARM_ARCH>=5
[musl]
/
src
/
process
/
fexecve.c
diff --git
a/src/process/fexecve.c
b/src/process/fexecve.c
index
6507b42
..
554c198
100644
(file)
--- a/
src/process/fexecve.c
+++ b/
src/process/fexecve.c
@@
-1,10
+1,13
@@
+#define _GNU_SOURCE
#include <unistd.h>
#include <errno.h>
#include <unistd.h>
#include <errno.h>
-
-void __procfdname(char *, unsigned);
+#include <fcntl.h>
+#include "syscall.h"
int fexecve(int fd, char *const argv[], char *const envp[])
{
int fexecve(int fd, char *const argv[], char *const envp[])
{
+ int r = __syscall(SYS_execveat, fd, "", argv, envp, AT_EMPTY_PATH);
+ if (r != -ENOSYS) return __syscall_ret(r);
char buf[15 + 3*sizeof(int)];
__procfdname(buf, fd);
execve(buf, argv, envp);
char buf[15 + 3*sizeof(int)];
__procfdname(buf, fd);
execve(buf, argv, envp);