This is the mail archive of the gdb-patches@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: [RFA/testsuite] attach.exp: Add small delay in busy loop...


Joel Brobecker wrote:
Hello,

On Tue, Nov 18, 2003 at 04:26:07PM -0800, Michael Snyder wrote:

2003-11-18 J. Brobecker <brobecker@gnat.com>

      * gdb.base/attach.c: Add small delay in busy loop.
      * gdb.base/attach.exp: Make some associated adjustments.

OK to apply?

Seems to work on Linux. I'd sure like to see that backtrace test, though, to confirm that we are able to build a meaningful machine state after we attach.


Here is a new version of the patch, with the backtraces in. I do have
two FAILs though. The first FAIL comes from the following test:

   gdb_test "backtrace" \
            ".*in nanosleep ().*in small_delay ().*in main ().*" \
            "backtrace after attach2"

The logs show:

        backtrace
        #0  0x400eb3b5 in ?? () from /lib/libc.so.6
        #1  0x08048412 in small_delay () at ./gdb.base/attach.c:18
        #2  0x08048435 in main () at ./gdb.base/attach.c:29
        (gdb) FAIL: gdb.base/attach.exp: backtrace after attach2

So the problem is that GDB is unable to find the function name for
frame $0. I think this comes from these warnings while performing
the attach command:

attach 3671
Attaching to process 3671
Reading symbols from /[...]/testsuite/gdb.base/attach...done.
--> Symbols already loaded for /lib/libm.so.6
--> Symbols already loaded for /lib/libc.so.6
Symbols already loaded for /lib/ld-linux.so.2
0x400eb3b5 in ?? () from /lib/libc.so.6^M (gdb) PASS: gdb.base/attach.exp: attach2


The second FAIL is identical.

Probably should explicitly clear the symbol tables between one attach and the next.


There is another thing that I think needs mentioning. I noticed I am
the first one to introduce the use of nanosleep(). I think it's pretty
portable, but I am having doubts. Does anybody know if it's not available
on any platform. How about cygwin for instance?

Yeah, I remember having issues with it when I tried to write thread tests. I don't remember where it was missing -- maybe Solaris? I think your concern is valid -- nanosleep is not guaranteed to be available everywhere.





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