Re: ptrace unexpected SIGTRAP (trace bit) on x86, x86_64 kernel 2.6.13.2

From: Daniel Jacobowitz
Date: Thu Sep 29 2005 - 19:48:24 EST


On Thu, Sep 29, 2005 at 08:58:25AM -0700, John Reiser wrote:
> Ptrace is giving unexpected SIGTRAP (trace bit) in kernel 2.6.13.2
> on both x86 and x86_64.
>
> The 8-instruction program below just execve()s itself over and over.
> When run under gdb, the first user-visible SIGTRAP is expected due to
> the 'int3'. But the second user-visible SIGTRAP is unexpected, as
> there is no reason to trap.
>
> Changing the line "nop; int3" to "nop; nop" gives a program that
> just spins merrily when run under /bin/bash. But gdb sees a SIGTRAP,
> with the $pc pointing after the second 'nop'. When run under strace
> (strace gdb ./execve; (gdb) run), the process spins merrily with
> no unexpected SIGTRAP.

Most likely GDB is receiving the SIGTRAP generated by execve(). I
don't know why it would appear to be after the int3 rather than before.
GDB has strictly limited support for programs which exec, mostly due to
thorny user interface issues.

--
Daniel Jacobowitz
CodeSourcery, LLC
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/