https://bugs.kde.org/show_bug.cgi?id=506453

Florian Krohm <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Incorrect behaviour with    |Unexpected behaviour with
                   |vex-guest-chase=yes (=      |IR injection and
                   |default)                    |vex-guest-chase=yes
             Status|REPORTED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #1 from Florian Krohm <[email protected]> ---
Valgrind's behaviour is not incorrect as originally stated. It was just
unexpected because I had 
falsely believed that chasing (which is enabled by default) would stop at
conditional branches.
Chasing into VALGRIND_VEX_INJECT_IR causes vex_inject_ir to be invoked which
will add IRStmt(s)
to the current super block. And we don't want that to happen speculatively.

The remedy would be to teach function chase_into_ok to not chase into
VALGRIND_VEX_INJECT_IR.
But that is not so easy. We would have to recognise, on all platforms, the
"special opcode preamble"
which, in general, is several bytes long. And we do not really know whether
those bytes are all
accessible. Perhaps there is a way....

To me the effort seems not warranted because IR injection is currently only
used for testing purposes.
Hence, not performance critical.
Therefore, the workaround is to use --vex-guest-chase=no on the command line
when doing IR injection.

Fixed in 0329ab2021727242f31adfd665f602a8a6163aa8

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to