Comment 2 for bug 615974

Revision history for this message
Ulrich Weigand (uweigand) wrote :

The underlying problem is a kernel issue. If we have a ptrace intercept in an interrupted system call, and GDB changes the PC in order to effect an inferior call, the kernel's do_signal routine still thinks it needs to decrement the PC in order to restart the system call. This causes execution to continue at the wrong address.

This problem was fixed in various platform specific do_signal routines over the years, but apparently not yet on ARM.