Accepting request 350891 from home:AndreasSchwab:f

- Update to strace 4.11.
  * Changes in behavior
    * Some syscalls have different names depending on architecture and
      personality.  In these cases, syscall filtering and printing now
      consistently uses the names that match corresponding __NR_* kernel
      macros of the tracee's architecture and personality.
    * Added strace prefix to all diagnostic messages.
  * Improvements
    * Enhanced and extended test suite.
    * Implemented reliable tracing of processes whose personality differs
      from the personality of strace, fixed decoding of 32-bit personality
      syscalls on 64-bit architectures.
    * When some data referenced by syscall arguments is irrelevant or cannot
      be read from tracee's memory, strace now prints its address consistently.
    * When a syscall is restarted using restart_syscall mechanism, strace now
      shows the syscall name on architectures that expose this information.
    * Print values returned by epoll_create1, eventfd, eventfd2, fanotify_init,
      inotify_init1, perf_event_open, pipe, pipe2, signalfd, signalfd4, socket,
      socketpair, timerfd, and timerfd_create syscalls, as well as F_DUPFD and
      F_DUPFD_CLOEXEC fcntl commands, as file descriptors.
    * Optimized decoding of indirect socket syscalls.
    * Implemented decoding of nanoseconds along with seconds in stat family
      syscalls (addresses Fedora bug #1251176).
    * Implemented decoding of struct statfs.f_flags in statfs syscall.
    * Implemented decoding of siginfo_t.si_syscall and siginfo_t.si_arch
      in SIGSYS signal.
    * Implemented decoding of indirect syscall on mips o32.
    * Implemented decoding of IPPROTO_IP control messages.
    * Implemented decoding of setsockopt syscall multicast arguments.
    * Enhanced decoding of struct sigevent.

OBS-URL: https://build.opensuse.org/request/show/350891
OBS-URL: https://build.opensuse.org/package/show/devel:tools/strace?expand=0&rev=56
This commit is contained in:
Martin Pluskal 2015-12-26 16:19:47 +00:00 committed by Git OBS Bridge
parent 5b1ee8eea9
commit 20b6ac4d43
21 changed files with 319 additions and 1061 deletions

View File

@ -1,26 +0,0 @@
From d76d3069526c348e6fe5d40bbbceb2ae4a928d16 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Wed, 11 Mar 2015 14:32:25 +0000
Subject: [PATCH 01/15] aarch64: fix rt_sigreturn decoding
* sigreturn.c (sys_sigreturn) [AARCH64]: Fix personality check.
---
sigreturn.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/sigreturn.c b/sigreturn.c
index 648bd0a..c253a0c 100644
--- a/sigreturn.c
+++ b/sigreturn.c
@@ -23,7 +23,7 @@ sys_sigreturn(struct tcb *tcp)
# define OFFSETOF_STRUCT_UCONTEXT_UC_SIGMASK (5 * 4 + SIZEOF_STRUCT_SIGCONTEXT)
const long addr =
# ifdef AARCH64
- current_personality == 0 ?
+ current_personality == 1 ?
(*aarch64_sp_ptr + SIZEOF_STRUCT_SIGINFO +
offsetof(struct ucontext, uc_sigmask)) :
# endif
--
2.3.3

View File

@ -1,29 +0,0 @@
From a897136801816a3b68e640b2db35e3ec65cbec31 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 11 Mar 2015 14:15:34 +0100
Subject: [PATCH 02/15] m68k: define HAVE_SA_RESTORER
On m68k the kernel sigaction structure has the sa_restorer member for
historical reasons.
* signal.c (HAVE_SA_RESTORER): Define for M68K.
---
signal.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/signal.c b/signal.c
index 710fb19..867e156 100644
--- a/signal.c
+++ b/signal.c
@@ -62,7 +62,7 @@
# define HAVE_SA_RESTORER 1
# endif
#else /* !SA_RESTORER */
-# if defined SPARC || defined SPARC64
+# if defined SPARC || defined SPARC64 || defined M68K
# define HAVE_SA_RESTORER 1
# else
# define HAVE_SA_RESTORER 0
--
2.3.3

View File

@ -1,27 +0,0 @@
From dbadf7bcc8995612d5ef737047b909e868387e37 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Mon, 9 Mar 2015 16:55:06 +0100
Subject: [PATCH 03/15] Fix decoding of mmap2 for arm
* syscallent.h (mmap2): Decode with sys_mmap_4koff, not
sys_mmap_pgoff.
---
linux/arm/syscallent.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/linux/arm/syscallent.h b/linux/arm/syscallent.h
index 52aed9e..b66a5a2 100644
--- a/linux/arm/syscallent.h
+++ b/linux/arm/syscallent.h
@@ -218,7 +218,7 @@
[189] = { 5, 0, sys_putpmsg, "putpmsg" },
[190] = { 0, TP, sys_vfork, "vfork" },
[191] = { 2, 0, sys_getrlimit, "ugetrlimit" },
-[192] = { 6, TD|TM|SI, sys_mmap_pgoff, "mmap2" },
+[192] = { 6, TD|TM|SI, sys_mmap_4koff, "mmap2" },
[193] = { 4, TF, sys_truncate64, "truncate64" },
[194] = { 4, TD, sys_ftruncate64, "ftruncate64" },
[195] = { 2, TF, sys_stat64, "stat64" },
--
2.3.3

View File

@ -1,55 +0,0 @@
From 95336102eb836ba69a2b51a3bbe733abd63bbe77 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Thu, 12 Mar 2015 16:47:38 +0100
Subject: [PATCH 05/15] tests/select.test: handle architectures using pselect6
syscall
* tests/select.awk (BEGIN): Update regexps to match both select
and pselect6 syscalls.
* tests/select.test: Probe for both select and pselect6 syscall.
---
tests/select.awk | 6 +++---
tests/select.test | 7 +++++--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/tests/select.awk b/tests/select.awk
index 142504a..688cefe 100644
--- a/tests/select.awk
+++ b/tests/select.awk
@@ -1,7 +1,7 @@
BEGIN {
- r[1] = "^select\\(2, \\[0 1\\], \\[0 1\\], \\[0 1\\], NULL\\) += 1 \\(\\)$"
- r[2] = "^select\\(-1, NULL, 0x[0-9a-f]+, NULL, NULL\\) += -1 "
- r[3] = "^select\\(1025, \\[0\\], \\[\\], NULL, \\{0, 100\\}\\) += 0 \\(Timeout\\)$"
+ r[1] = "^p?select6?\\(2, \\[0 1\\], \\[0 1\\], \\[0 1\\], NULL(, 0)?\\) += 1 \\(\\)$"
+ r[2] = "^p?select6?\\(-1, NULL, 0x[0-9a-f]+, NULL, NULL(, 0)?\\) += -1 "
+ r[3] = "^p?select6?\\(1025, \\[0\\], \\[\\], NULL, \\{0, 100(000)?\\}(, 0)?\\) += 0 \\(Timeout\\)$"
r[4] = "^\\+\\+\\+ exited with 0 \\+\\+\\+$"
lines = 4
fail = 0
diff --git a/tests/select.test b/tests/select.test
index bd3066b..5d5fe54 100755
--- a/tests/select.test
+++ b/tests/select.test
@@ -6,13 +6,16 @@
check_prog awk
-$STRACE -eselect -h > /dev/null ||
+syscall=
+$STRACE -epselect6 -h > /dev/null && syscall=$syscall,pselect6
+$STRACE -eselect -h > /dev/null && syscall=$syscall,select
+test -n "$syscall" ||
skip_ 'select syscall is not supported on this architecture'
./select ||
framework_skip_ 'select syscall does not behave as expected'
-args='-eselect ./select'
+args="-e$syscall ./select"
$STRACE -o "$LOG" $args || {
cat "$LOG"
fail_ "$STRACE $args failed"
--
2.3.3

View File

@ -1,47 +0,0 @@
From 0e3811d7914f209858cf4e445221fd65644cc94b Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Thu, 12 Mar 2015 18:07:00 +0100
Subject: [PATCH 06/15] aarch64: fix ioctl decoding
* linux/aarch64/ioctls_inc0.h: Rename from ioctls_inc1.h.
* linux/aarch64/ioctls_inc1.h: Rename from ioctls_inc0.h.
* linux/aarch64/ioctls_arch0.h: Rename from ioctls_arch1.h.
* linux/aarch64/ioctls_arch1.h: Rename from ioctls_arch0.h.
---
linux/aarch64/ioctls_arch0.h | 2 +-
linux/aarch64/ioctls_arch1.h | 2 +-
linux/aarch64/ioctls_inc0.h | 2 +-
linux/aarch64/ioctls_inc1.h | 2 +-
4 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/linux/aarch64/ioctls_arch0.h b/linux/aarch64/ioctls_arch0.h
index 6a674cc..b722d22 100644
--- a/linux/aarch64/ioctls_arch0.h
+++ b/linux/aarch64/ioctls_arch0.h
@@ -1 +1 @@
-/* Generated by ioctls_gen.sh from definitions found in $linux/arch/arm64/include/ tree. */
+#include "arm/ioctls_arch0.h"
diff --git a/linux/aarch64/ioctls_arch1.h b/linux/aarch64/ioctls_arch1.h
index b722d22..6a674cc 100644
--- a/linux/aarch64/ioctls_arch1.h
+++ b/linux/aarch64/ioctls_arch1.h
@@ -1 +1 @@
-#include "arm/ioctls_arch0.h"
+/* Generated by ioctls_gen.sh from definitions found in $linux/arch/arm64/include/ tree. */
diff --git a/linux/aarch64/ioctls_inc0.h b/linux/aarch64/ioctls_inc0.h
index f9939fa..46c11b1 100644
--- a/linux/aarch64/ioctls_inc0.h
+++ b/linux/aarch64/ioctls_inc0.h
@@ -1 +1 @@
-#include "64/ioctls_inc.h"
+#include "arm/ioctls_inc0.h"
diff --git a/linux/aarch64/ioctls_inc1.h b/linux/aarch64/ioctls_inc1.h
index 46c11b1..f9939fa 100644
--- a/linux/aarch64/ioctls_inc1.h
+++ b/linux/aarch64/ioctls_inc1.h
@@ -1 +1 @@
-#include "arm/ioctls_inc0.h"
+#include "64/ioctls_inc.h"
--
2.3.3

View File

@ -1,40 +0,0 @@
From 712f0e12bd3cc2059229cbe301192768ab7fea07 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 11 Mar 2015 15:08:42 +0100
Subject: [PATCH 07/15] m68k: fix sigreturn decoding
* sigreturn.c (sys_sigreturn) [M68K]: Fetch the words of the
signal mask from the proper place.
---
sigreturn.c | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/sigreturn.c b/sigreturn.c
index c253a0c..365ef1a 100644
--- a/sigreturn.c
+++ b/sigreturn.c
@@ -128,8 +128,20 @@ sys_sigreturn(struct tcb *tcp)
long addr;
if (upeek(tcp->pid, 4*PT_USP, &addr) < 0)
return 0;
+ /* Fetch pointer to struct sigcontext. */
+ if (umove(tcp, addr + 2 * sizeof(int), &addr) < 0)
+ return 0;
+ unsigned long mask[NSIG / 8 / sizeof(long)];
+ /* Fetch first word of signal mask. */
+ if (umove(tcp, addr, &mask[0]) < 0)
+ return 0;
+ /* Fetch remaining words of signal mask, located
+ immediately before. */
+ addr -= sizeof(mask) - sizeof(long);
+ if (umoven(tcp, addr, sizeof(mask) - sizeof(long), (char *) &mask[1]) < 0)
+ return 0;
tprints("{mask=");
- print_sigset_addr_len(tcp, addr, NSIG / 8);
+ tprintsigmask_addr("", mask);
tprints("}");
}
#elif defined(ALPHA)
--
2.3.3

View File

@ -1,109 +0,0 @@
From fa5ce3724646faf3d1a1f379e4046e307df92952 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 11 Mar 2015 12:33:30 +0100
Subject: [PATCH 08/15] Fix crash in ipc_sem test
Properly use union semun as argument of semctl.
* tests/ipc_sem.c (main): Properly use union semun as argument of
semctl. Don't handle EFAULT specially.
* tests/ipc_sem.test: Revert last change.
---
tests/ipc_sem.c | 24 ++++++++++++++++--------
tests/ipc_sem.test | 19 ++++---------------
2 files changed, 20 insertions(+), 23 deletions(-)
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index eddddd4..9373482 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -2,10 +2,19 @@
#include <errno.h>
#include <sys/sem.h>
+union semun {
+ int val; /* Value for SETVAL */
+ struct semid_ds *buf; /* Buffer for IPC_STAT, IPC_SET */
+ unsigned short *array; /* Array for GETALL, SETALL */
+ struct seminfo *__buf; /* Buffer for IPC_INFO
+ (Linux-specific) */
+};
+
int
main(void)
{
int rc, id;
+ union semun un;
struct semid_ds ds;
struct seminfo info;
@@ -14,16 +23,19 @@ main(void)
return 77;
printf("semget\\(IPC_PRIVATE, 1, 0600\\) += %d\n", id);
- if (semctl(id, 0, IPC_STAT, &ds))
+ un.buf = &ds;
+ if (semctl(id, 0, IPC_STAT, un))
goto fail;
printf("semctl\\(%d, 0, IPC_STAT, %p\\) += 0\n", id, &ds);
- int max = semctl(0, 0, SEM_INFO, &info);
+ un.__buf = &info;
+ int max = semctl(0, 0, SEM_INFO, un);
if (max < 0)
goto fail;
printf("semctl\\(0, 0, SEM_INFO, %p\\) += %d\n", &info, max);
- rc = semctl(id, 0, SEM_STAT, &ds);
+ un.buf = &ds;
+ rc = semctl(id, 0, SEM_STAT, un);
if (rc != id) {
/*
* In linux < v2.6.24-rc1 the first argument must be
@@ -44,10 +56,6 @@ done:
return rc;
fail:
- /*
- * If the kernel failed, SKIP the test. We want to ignore
- * such failures as they're out of scope for this project.
- */
- rc = errno == EFAULT ? 77 : 1;
+ rc = 1;
goto done;
}
diff --git a/tests/ipc_sem.test b/tests/ipc_sem.test
index f448b66..b8fa545 100755
--- a/tests/ipc_sem.test
+++ b/tests/ipc_sem.test
@@ -8,23 +8,12 @@ check_prog grep
OUT="$LOG.out"
-./ipc_sem > "$OUT" || {
- case $? in
- 77)
- rm -f "$OUT"
+./ipc_sem > /dev/null || {
+ if [ $? -eq 77 ]; then
framework_skip_ 'ipc semget/semctl syscalls do not behave as expected'
- ;;
- 99)
- cat "$OUT"
- rm -f "$OUT"
- framework_failure_ 'broken kernel detected'
- ;;
- *)
- cat "$OUT"
- rm -f "$OUT"
+ else
fail_ 'ipc_sem failed'
- ;;
- esac
+ fi
}
args='-eipc ./ipc_sem'
--
2.3.3

View File

@ -1,136 +0,0 @@
From 3aa45f3cc2103c7bf80c45452c29e7b7e7dda089 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 11 Mar 2015 17:47:56 +0100
Subject: [PATCH 09/15] tests/ipc_*: match IPC_64 flag
* tests/ipc_msg.c (main): Optionally match "IPC_64|" in the third
argument of the ipc call.
* tests/ipc_sem.c (main): Likewise.
* tests/ipc_shm.c (main): Likewise.
---
tests/ipc_msg.c | 10 +++++-----
tests/ipc_sem.c | 10 +++++-----
tests/ipc_shm.c | 10 +++++-----
3 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/tests/ipc_msg.c b/tests/ipc_msg.c
index 1917086..ed2bfd6 100644
--- a/tests/ipc_msg.c
+++ b/tests/ipc_msg.c
@@ -15,12 +15,12 @@ main(void)
if (msgctl(id, IPC_STAT, &ds))
goto fail;
- printf("msgctl\\(%d, IPC_STAT, %p\\) += 0\n", id, &ds);
+ printf("msgctl\\(%d, (IPC_64\\|)?IPC_STAT, %p\\) += 0\n", id, &ds);
int max = msgctl(0, MSG_INFO, &ds);
if (max < 0)
goto fail;
- printf("msgctl\\(0, MSG_INFO, %p\\) += %d\n", &ds, max);
+ printf("msgctl\\(0, (IPC_64\\|)?MSG_INFO, %p\\) += %d\n", &ds, max);
rc = msgctl(id, MSG_STAT, &ds);
if (rc != id) {
@@ -30,16 +30,16 @@ main(void)
*/
if (-1 != rc || EINVAL != errno)
goto fail;
- printf("msgctl\\(%d, MSG_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
+ printf("msgctl\\(%d, (IPC_64\\|)?MSG_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
} else {
- printf("msgctl\\(%d, MSG_STAT, %p\\) += %d\n", id, &ds, id);
+ printf("msgctl\\(%d, (IPC_64\\|)?MSG_STAT, %p\\) += %d\n", id, &ds, id);
}
rc = 0;
done:
if (msgctl(id, IPC_RMID, 0) < 0)
return 1;
- printf("msgctl\\(%d, IPC_RMID, 0\\) += 0\n", id);
+ printf("msgctl\\(%d, (IPC_64\\|)?IPC_RMID, 0\\) += 0\n", id);
return rc;
fail:
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index 9373482..d92ec60 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -26,13 +26,13 @@ main(void)
un.buf = &ds;
if (semctl(id, 0, IPC_STAT, un))
goto fail;
- printf("semctl\\(%d, 0, IPC_STAT, %p\\) += 0\n", id, &ds);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, %p\\) += 0\n", id, &ds);
un.__buf = &info;
int max = semctl(0, 0, SEM_INFO, un);
if (max < 0)
goto fail;
- printf("semctl\\(0, 0, SEM_INFO, %p\\) += %d\n", &info, max);
+ printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, %p\\) += %d\n", &info, max);
un.buf = &ds;
rc = semctl(id, 0, SEM_STAT, un);
@@ -43,16 +43,16 @@ main(void)
*/
if (-1 != rc || EINVAL != errno)
goto fail;
- printf("semctl\\(%d, 0, SEM_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
} else {
- printf("semctl\\(%d, 0, SEM_STAT, %p\\) += %d\n", id, &ds, id);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, %p\\) += %d\n", id, &ds, id);
}
rc = 0;
done:
if (semctl(id, 0, IPC_RMID, 0) < 0)
return 1;
- printf("semctl\\(%d, 0, IPC_RMID, 0\\) += 0\n", id);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, 0\\) += 0\n", id);
return rc;
fail:
diff --git a/tests/ipc_shm.c b/tests/ipc_shm.c
index f1995d3..5888dc6 100644
--- a/tests/ipc_shm.c
+++ b/tests/ipc_shm.c
@@ -15,12 +15,12 @@ main(void)
if (shmctl(id, IPC_STAT, &ds))
goto fail;
- printf("shmctl\\(%d, IPC_STAT, %p\\) += 0\n", id, &ds);
+ printf("shmctl\\(%d, (IPC_64\\|)?IPC_STAT, %p\\) += 0\n", id, &ds);
int max = shmctl(0, SHM_INFO, &ds);
if (max < 0)
goto fail;
- printf("shmctl\\(0, SHM_INFO, %p\\) += %d\n", &ds, max);
+ printf("shmctl\\(0, (IPC_64\\|)?SHM_INFO, %p\\) += %d\n", &ds, max);
rc = shmctl(id, SHM_STAT, &ds);
if (rc != id) {
@@ -30,16 +30,16 @@ main(void)
*/
if (-1 != rc || EINVAL != errno)
goto fail;
- printf("shmctl\\(%d, SHM_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
+ printf("shmctl\\(%d, (IPC_64\\|)?SHM_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
} else {
- printf("shmctl\\(%d, SHM_STAT, %p\\) += %d\n", id, &ds, id);
+ printf("shmctl\\(%d, (IPC_64\\|)?SHM_STAT, %p\\) += %d\n", id, &ds, id);
}
rc = 0;
done:
if (shmctl(id, IPC_RMID, 0) < 0)
return 1;
- printf("shmctl\\(%d, IPC_RMID, 0\\) += 0\n", id);
+ printf("shmctl\\(%d, (IPC_64\\|)?IPC_RMID, 0\\) += 0\n", id);
return rc;
fail:
--
2.3.3

View File

@ -1,87 +0,0 @@
From 499c5aad0c2a4204ce28bd7761cabe9ceba57bec Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Wed, 11 Mar 2015 14:57:57 +0000
Subject: [PATCH 10/15] semctl: fix indirect syscall decoding
On architectures where the semctl call is implemented by the ipc syscall
the 4th argument is passed by reference.
* ipc.c (sys_semctl): Handle the indirect ipc subcall case.
* tests/ipc_sem.c (main): Optionally match indirection
in the 4th argument of semctl calls.
Reported-by: Andreas Schwab <schwab@suse.de>
---
ipc.c | 11 ++++++++++-
tests/ipc_sem.c | 14 +++++++++-----
2 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/ipc.c b/ipc.c
index 4387772..a94f572 100644
--- a/ipc.c
+++ b/ipc.c
@@ -281,7 +281,16 @@ int sys_semctl(struct tcb *tcp)
if (entering(tcp)) {
tprintf("%lu, %lu, ", tcp->u_arg[0], tcp->u_arg[1]);
PRINTCTL(semctl_flags, tcp->u_arg[2], "SEM_???");
- tprintf(", %#lx", tcp->u_arg[3]);
+ tprints(", ");
+ if (indirect_ipccall(tcp)) {
+ if (current_wordsize == sizeof(int)) {
+ printnum_int(tcp, tcp->u_arg[3], "%#x");
+ } else {
+ printnum_long(tcp, tcp->u_arg[3], "%#lx");
+ }
+ } else {
+ tprintf("%#lx", tcp->u_arg[3]);
+ }
}
return 0;
}
diff --git a/tests/ipc_sem.c b/tests/ipc_sem.c
index d92ec60..64450b8 100644
--- a/tests/ipc_sem.c
+++ b/tests/ipc_sem.c
@@ -26,13 +26,15 @@ main(void)
un.buf = &ds;
if (semctl(id, 0, IPC_STAT, un))
goto fail;
- printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, %p\\) += 0\n", id, &ds);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_STAT, \\[?%p\\]?\\) += 0\n",
+ id, &ds);
un.__buf = &info;
int max = semctl(0, 0, SEM_INFO, un);
if (max < 0)
goto fail;
- printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, %p\\) += %d\n", &info, max);
+ printf("semctl\\(0, 0, (IPC_64\\|)?SEM_INFO, \\[?%p\\]?\\) += %d\n",
+ &info, max);
un.buf = &ds;
rc = semctl(id, 0, SEM_STAT, un);
@@ -43,16 +45,18 @@ main(void)
*/
if (-1 != rc || EINVAL != errno)
goto fail;
- printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, %p\\) += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, \\[?%p\\]?\\)"
+ " += -1 EINVAL \\(Invalid argument\\)\n", id, &ds);
} else {
- printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, %p\\) += %d\n", id, &ds, id);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?SEM_STAT, \\[?%p\\]?\\)"
+ " += %d\n", id, &ds, id);
}
rc = 0;
done:
if (semctl(id, 0, IPC_RMID, 0) < 0)
return 1;
- printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, 0\\) += 0\n", id);
+ printf("semctl\\(%d, 0, (IPC_64\\|)?IPC_RMID, \\[?0\\]?\\) += 0\n", id);
return rc;
fail:
--
2.3.3

View File

@ -1,61 +0,0 @@
From bce1ff5f881c3fe7b921637af2ee06dd0cdceef4 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Thu, 12 Mar 2015 16:59:01 +0000
Subject: [PATCH 11/15] Fix stat64 st_[acm]time decoding for personalities with
32-bit time_t
STRUCT_STAT.st_[acm]time are declared as unsigned int for some
personalities, while time_t is signed.
* printstat.h (DO_PRINTSTAT): If st_[acm]time have the same size as int,
explicitly cast them to int.
* tests/stat64-v.test: Test that negative time_t is decoded properly.
Reported-by: Andreas Schwab <schwab@suse.de>
---
printstat.h | 14 +++++++++++---
tests/stat64-v.test | 3 +--
2 files changed, 12 insertions(+), 5 deletions(-)
diff --git a/printstat.h b/printstat.h
index dd0b02e..53112fe 100644
--- a/printstat.h
+++ b/printstat.h
@@ -57,9 +57,17 @@ DO_PRINTSTAT(struct tcb *tcp, const STRUCT_STAT *statbuf)
}
if (!abbrev(tcp)) {
- tprintf("st_atime=%s, ", sprinttime(statbuf->st_atime));
- tprintf("st_mtime=%s, ", sprinttime(statbuf->st_mtime));
- tprintf("st_ctime=%s", sprinttime(statbuf->st_ctime));
+ const bool cast = sizeof(statbuf->st_atime) == sizeof(int);
+
+ tprintf("st_atime=%s, ",
+ sprinttime(cast ? (time_t) (int) statbuf->st_atime:
+ (time_t) statbuf->st_atime));
+ tprintf("st_mtime=%s, ",
+ sprinttime(cast ? (time_t) (int) statbuf->st_mtime:
+ (time_t) statbuf->st_mtime));
+ tprintf("st_ctime=%s",
+ sprinttime(cast ? (time_t) (int) statbuf->st_ctime:
+ (time_t) statbuf->st_ctime));
#if HAVE_STRUCT_STAT_ST_FLAGS
tprintf(", st_flags=%u", (unsigned int) statbuf->st_flags);
#endif
diff --git a/tests/stat64-v.test b/tests/stat64-v.test
index 4915386..f03254a 100755
--- a/tests/stat64-v.test
+++ b/tests/stat64-v.test
@@ -22,8 +22,7 @@ $truncate_cmd > "$OUT" 2>&1 || {
./stat $sample > /dev/null ||
fail_ 'stat failed'
-touch -d '1970-01-01 36028797018963968 seconds' $sample ||
-touch -t 0102030405 $sample
+touch -d '1970-01-01 -42 seconds' $sample
for f in $sample . /dev/null; do
args="-v -efile ./stat $f"
--
2.3.3

View File

@ -1,102 +0,0 @@
From 33557845adbd7b516e9113306515d9b107177830 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Wed, 11 Mar 2015 17:49:06 +0100
Subject: [PATCH 12/15] tests: verify that all patterns match
* tests/ipc_msg.test: Count matches to verify that all patterns match.
* tests/ipc_sem.test: Likewise.
* tests/ipc_shm.test: Likewise.
* tests/stat32-v.test: Likewise.
* tests/stat64-v.test: Likewise.
---
tests/ipc_msg.test | 6 ++++--
tests/ipc_sem.test | 4 +++-
tests/ipc_shm.test | 6 ++++--
tests/stat32-v.test | 4 +++-
tests/stat64-v.test | 4 +++-
5 files changed, 17 insertions(+), 7 deletions(-)
diff --git a/tests/ipc_msg.test b/tests/ipc_msg.test
index b1ebe6d..e0d27ed 100755
--- a/tests/ipc_msg.test
+++ b/tests/ipc_msg.test
@@ -16,9 +16,11 @@ OUT="$LOG.out"
fi
}
-args="-eipc ./ipc_msg $f"
+args="-eipc ./ipc_msg"
$STRACE -o "$LOG" $args > "$OUT" &&
-LC_ALL=C grep -E -x -f "$OUT" "$LOG" > /dev/null || {
+exp_lines=$(wc -l < "$OUT") &&
+matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
+test $exp_lines -eq $matched_lines || {
cat "$OUT" "$LOG"
fail_ "$STRACE $args output mismatch"
}
diff --git a/tests/ipc_sem.test b/tests/ipc_sem.test
index b8fa545..ef957c3 100755
--- a/tests/ipc_sem.test
+++ b/tests/ipc_sem.test
@@ -18,7 +18,9 @@ OUT="$LOG.out"
args='-eipc ./ipc_sem'
$STRACE -o "$LOG" $args > "$OUT" &&
-LC_ALL=C grep -E -x -f "$OUT" "$LOG" > /dev/null || {
+exp_lines=$(wc -l < "$OUT") &&
+matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
+test $exp_lines -eq $matched_lines || {
cat "$OUT" "$LOG"
fail_ "$STRACE $args output mismatch"
}
diff --git a/tests/ipc_shm.test b/tests/ipc_shm.test
index b09dc2b..de8b47c 100755
--- a/tests/ipc_shm.test
+++ b/tests/ipc_shm.test
@@ -16,9 +16,11 @@ OUT="$LOG.out"
fi
}
-args="-eipc ./ipc_shm $f"
+args="-eipc ./ipc_shm"
$STRACE -o "$LOG" $args > "$OUT" &&
-LC_ALL=C grep -E -x -f "$OUT" "$LOG" > /dev/null || {
+exp_lines=$(wc -l < "$OUT") &&
+matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
+test $exp_lines -eq $matched_lines || {
cat "$OUT" "$LOG"
fail_ "$STRACE $args output mismatch"
}
diff --git a/tests/stat32-v.test b/tests/stat32-v.test
index 7f8cb4a..67eb5ed 100755
--- a/tests/stat32-v.test
+++ b/tests/stat32-v.test
@@ -33,7 +33,9 @@ touch -t 0102030405 $sample
for f in $sample . /dev/null; do
args="-v -efile ./stat32 $f"
$STRACE -o "$LOG" $args > "$OUT" &&
- LC_ALL=C grep -E -x -f "$OUT" "$LOG" > /dev/null || {
+ exp_lines=$(wc -l < "$OUT") &&
+ matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
+ test $exp_lines -eq $matched_lines || {
cat "$OUT" "$LOG"
fail_ "$STRACE $args output mismatch"
}
diff --git a/tests/stat64-v.test b/tests/stat64-v.test
index f03254a..785403d 100755
--- a/tests/stat64-v.test
+++ b/tests/stat64-v.test
@@ -27,7 +27,9 @@ touch -d '1970-01-01 -42 seconds' $sample
for f in $sample . /dev/null; do
args="-v -efile ./stat $f"
$STRACE -o "$LOG" $args > "$OUT" &&
- LC_ALL=C grep -E -x -f "$OUT" "$LOG" > /dev/null || {
+ exp_lines=$(wc -l < "$OUT") &&
+ matched_lines=$(LC_ALL=C grep -c -E -x -f "$OUT" "$LOG") &&
+ test $exp_lines -eq $matched_lines || {
cat "$OUT" "$LOG"
fail_ "$STRACE $args output mismatch"
}
--
2.3.3

View File

@ -1,27 +0,0 @@
From 71d6ffc6ed0a539257f0ec1a28d34c8d88bebce8 Mon Sep 17 00:00:00 2001
From: Andreas Schwab <schwab@suse.de>
Date: Thu, 12 Mar 2015 16:17:45 +0100
Subject: [PATCH 13/15] aarch64: properly decode generic syscalls
* linux/aarch64/syscallent1.h: Don't override entries 277 to 1023.
---
linux/aarch64/syscallent1.h | 3 ---
1 file changed, 3 deletions(-)
diff --git a/linux/aarch64/syscallent1.h b/linux/aarch64/syscallent1.h
index 4ec9665..a72bb7b 100644
--- a/linux/aarch64/syscallent1.h
+++ b/linux/aarch64/syscallent1.h
@@ -3,9 +3,6 @@
/* Arch-specific block, not used on AArch64 */
[244 ... 259] = { },
-/* Blank down to 1023 */
-[277 ... 1023] = { },
-
/* Quote from asm-generic/unistd.h:
*
* All syscalls below here should go away really,
--
2.3.3

View File

@ -1,92 +0,0 @@
From f79252f072a193bdff435afeaa6b6cd6d5c79947 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Mon, 16 Mar 2015 17:18:40 +0000
Subject: [PATCH 14/15] stat64-v.test: add newfstatat syscall support
Newer architectures have no stat syscall, so stat() is implemented there
using newfstatat syscall.
* tests/stat.c (STAT_FNAME): Rename to STAT_PREFIX. Update callers.
[_FILE_OFFSET_BITS == 64] (STAT_PREFIX): Add newfstatat support.
(main) [!NR_stat]: Add newfstatat support.
Reported-by: Andreas Schwab <schwab@suse.de>
---
tests/stat.c | 24 ++++++++++++++----------
1 file changed, 14 insertions(+), 10 deletions(-)
diff --git a/tests/stat.c b/tests/stat.c
index 21e37fb..2b04010 100644
--- a/tests/stat.c
+++ b/tests/stat.c
@@ -14,22 +14,22 @@
# include <sys/types.h>
#endif
-#undef STAT_FNAME
+#undef STAT_PREFIX
#undef NR_stat
#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
# include <sys/stat.h>
-# define STAT_FNAME "stat(64)?"
+# define STAT_PREFIX "(stat(64)?\\(|newfstatat\\(AT_FDCWD, )"
#else
# include <sys/syscall.h>
# if defined __NR_stat
# define NR_stat __NR_stat
-# define STAT_FNAME "stat"
+# define STAT_PREFIX "stat\\("
# elif defined __NR_newstat
# define NR_stat __NR_newstat
-# define STAT_FNAME "newstat"
+# define STAT_PREFIX "newstat\\("
# endif
-# ifdef STAT_FNAME
+# ifdef STAT_PREFIX
/* for S_IFMT */
# define stat libc_stat
# define stat64 libc_stat64
@@ -57,10 +57,10 @@
# define off_t __kernel_off_t
# define loff_t __kernel_loff_t
# include <asm/stat.h>
-# endif /* STAT_FNAME */
+# endif /* STAT_PREFIX */
#endif /* _FILE_OFFSET_BITS */
-#ifdef STAT_FNAME
+#ifdef STAT_PREFIX
static void
print_ftype(unsigned int mode)
@@ -115,7 +115,7 @@ main(int ac, const char **av)
assert(stat(av[1], &stb) == 0);
#endif
- printf(STAT_FNAME "\\(\"%s\", \\{", av[1]);
+ printf(STAT_PREFIX "\"%s\", \\{", av[1]);
printf("st_dev=makedev\\(%u, %u\\)",
(unsigned int) major(stb.st_dev),
(unsigned int) minor(stb.st_dev));
@@ -159,11 +159,15 @@ main(int ac, const char **av)
printf("(, st_flags=[0-9]+)?");
printf("(, st_fstype=[^,]*)?");
printf("(, st_gen=[0-9]+)?");
- printf("\\}\\) += 0\n");
+ printf("\\}");
+#ifndef NR_stat
+ printf("(, 0)?");
+#endif
+ printf("\\) += 0\n");
return 0;
}
-#else /* !STAT_FNAME */
+#else /* !STAT_PREFIX */
int main(void)
{
return 77;
--
2.3.3

View File

@ -1,142 +0,0 @@
From 68804b326709fadc7bb03f510a11771f07216a59 Mon Sep 17 00:00:00 2001
From: "Dmitry V. Levin" <ldv@altlinux.org>
Date: Mon, 16 Mar 2015 18:10:21 +0000
Subject: [PATCH 15/15] tests/uid*: use fchown* instead of chown*
Newer architectures have no chown syscall, so use fchown* syscalls
for testing printuid.
* tests/uid.test: Use fchown instead of chown.
* tests/uid.c: Test __NR_fchown instead of __NR_chown.
(main): Use __NR_fchown instead of __NR_chown.
* tests/uid32.c: Test __NR_fchown32 instead of __NR_chown32.
(main): Use __NR_fchown32 instead of __NR_chown32.
* tests/uid16.c: Test __NR_fchown and __NR_fchown32 instead
of __NR_chown and __NR_chown32.
(main): Use __NR_fchown instead of __NR_chown.
* tests/uid.awk: Update regexp.
---
tests/uid.awk | 6 +++---
tests/uid.c | 4 ++--
tests/uid.test | 2 +-
tests/uid16.c | 8 ++++----
tests/uid32.c | 4 ++--
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/tests/uid.awk b/tests/uid.awk
index c6e891a..6f07b44 100644
--- a/tests/uid.awk
+++ b/tests/uid.awk
@@ -26,9 +26,9 @@ regexp == "" {
expected = "setresuid"
regexp = "^setresuid" suffix "\\(" uid ", -1, -1\\)[[:space:]]+= 0$"
} else if (expected == "setresuid") {
- expected = "chown"
- regexp = "^chown" suffix "\\(\".\", -1, -1\\)[[:space:]]+= 0$"
- } else if (expected == "chown") {
+ expected = "fchown"
+ regexp = "^fchown" suffix "\\(1, -1, -1\\)[[:space:]]+= 0$"
+ } else if (expected == "fchown") {
expected = "1st getgroups"
regexp = "^getgroups" suffix "\\(0, NULL\\)[[:space:]]+= " r_uint "$"
} else if (expected == "1st getgroups") {
diff --git a/tests/uid.c b/tests/uid.c
index 1972044..28f548b 100644
--- a/tests/uid.c
+++ b/tests/uid.c
@@ -14,7 +14,7 @@ main(void)
&& defined(__NR_getresuid) \
&& defined(__NR_setreuid) \
&& defined(__NR_setresuid) \
- && defined(__NR_chown) \
+ && defined(__NR_fchown) \
&& defined(__NR_getgroups)
int uid;
int size;
@@ -32,7 +32,7 @@ main(void)
}
assert(syscall(__NR_setreuid, -1, -1L) == 0);
assert(syscall(__NR_setresuid, uid, -1, -1L) == 0);
- assert(syscall(__NR_chown, ".", -1, -1L) == 0);
+ assert(syscall(__NR_fchown, 1, -1, -1L) == 0);
assert((size = syscall(__NR_getgroups, 0, list)) >= 0);
assert(list = calloc(size + 1, sizeof(*list)));
assert(syscall(__NR_getgroups, size, list) == size);
diff --git a/tests/uid.test b/tests/uid.test
index f4cb8e7..d8b0261 100755
--- a/tests/uid.test
+++ b/tests/uid.test
@@ -17,7 +17,7 @@ uid="uid$s$w"
fi
}
-syscalls="getuid$s,setuid$s,getresuid$s,setreuid$s,setresuid$s,chown$s,getgroups$s"
+syscalls="getuid$s,setuid$s,getresuid$s,setreuid$s,setresuid$s,fchown$s,getgroups$s"
args="-e trace=$syscalls"
$STRACE -o "$LOG" $args ./"$uid"|| {
cat "$LOG"
diff --git a/tests/uid16.c b/tests/uid16.c
index a2006d7..c0ef120 100644
--- a/tests/uid16.c
+++ b/tests/uid16.c
@@ -15,7 +15,7 @@ main(void)
&& defined(__NR_getresuid) \
&& defined(__NR_setreuid) \
&& defined(__NR_setresuid) \
- && defined(__NR_chown) \
+ && defined(__NR_fchown) \
&& defined(__NR_getgroups) \
\
&& defined(__NR_getuid32) \
@@ -23,7 +23,7 @@ main(void)
&& defined(__NR_getresuid32) \
&& defined(__NR_setreuid32) \
&& defined(__NR_setresuid32) \
- && defined(__NR_chown32) \
+ && defined(__NR_fchown32) \
&& defined(__NR_getgroups32) \
\
&& __NR_getuid != __NR_getuid32 \
@@ -31,7 +31,7 @@ main(void)
&& __NR_getresuid != __NR_getresuid32 \
&& __NR_setreuid != __NR_setreuid32 \
&& __NR_setresuid != __NR_setresuid32 \
- && __NR_chown != __NR_chown32 \
+ && __NR_fchown != __NR_fchown32 \
&& __NR_getgroups != __NR_getgroups32 \
/**/
int uid;
@@ -65,7 +65,7 @@ main(void)
}
assert(syscall(__NR_setreuid, -1, 0xffff) == 0);
assert(syscall(__NR_setresuid, uid, -1, 0xffff) == 0);
- assert(syscall(__NR_chown, ".", -1, 0xffff) == 0);
+ assert(syscall(__NR_fchown, 1, -1, 0xffff) == 0);
assert((size = syscall(__NR_getgroups, 0, list)) >= 0);
assert(list = calloc(size + 1, sizeof(*list)));
assert(syscall(__NR_getgroups, size, list) == size);
diff --git a/tests/uid32.c b/tests/uid32.c
index 15f1202..472461f 100644
--- a/tests/uid32.c
+++ b/tests/uid32.c
@@ -14,7 +14,7 @@ main(void)
&& defined(__NR_getresuid32) \
&& defined(__NR_setreuid32) \
&& defined(__NR_setresuid32) \
- && defined(__NR_chown32) \
+ && defined(__NR_fchown32) \
&& defined(__NR_getgroups32)
int r, e, s;
int size;
@@ -25,7 +25,7 @@ main(void)
assert(syscall(__NR_getresuid32, &r, &e, &s) == 0);
assert(syscall(__NR_setreuid32, -1, -1L) == 0);
assert(syscall(__NR_setresuid32, r, -1, -1L) == 0);
- assert(syscall(__NR_chown32, ".", -1, -1L) == 0);
+ assert(syscall(__NR_fchown32, 1, -1, -1L) == 0);
assert((size = syscall(__NR_getgroups32, 0, list)) >= 0);
assert(list = calloc(size + 1, sizeof(*list)));
assert(syscall(__NR_getgroups32, size, list) == size);
--
2.3.3

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e6180d866ef9e76586b96e2ece2bfeeb3aa23f5cc88153f76e9caedd65e40ee2
size 601856

View File

@ -1,7 +0,0 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iEYEABECAAYFAlT5qCcACgkQ2XqGi/fduzrGHwCdE2xpYxfMWIXrhUgiVVCM94nv
Q+gAni8l7NGzhbDRJJFJDZJun43q/KZO
=j6cZ
-----END PGP SIGNATURE-----

3
strace-4.11.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e86a5f6cd8f941f67f3e4b28f4e60f3d9185c951cf266404533210a2e5cd8152
size 679924

17
strace-4.11.tar.xz.asc Normal file
View File

@ -0,0 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABCAAGBQJWeF9CAAoJEKgEH6g54W42te0P/A3y7+4DdsuKMxv/rQwY8E3K
9SLs6Huu0Nxf0MkcuSigizFYhShdr5dOG3OPPdY/ikx1Ev64Bh/h45Ir9sPtDvEK
PgxT09eSt+eoQB69nPcQ1qPfA6NWylQerpx7cKEMgta6yBvwKiMNmwizTZeA/21s
83HABkiSISwNPg+O5H/tSSkwielAvE5rrCN13NRvLDEJzdyNnBzn+vFZRvx7XVMx
q9U+mfpsQDI0OXjmHbv4eLNRSXk29RCuEzIfJqHqRExQ1c8F9kVbcRhkLukUVmpy
yjRZIcnNvWG/hvsFkek6P5t+CYm0Y+3BOjinIHtFeutArfEvwdyc1N6Fvz5ih40Y
wFuVLi+QOb0LENCo7IadP22Qirm5StX8LlTRxpz94sXUpCtvLcGEYDHwupO3SwrN
htwN6jbkdw+4nMK9x0bRq+0eAJACHDpfwCy8xvO8CyACBiTJP/iLaPFp+3sSCfVW
GlkoVvICMU1R2+NWU1z2UFmwMSKsRg9DP1GlwuNQd9i19z5s2rnWrO/cO+PMMHjr
ceVgyoNV4OMhzaA7l2Zv0WgETl5j587o1C1b9VL1kEbERNX0ccb40VScMuvAn+Vi
mjvOhgfUVnavtSL59yDvKYtQLyd6McYnko/VYYdmTvRXASfZlvcyzQ+hIw0QsdoD
NY/z2rfgfEUyTKtVcami
=/7vG
-----END PGP SIGNATURE-----

View File

@ -1,3 +1,97 @@
-------------------------------------------------------------------
Sat Dec 26 15:46:23 UTC 2015 - schwab@linux-m68k.org
- Update to strace 4.11.
* Changes in behavior
* Some syscalls have different names depending on architecture and
personality. In these cases, syscall filtering and printing now
consistently uses the names that match corresponding __NR_* kernel
macros of the tracee's architecture and personality.
* Added strace prefix to all diagnostic messages.
* Improvements
* Enhanced and extended test suite.
* Implemented reliable tracing of processes whose personality differs
from the personality of strace, fixed decoding of 32-bit personality
syscalls on 64-bit architectures.
* When some data referenced by syscall arguments is irrelevant or cannot
be read from tracee's memory, strace now prints its address consistently.
* When a syscall is restarted using restart_syscall mechanism, strace now
shows the syscall name on architectures that expose this information.
* Print values returned by epoll_create1, eventfd, eventfd2, fanotify_init,
inotify_init1, perf_event_open, pipe, pipe2, signalfd, signalfd4, socket,
socketpair, timerfd, and timerfd_create syscalls, as well as F_DUPFD and
F_DUPFD_CLOEXEC fcntl commands, as file descriptors.
* Optimized decoding of indirect socket syscalls.
* Implemented decoding of nanoseconds along with seconds in stat family
syscalls (addresses Fedora bug #1251176).
* Implemented decoding of struct statfs.f_flags in statfs syscall.
* Implemented decoding of siginfo_t.si_syscall and siginfo_t.si_arch
in SIGSYS signal.
* Implemented decoding of indirect syscall on mips o32.
* Implemented decoding of IPPROTO_IP control messages.
* Implemented decoding of setsockopt syscall multicast arguments.
* Enhanced decoding of struct sigevent.
* Enhanced decoding of block, loop, mtd, ptp, rtc, SG_IO, socket, tty,
and v4l2 ioctl syscall arguments.
* Enhanced decoding of epoll_create, fcntl, fcntl64, futex, getdents,
getdents64, getsockopt, io_*, mount, msgctl, prctl, quotactl, recvfrom,
sendfile, setsockopt, and shmctl syscalls.
* Implemented decoding of bpf, execveat, ioperm, iopl, kcmp, kexec_file_load,
lookup_dcookie, membarrier, memfd_create, mlock2, name_to_handle_at,
open_by_handle_at, sched_getattr, sched_setattr, and userfaultfd syscalls.
* Updated lists of AF_*, EPOLL_*, FALLOC_FL_*, F_*, INPUT_PROP_*, IPPROTO_*,
IPV6_*, IP_*, KEY_*, LOCK_*, MNT_*, MS_*, PACKET_*, PERF_FLAG_*, PF_*,
PR_*, PTRACE_O_*, RENAME_*, SCTP_*, SECBIT_*, SO_*, TCP_*, and siginfo_t
constants.
* Added Nios II architecture support.
* Added new syscall entries to match Linux 4.4.
* Bug fixes
* Fixed potential short read of strings from tracee's memory.
* Fixed -qq option in conjunction with -o option.
* Fixed filtering of <unavailable> syscalls.
* Fixed decoding of ioctl syscall command on aarch64 and 32-bit architectures
with 64-bit aligned structures.
* Fixed decoding of eventfd2, epoll_create1, signalfd4, and sync_file_range2
syscall flags arguments.
* Fixed decoding of 4th argument of clock_nanosleep syscall.
* Fixed decoding of getpagesize syscall on m68k.
* Fixed decoding of getrandom and seccomp syscalls on aarch64.
* Fixed decoding of timezone argument of gettimeofday and settimeofday
* syscalls.
* Fixed decoding of offset argument of mmap2 syscall on arm, sparc,
and sparc64.
* Fixed decoding of pipe syscall on alpha and mips.
* Fixed decoding of pipe2 syscall on ia64, sh, sparc, and sparc64.
* Fixed decoding of signal mask argument of pselect6 syscall on x32.
* Fixed decoding of signal mask of rt_sigreturn syscall on aarch64, m68k,
and x32.
* Fixed decoding of 4th argument of semctl indirect syscall.
* Fixed decoding of sa_restorer and sa_mask of sigaction syscall on m68k.
* Fixed decoding of statfs64 and fstatfs64 syscalls on arm eabi.
* Fixed decoding of struct dirent on x32.
* Fixed decoding of times syscall return value on mips n32 and x32.
* Fixed decoding of path argument of umount2 syscall
(addresses Debian bug #785050).
* Worked around a kernel bug in tracing privileged executables.
* Fixed various errors in mapping between syscall numbers and associated
information like the number of syscall arguments, the name of syscall,
and syscall decoder.
- All patches removed.
0001-aarch64-fix-rt_sigreturn-decoding.patch
0002-m68k-define-HAVE_SA_RESTORER.patch
0003-Fix-decoding-of-mmap2-for-arm.patch
0005-tests-select.test-handle-architectures-using-pselect.patch
0006-aarch64-fix-ioctl-decoding.patch
0007-m68k-fix-sigreturn-decoding.patch
0008-Fix-crash-in-ipc_sem-test.patch
0009-tests-ipc_-match-IPC_64-flag.patch
0010-semctl-fix-indirect-syscall-decoding.patch
0011-Fix-stat64-st_-acm-time-decoding-for-personalities-w.patch
0012-tests-verify-that-all-patterns-match.patch
0013-aarch64-properly-decode-generic-syscalls.patch
0014-stat64-v.test-add-newfstatat-syscall-support.patch
0015-tests-uid-use-fchown-instead-of-chown.patch
-------------------------------------------------------------------
Mon Nov 16 09:19:37 UTC 2015 - werner@suse.de

View File

@ -1,43 +1,208 @@
pub 1024D/F7DDBB3A 2005-12-19 [utgår: 2015-12-18]
uid Dmitry V. Levin (for packages) <ldv@altlinux.org>
uid Dmitry V. Levin (for packages) <ldv@altlinux.ru>
uid Dmitry V. Levin (for packages) <ldv@altlinux.com>
sub 2048g/F08DC2A4 2005-12-19 [utgår: 2015-12-18]
pub 4096R/A340AEB7 2015-10-21
uid Dmitry V. Levin <ldv@altlinux.org>
sub 4096R/39E16E36 2015-10-21 [expires: 2025-10-18]
sub 4096R/559C2508 2015-10-21 [expires: 2025-10-18]
sub 4096R/917E0309 2015-10-21 [expires: 2025-10-18]
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2.0.19 (GNU/Linux)
Version: GnuPG v2.0.22 (GNU/Linux)
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
Sl88bv4D
=rJZQ
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
fHF5wX5eev3jgv3kQaw9zhmLVKPbJFvnUzwY
=zBsc
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -17,7 +17,7 @@
Name: strace
Version: 4.10
Version: 4.11
Release: 0
Summary: A utility to trace the system calls of a program
License: BSD-3-Clause
@ -30,20 +30,6 @@ Source: http://downloads.sourceforge.net/strace/%name-%version.tar.xz
Source2: http://downloads.sourceforge.net/strace/%name-%version.tar.xz.asc
Source3: %name.keyring
Source4: baselibs.conf
Patch1: 0001-aarch64-fix-rt_sigreturn-decoding.patch
Patch2: 0002-m68k-define-HAVE_SA_RESTORER.patch
Patch3: 0003-Fix-decoding-of-mmap2-for-arm.patch
Patch5: 0005-tests-select.test-handle-architectures-using-pselect.patch
Patch6: 0006-aarch64-fix-ioctl-decoding.patch
Patch7: 0007-m68k-fix-sigreturn-decoding.patch
Patch8: 0008-Fix-crash-in-ipc_sem-test.patch
Patch9: 0009-tests-ipc_-match-IPC_64-flag.patch
Patch10: 0010-semctl-fix-indirect-syscall-decoding.patch
Patch11: 0011-Fix-stat64-st_-acm-time-decoding-for-personalities-w.patch
Patch12: 0012-tests-verify-that-all-patterns-match.patch
Patch13: 0013-aarch64-properly-decode-generic-syscalls.patch
Patch14: 0014-stat64-v.test-add-newfstatat-syscall-support.patch
Patch15: 0015-tests-uid-use-fchown-instead-of-chown.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: haveged
BuildRequires: libacl-devel
@ -81,23 +67,6 @@ Authors:
%prep
%setup -q
# This file is missing in the tarball
echo 'extern uint64_t *const aarch64_sp_ptr;
extern uint32_t *const arm_sp_ptr;' > linux/aarch64/arch_regs.h
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
%patch12 -p1
%patch13 -p1
%patch14 -p1
%patch15 -p1
%build
export CFLAGS="$RPM_OPT_FLAGS"