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 Tue, Feb 07, 2017 at 08:32:55PM -0800, Kir Kolyshkin wrote:
> 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).

In strace where both headers are included, there are some workarounds
for conflicting definitions of three structures.

> 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.

In glibc, ChangeLog file is still maintained manually and the correction
is indeed very minor, so no need for v2.

> >>	* 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.

Applied, thanks.


-- 
ldv

Attachment: pgpFa1kST5ddV.pgp
Description: PGP signature


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