glibc/sysdeps/unix
Stefan Liebler b08a6a0dea S390: Sync ptrace.h with kernel. [BZ #21539]
This patch removes PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS
and PTRACE_SETFPREGS as these requests does not exist on s390 kernel.

But the kernel has support for PTRACE_SINGLEBLOCK,
PTRACE_SECCOMP_GET_FILTER, PTRACE_PEEKUSR_AREA, PTRACE_POKEUSR_AREA,
PTRACE_GET_LAST_BREAK, PTRACE_ENABLE_TE, PTRACE_DISABLE_TE and
PTRACE_TE_ABORT_RAND.  Thus those are defined now.

The current kernel s390 specific ptrace.h file also defines
PTRACE_PEEKTEXT_AREA, PTRACE_PEEKDATA_AREA, PTRACE_POKETEXT_AREA,
PTRACE_POKEDATA_AREA, PTRACE_PEEK_SYSTEM_CALL, PTRACE_POKE_SYSTEM_CALL
and PTRACE_PROT, but those requests are not supported.
Thus those defines are skipped in glibc ptrace.h.

There were old includes of ptrace.h in sysdeps/s390/fpu/fesetenv.c.
The ptrace feature isn't used there anymore, thus I removed the includes.

Before this patch, <glibc>/sysdeps/unix/sysv/linux/s390/sys/ptrace.h
uses ptrace-request 12 for PTRACE_GETREGS,
but <kernel>/include/uapi/linux/ptrace.h uses 12 for PTRACE_SINGLEBLOCK.

The s390 kernel has never had support for PTRACE_GETREGS!
Thus glibc ptrace.h is adjusted to match kernel ptrace.h.

The new s390 specific test ensures, that PTRACE_SINGLEBLOCK defined
in glibc works as expected.  If the kernel would interpret it as
PTRACE_GETREGS, then the testcase will not make any progress
and will time out.

ChangeLog:

	[BZ #21539]
	* NEWS: Mention s390 ptrace request changes.
	* sysdeps/unix/sysv/linux/s390/sys/ptrace.h
	(PTRACE_GETREGS, PTRACE_SETREGS, PTRACE_GETFPREGS,
	PTRACE_SETFPREGS): Remove enum constant.
	(PT_GETREGS, PT_SETREGS, PT_GETFPREGS, T_SETFPREGS):
	Remove defines.
	(PTRACE_SINGLEBLOCK): New enum constant.
	(PT_STEPBLOCK): New define.
	(PTRACE_PEEKUSR_AREA, PTRACE_POKEUSR_AREA,
	PTRACE_GET_LAST_BREAK, PTRACE_ENABLE_TE, PTRACE_DISABLE_TE,
	PTRACE_TE_ABORT_RAND): New enum constant and define.
	* sysdeps/s390/fpu/fesetenv.c: Remove ptrace.h includes.
	* sysdeps/unix/sysv/linux/s390/tst-ptrace-singleblock.c:
	New file.
	* sysdeps/unix/sysv/linux/s390/Makefile: Add test.
2017-06-19 16:27:25 +02:00
..
alpha Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
arm Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
bsd Define SIG_HOLD for XPG4 (bug 21538). 2017-06-05 10:19:03 +00:00
i386 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
inet
mips Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
powerpc Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sh Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
sysv/linux S390: Sync ptrace.h with kernel. [BZ #21539] 2017-06-19 16:27:25 +02:00
x86_64 Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
clock_gettime.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
clock_nanosleep.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
clock_settime.c Narrowing the visibility of libc-internal.h even further. 2017-03-01 20:33:46 -05:00
confstr.h
get_child_max.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getlogin_r.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getlogin.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
getpagesize.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
grantpt.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
ifreq.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
Implies
make-syscalls.sh Do not stack-protect ifunc resolvers [BZ #7065] 2016-12-26 10:08:41 +01:00
Makefile Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
s-proto-cancel.S
s-proto.S
setxid.h
sockatmark.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
stime.c Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscall-template.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscall.S Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00
syscalls.list posix: Consolidate Linux fsync syscall 2017-05-18 18:06:47 -03:00
sysdep.h Update copyright dates with scripts/update-copyrights. 2017-01-01 00:14:16 +00:00