On BSD systems, ptrace(PT_DETACH) uses a third argument for
resume address, with the magic value (void *)1 to resume where
process stopped. Specifying NULL there leads to a crash because
process resumes at address 0.
We introduce an OS-dependent _PTRACE_DETACH macro to specify
third argument as NULL on Linux and (void *)1 on other systems.
Always using (void *)1 could be another solution, since basic
tests suggests passing (void *)1 as third argument on Linux
does not cause harm.
From upstream
|
||
---|---|---|
.. | ||
patch-ai | ||
patch-configure.ac | ||
patch-main_command.c | ||
patch-main_util.c | ||
patch-src_lib_debug.c | ||
patch-src_lib_udpfromto.c |