This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Problem with threaded program


Kevin

Way to go fella!  I patched my gdb-5.1 source code, rebuilt, tested, and 
got the right result!

I've forwarded the news to Emmanuel Blindauer who discovered the 
problem.  I'm sure he'll be pleased.

David

At 07:03 PM 12/6/01, Kevin Buettner wrote:
>On Dec 2, 11:44am, David Relson wrote:
>
> > Here's the test program, test.c:
> >
> > #include <stdlib.h>
> > int main() {
> >    char *t="1.0";
> >    double d=0;
> >    d=strtod(t,(char **)NULL);
> >    printf( "%f\n", d );
> >    return 0;
> > }
> >
> > Build using "gcc -g -lpthread test.c"; run using "gdb a.out".
> >
> > If you step through the program one line at a time and display variable d
> > after each assignment, the strtod() call seems to return
> > "nan(0x8000000000000)", which is also shown by print().
> >
> > If you restart the program with a breakpoint at printf(), let it run, and
> > display d at the breakpoint, the value shown is "1.000000" which is 
> correct.
> >
> > Is this a defect in gdb, or is my analysis wrong?
>
>It's a defect in gdb.
>
>I've just posted a patch which fixes this bug.  See
>
>     http://sources.redhat.com/ml/gdb-patches/2001-12/msg00183.html
>
>It hasn't been approved yet, but once it has, I'll push for getting
>it into 5.1.1 too.
>
>Thanks,
>
>Kevin


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]