native_exec with default options broken: the retaddr is never changed so we lose control
In d7c0a6fb a check for native_exec_retakeover was added around the code that changes the return address:
+ if (DYNAMO_OPTION(native_exec_retakeover) && !is_native_pc(*app_sp)) {
<change retaddr>
Why does it check that off-by-default option? That breaks native exec: we don't change the retaddr so we just lose control.
How do the native exec tests that don't pass -native_exec_retakeover pass? They should all lose control (except the retakeover test). In fact, looking at their output, it looks like they do lose control! The tests only check for output, not whether under DR, so they still pass.
So it looks like native_exec has been broken since d7c0a6fb.