[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 6/6] linux-user: Use qemu_getauxval for AT_EXECFD
From: |
Richard Henderson |
Subject: |
[Qemu-devel] [PATCH v3 6/6] linux-user: Use qemu_getauxval for AT_EXECFD |
Date: |
Thu, 17 Oct 2013 08:29:41 -0700 |
Signed-off-by: Richard Henderson <address@hidden>
---
linux-user/main.c | 32 ++++++--------------------------
1 file changed, 6 insertions(+), 26 deletions(-)
diff --git a/linux-user/main.c b/linux-user/main.c
index 50db755..54f71fe 100644
--- a/linux-user/main.c
+++ b/linux-user/main.c
@@ -3663,26 +3663,6 @@ static int parse_args(int argc, char **argv)
return optind;
}
-static int get_execfd(char **envp)
-{
- typedef struct {
- long a_type;
- long a_val;
- } auxv_t;
- auxv_t *auxv;
-
- while (*envp++ != NULL) {
- ;
- }
-
- for (auxv = (auxv_t *)envp; auxv->a_type != AT_NULL; auxv++) {
- if (auxv->a_type == AT_EXECFD) {
- return auxv->a_val;
- }
- }
- return -1;
-}
-
int main(int argc, char **argv, char **envp)
{
struct target_pt_regs regs1, *regs = ®s1;
@@ -3876,13 +3856,13 @@ int main(int argc, char **argv, char **envp)
env->opaque = ts;
task_settid(ts);
- execfd = get_execfd(envp);
- if (execfd < 0) {
+ execfd = qemu_getauxval(AT_EXECFD);
+ if (execfd == 0) {
execfd = open(filename, O_RDONLY);
- }
- if (execfd < 0) {
- printf("Error while loading %s: %s\n", filename, strerror(-execfd));
- _exit(1);
+ if (execfd < 0) {
+ printf("Error while loading %s: %s\n", filename, strerror(errno));
+ _exit(1);
+ }
}
ret = loader_exec(execfd, filename, target_argv, target_environ, regs,
--
1.8.3.1
- [Qemu-devel] [PATCH v3 0/6] Improve getauxval support, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 2/6] tcg-ppc64: Use qemu_getauxval, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 1/6] osdep: Create qemu_getauxval and qemu_init_auxval, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 3/6] tcg-arm: Use qemu_getauxval, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 5/6] util: Use qemu_getauxval in linux qemu_cache_utils_init, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 4/6] tcg-s390: Use qemu_getauxval in query_facilities, Richard Henderson, 2013/10/17
- [Qemu-devel] [PATCH v3 6/6] linux-user: Use qemu_getauxval for AT_EXECFD,
Richard Henderson <=
- Re: [Qemu-devel] [PATCH v3 0/6] Improve getauxval support, Richard Henderson, 2013/10/28