Eugene Syromyatnikov 64fd0ce626 syscall.c: add ability to set personality based on GETREGSET iov size
Some architectures (aarch64, s390x) use only PTRACE_GETREGSET interface
and use its size to detect current personality. Let's generalise this
approach and also avoid subtle errors when we get register but forget to
update personality, at least for those architectures.

Note that in order to employ this behaviour, architecture has to use
PTRACE_GETREGSET exclusively (no HAVE_GETREGS_OLD) and should declare
appropriate ARCH_PERSONALITY_*_IOV_SIZE macros.

* syscall.c (get_regs) [ptrace_getregset_or_getregs &&
!HAVE_GETREGS_OLD]: Call update_personality based on the value returned
in the iov_len field by PTRACE_GETREGSET.  Warn once if the returned
iov_len is unknown.
2018-01-16 22:54:38 +00:00
2018-01-15 22:47:38 +00:00
2017-11-25 01:55:44 +00:00
2017-06-17 22:54:08 +00:00
2018-01-14 23:08:10 +00:00
2017-11-29 03:52:27 +00:00
2018-01-07 03:11:21 +00:00
2015-07-20 22:03:07 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-07-08 01:49:00 +00:00
2017-07-08 01:49:00 +00:00
2017-07-08 01:49:00 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2009-07-08 21:01:21 +00:00
2015-07-20 22:03:07 +00:00
2018-01-07 16:46:32 +00:00
2017-07-24 12:10:54 +00:00
2017-07-24 12:10:54 +00:00
2017-09-17 12:04:11 +00:00
2017-12-14 00:05:04 +00:00
2015-08-28 08:46:23 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-06-17 22:54:08 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-03-05 16:29:41 +00:00
2017-11-22 00:25:42 +00:00
2017-06-17 22:54:08 +00:00
2017-12-23 02:53:54 +00:00
2017-06-17 22:54:08 +00:00
2015-11-22 23:10:12 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-09-17 12:04:11 +00:00
2017-06-17 22:54:08 +00:00
2017-05-22 17:33:51 +00:00
2017-09-19 11:32:05 +00:00
2017-11-10 17:35:18 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2018-01-15 22:47:38 +00:00
2017-12-23 02:10:13 +00:00
2015-09-16 00:14:55 +00:00
2018-01-07 16:46:32 +00:00
2016-12-27 23:32:44 +00:00
2017-06-17 22:54:08 +00:00
2017-05-22 17:33:51 +00:00
2017-06-17 22:54:08 +00:00
2018-01-07 00:05:42 +00:00
2016-12-26 10:43:35 +00:00
2017-07-21 01:30:26 +00:00
2017-07-09 18:43:34 +00:00
2017-07-24 12:10:54 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2016-08-08 09:54:01 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-12-23 02:53:54 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-02-27 23:11:07 +00:00
2016-08-08 09:54:01 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2016-08-08 09:54:01 +00:00
2017-05-22 17:33:51 +00:00
2017-09-05 10:09:10 +02:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-06-17 22:54:08 +00:00
2018-01-11 15:54:33 +00:00
2017-12-03 19:53:48 +01:00
2016-12-01 00:05:09 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-06-17 22:54:08 +00:00
2017-04-21 19:49:03 +00:00
2017-05-22 17:33:51 +00:00
2017-05-22 17:33:51 +00:00
2017-07-24 12:10:54 +00:00
2017-06-17 22:54:08 +00:00
2017-05-22 17:33:51 +00:00
2017-11-29 03:52:27 +00:00
2017-12-23 02:53:54 +00:00
2017-09-05 10:09:10 +02:00
2015-12-07 00:38:38 +00:00
2017-09-05 10:09:10 +02:00
2017-01-20 18:30:11 +00:00
2017-05-22 17:33:51 +00:00
2018-01-07 00:05:42 +00:00
2017-06-17 22:54:08 +00:00
2016-08-08 09:54:01 +00:00
2018-01-11 15:54:33 +00:00

strace - the linux syscall tracer

This is strace -- a diagnostic, debugging and instructional userspace utility with a traditional command-line interface for Linux. It is used to monitor and tamper with interactions between processes and the Linux kernel, which include system calls, signal deliveries, and changes of process state. The operation of strace is made possible by the kernel feature known as ptrace.

strace is released under a Berkeley-style license at the request of Paul Kranenburg; see the file COPYING for details.

See the file NEWS for information on what has changed in recent versions.

Please read the file INSTALL-git for installation instructions.

The user discussion and development of strace take place on the strace mailing list -- everyone is welcome to post bug reports, feature requests, comments and patches to strace-devel@lists.sourceforge.net. The mailing list archives are available at https://sourceforge.net/p/strace/mailman/strace-devel/ and other archival sites.

Build Status Code Coverage

Description
No description provided
Readme 17 MiB
Languages
C 92.2%
Shell 3.4%
M4 1.4%
Makefile 0.8%
Roff 0.7%
Other 1.5%