This is the mail archive of the libc-alpha@sourceware.org mailing list for the glibc project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Add Linux PTRACE_EVENT_STOP


On 02/07/2017 12:32 AM, Dmitry V. Levin wrote:
On Tue, Feb 07, 2017 at 12:06:05AM -0800, Kir Kolyshkin wrote:
Add PTRACE_EVENT_STOP value to Linux's sys/ptrace.h, modify related
comments accordingly.

This constant initially appeared in Linux 3.1 (kernel commit 3544d72a,
"ptrace: implement PTRACE_SEIZE") but its value has changed later
in Linux 3.4 (kernel commit 5cdf389a, "ptrace: renumber
PTRACE_EVENT_STOP so that future new options and events can match").

The comment is also taken from the above commit.

This constant is used by e.g. strace, CRIU, Mozilla RR.
JFTR, strace has a workaround for this early PTRACE_EVENT_STOP bug:

#ifdef PTRACE_EVENT_STOP
/* Linux 3.1 - 3.3 releases had a broken value.  It was fixed in 3.4.  */
# if PTRACE_EVENT_STOP == 7
#  undef PTRACE_EVENT_STOP
# endif
#endif
#ifndef PTRACE_EVENT_STOP
# define PTRACE_EVENT_STOP      128
#endif

In CRIU, we just define it to a correct value (and do not include linux/ptrace.h
as there can be conflicts between sys/ptrace.h and kernel/ptrace.h; in fact
there is one in musl libc).

Would be good for glibc headers to provide the value though.


2017-02-06  Kir Kolyshkin  <kir@openvz.org>

	* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h: Add PTRACE_EVENT_STOP.
It should rather be

	* sysdeps/unix/sysv/linux/aarch64/sys/ptrace.h (__ptrace_eventcodes):
	Add PTRACE_EVENT_STOP.

Thanks! I can send v2, but am not sure if I should, as it is minor
and the patch is already ack'ed.


	* sysdeps/unix/sysv/linux/ia64/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/powerpc/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/sparc/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/sys/ptrace.h: Likewise.
	* sysdeps/unix/sysv/linux/tile/sys/ptrace.h: Likewise.
The whole change LGTM.




Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]