diff options
author | Eugene Syromyatnikov <evgsyr@gmail.com> | 2016-08-29 23:56:24 +0300 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2016-08-30 15:53:51 +0000 |
commit | bfa22a596fc6ae7f706b0d1321210021af8bcbab (patch) | |
tree | 535483a82c3b03180952d81de34ffebd0dc0d2a3 /futex.c | |
parent | b80894cf07bb14f15d666333d195a05bbf944a52 (diff) | |
download | strace-bfa22a596fc6ae7f706b0d1321210021af8bcbab.tar.gz |
futex: fix FUTEX_WAKE_OP compare function mask
According to the initial and current (v4.7) kernel implementations,
in FUTEX_WAKE_OP case the compare function does not have
FUTEX_OP_OPARG_SHIFT flag and occupies 4 bits starting with bit 24.
* futex.c (SYS_FUNC(futex)): Do not print FUTEX_OP_OPARG_SHIFT
for 27th bit of val3 in FUTEX_WAKE_OP case.
Diffstat (limited to 'futex.c')
-rw-r--r-- | futex.c | 4 |
1 files changed, 1 insertions, 3 deletions
@@ -92,9 +92,7 @@ SYS_FUNC(futex) tprints("FUTEX_OP_OPARG_SHIFT|"); printxval(futexwakeops, (val3 >> 28) & 0x7, "FUTEX_OP_???"); tprintf(", %u, ", (val3 >> 12) & 0xfff); - if ((val3 >> 24) & 8) - tprints("FUTEX_OP_OPARG_SHIFT|"); - printxval(futexwakecmps, (val3 >> 24) & 0x7, "FUTEX_OP_CMP_???"); + printxval(futexwakecmps, (val3 >> 24) & 0xf, "FUTEX_OP_CMP_???"); tprintf(", %u}", val3 & 0xfff); break; case FUTEX_WAIT_REQUEUE_PI: |