Source-Changes-D archive

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

Re: CVS commit: src/doc



On 02.01.2017 04:44, David Holland wrote:
> On Sat, Dec 31, 2016 at 08:57:16PM +0000, Kamil Rytarowski wrote:
>  > Update TODO.ptrace
>  > 
>  > Mark exect(3) for removal, there is no use-case for it. exec() is already
>  > monitored and emits SIGTRAP when traced.
> 
> Historically exect() is used by debuggers to start debuggees. While
> it's equivalent to using PT_TRACE_ME followed by execve(), I think the
> result is that the new process first stops immediately after the exec
> finishes so that the debugger doesn't have to worry about stepping
> through the exec call in its own code.
> 
> This doesn't mean it shouldn't go away (or as much away as it can,
> that is, to COMPAT_70) but I'm not convinced there's no case for it.
> 

So, can I change exect(3) to something like:

int
exect(const char *path, char *const argv[], char *const envp[])
{
    if (ptrace(PT_TRACE_ME, 0, NULL, 0) == -1)
        return -1;
    return execve(path, argv, envp);
}

The current implementation of exect(3) (at least philosophically)
predates SIGTRAP on exec().

Personally, I have no opinion neither preference on it either way.

Attachment: signature.asc
Description: OpenPGP digital signature



Home | Main Index | Thread Index | Old Index