* futex.c (SYS_FUNC(futex)) <FUTEX_WAKE_OP>: compare function does not
  have FUTEX_OP_OPARG_SHIFT flag and occupies 4 bits from bit 24 to bit
  27, as per both initial and current (v4.7) kernel implementations, so
  bring futex parser in accordance with this.
---
 futex.c |    4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/futex.c b/futex.c
index 7090c7d..9268216 100644
--- a/futex.c
+++ b/futex.c
@@ -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:
-- 
1.7.10.4


------------------------------------------------------------------------------
_______________________________________________
Strace-devel mailing list
Strace-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to