This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: Gdbserver syscall clobber
- From: Daniel Jacobowitz <drow at false dot org>
- To: Bill Gatliff <bgat at billgatliff dot com>
- Cc: gdb at sourceware dot org, linuxppc-embedded at ozlabs dot org
- Date: Mon, 16 Jul 2007 11:53:48 -0400
- Subject: Re: Gdbserver syscall clobber
- References: <469B922D.3050701@billgatliff.com>
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