qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH v2 4/4] linux-user: pass strace argument in exec


From: Laurent Vivier
Subject: Re: [Qemu-devel] [PATCH v2 4/4] linux-user: pass strace argument in execve
Date: Wed, 15 Jun 2016 22:37:14 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.1.0

This is not needed: if you use QEMU_STRACE environment variable, it is
propagated to the child processes (this is also true for "-L" and
QEMU_LD_PREFIX).

In fact, your patch 2 breaks this...

Did you try to use a statically linked qemu?

IMHO, the best way to avoid environment problem is to have a qemu
ignoring it, not modifying it.

Thanks,
Laurent

Le 14/06/2016 à 21:26, Joel Holdsworth a écrit :
> ---
>  linux-user/syscall.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/linux-user/syscall.c b/linux-user/syscall.c
> index 1513f0f..00ee7a6 100644
> --- a/linux-user/syscall.c
> +++ b/linux-user/syscall.c
> @@ -6778,6 +6778,8 @@ static abi_long qemu_execve(char *filename, char 
> *argv[],
>      qemu_argc += undef_envc * 2;
>  
>      /* allocate the argument list */
> +    if (do_strace)
> +        qemu_argc++;
>      argp = qemu_argp = alloca((qemu_argc + 1) * sizeof(void *));
>  
>      /* set up the qemu arguments */
> @@ -6785,6 +6787,9 @@ static abi_long qemu_execve(char *filename, char 
> *argv[],
>      *argp++ = strdup("-L");
>      *argp++ = strdup(path("/"));
>  
> +    if (do_strace)
> +        *argp++ = strdup("-strace");
> +
>      /* add arguments for the enironment variables */
>      for (i = 0; i < def_envc; i++) {
>          *argp++ = strdup("-E");
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]