This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
Re: Problem with threaded program
At 06:49 PM 12/2/01, you wrote:
>On Sun, Dec 02, 2001 at 01:40:25PM -0500, Andrew Cagney wrote:
>
> >
> > Ah, looks like the GDB is corrupting a threaded programs FP registers
> > problem.
> >
> > I'm 99% certain this is in the thread-db/kernel interface that GDB is
> > using. Each time this crops up, the problem gets resolved with a
> > kernel/library update.
> >
> > If someone can point out a definitive explination I'll add it to the
> > 5.1.1 PROBLEMS file. That way it is at least clearly documented.
> >
> > The apparent 4.18 -> 5.0 ``breakage'' would have occured because GDB
> > switched to using the thread-db/kernel interface.
>
>Well, it happens every time we try to step over an fstpl instruction.
>We never call any of the SETREGS or POKE variants, only GETREGS and
>GETFPXREGS; I don't see how it could really be our bug.
>
>Note that in the non-threaded case we never call PTRACE_GETFPXREGS at
>all. That's:
> - an inefficency in the thread code, not surprisingly
> - highly suggestive of a kernel bug.
>
>My money's on the kernel, but I don't have time to debug this just now.
Daniel,
I don't know what the division of labor is between gdb and the kernel for
situations like this, so I can't comment on that. I can report, however,
that the problem doesn't occur with gdb-4.18. I had previously tested with
an old copy of gdb-4.18. To remove one possible difference, I have tested
for the problem using copies of both gdb-4.18 and gdb-5.1 built today under
the 2.4.16 kernel. gdb-4.18 works properly and gdb-5.1 shows the
problem. If the problem is in the kernel, then 4.18 and 5.1 must be using
different capabilities ...
David