Gdbserver syscall clobber
Daniel Jacobowitz
drow@false.org
Mon Jul 16 19:35:00 GMT 2007
On Mon, Jul 16, 2007 at 10:43:41AM -0500, Bill Gatliff wrote:
> recv(4, 0x7ffffd60, 1, 0) = ? ERESTARTSYS (To be restarted)
> --- SIGIO (I/O possible) @ 0 (0) ---
> syscall_4294966784(0xa, 0x7ffffd34, 0x1, 0, 0x1008a3c7, 0x1008b5a3, 0x1008b5a4,
That's -512, a.k.a. the errno value used by syscall restarting. I'd
say your glibc does not obey the restartable syscall convention used
by your kernel, and when it tries to restart the syscall the errno
value is not being replaced by the syscall number. Check the assembly
for recv.
--
Daniel Jacobowitz
CodeSourcery
More information about the Gdb
mailing list